واجهة المطورين

Inboxy API

اربط أنظمتك بـ Inboxy: أرسل كل أنواع رسائل واتساب، وأنشئ القوالب والحملات والرسائل المجدولة، وأدر جهات الاتصال والمحادثات والعملاء المحتملين والتذاكر والطلبات والمنتجات والـ Webhooks — بمفتاح API واحد.

571 نقطة وصول

البداية السريعة

  1. من لوحة التحكم افتح صفحة API وأنشئ مفتاحاً.
  2. اختر الصلاحيات التي يحتاجها تكاملك فقط. يظهر المفتاح مرة واحدة — احفظه بأمان.
  3. أرسل المفتاح في ترويسة Authorization مع كل طلب.
curl "https://api.inboxy.chat/api/v1/public/contacts?pageSize=5" \
  -H "Authorization: Bearer inboxy_your_token"

أرسل أول رسالة واتساب

خارج نافذة الـ 24 ساعة يلزم قالب معتمد (GET /whatsapp/templates). داخلها يمكنك إرسال نص عادي. يحتاج المفتاح صلاحية messages:send.

curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/template" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{"to":"966500000000","templateName":"order_shipped","languageCode":"ar"}'

الصلاحيات

ai:readai:writeanalytics:readautomations:readautomations:writecampaigns:readcampaigns:writechannels:readchannels:writecontacts:readcontacts:writeconversations:readconversations:writeecommerce:readecommerce:writeknowledge:readknowledge:writeleads:readleads:writelibrary:readlibrary:writemeetings:readmeetings:writemessages:readmessages:sendorders:readorders:writeproducts:readproducts:writetasks:readtasks:writeteam:readtemplates:readtemplates:writetickets:readtickets:writewebhooks:readwebhooks:write

الردود والأخطاء

مسارات /public ترجع هذا الشكل للنجاح، وباقي المسارات ترجع كائن JSON الخاص بها. كل خطأ على أي مسار بالمفتاح يأتي بالشكل الثاني دائماً، وأي حقول إضافية تكون داخل details.

{
  "success": true,
  "data": [ ... ],
  "meta": { "total": 120, "page": 1, "pageSize": 20, "totalPages": 6 }
}

{
  "success": false,
  "error": {
    "code": "INSUFFICIENT_PERMISSIONS",
    "message": "API token lacks required permission: templates:write",
    "details": { }
  }
}
400BAD_REQUEST · VALIDATION_ERRORالبيانات المرسلة غير صالحة، والرسالة توضح الحقل.
401UNAUTHORIZEDالمفتاح مفقود أو ملغى أو منتهي، أو المسار لا يقبل المفاتيح.
403INSUFFICIENT_PERMISSIONSالمفتاح لا يملك الصلاحية المطلوبة.
403SUBSCRIPTION_NOT_ACTIVE · FORBIDDENالباقة أو القناة لا تسمح بهذا الإجراء.
404NOT_FOUNDالمورد غير موجود في شركتك.
409CONFLICTحالة المورد لا تسمح بهذا الإجراء.
429TOO_MANY_REQUESTS60 طلباً في الدقيقة لكل مفتاح.
500INTERNAL_ERRORخطأ من جهتنا. أعد المحاولة لاحقاً وأرسل قيمة X-Request-Id للدعم.

الـ Webhooks

سجّل رابطاً عاماً (HTTPS) ليصلك كل ما يحدث في Inboxy لحظة حدوثه: الرسائل على كل القنوات، نقرات الأزرار، إيصالات التسليم والقراءة، التذاكر، العملاء المحتملون، وكل تغيّر في طلبات المتاجر.

curl -X POST "https://api.inboxy.chat/api/v1/webhooks" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{"name":"CRM sync","url":"https://example.com/inboxy","events":["message.received","ecommerce.order.*","ticket.*"]}'
  • اشترك بأسماء أحداث محددة، أو بـ "*" لكل شيء، أو ببادئة مثل "whatsapp.*".
  • نعتبر أي رد 2xx خلال 30 ثانية نجاحاً. غير ذلك نعيد المحاولة 3 مرات افتراضياً (حتى 9) بتأخير متضاعف يبدأ من ثانية.
  • بعد 50 فشلاً متتالياً (قابلة للتغيير) يتوقف الـ Webhook تلقائياً ونبلغ مدير الشركة. يمكنك إعادة إرسال الإخفاقات من آخر 7 أيام عبر /replay.
  • قد يصل الحدث نفسه أكثر من مرة عند إعادة المحاولة — استخدم الحقل id لمنع التكرار، وقارن sequence لتجاهل حدث أقدم وصل متأخراً. version يحدد شكل الحدث (v1).

شكل الحدث

{
  "id": "cmfk2x9q10001abcd",
  "event": "ecommerce.order.shipped",
  "version": "v1",
  "sequence": 1792492929512123,
  "timestamp": "2026-09-15T18:42:10.512Z",
  "data": {
    "source": "orders",
    "occurredAt": "2026-09-15T18:42:09.000Z",
    "channelId": null,
    "conversationId": "cmfk1...",
    "contactId": "cmfk0...",
    "messageId": null,
    "externalMessageId": null,
    "payload": { "orderId": "...", "platform": "SHOPIFY", "status": "shipped" }
  }
}

التحقق من التوقيع

كل طلب يحمل X-Inboxy-Timestamp و X-Inboxy-Signature = sha256=HMAC_SHA256(secret, "timestamp.body"). احصل على السر من GET /webhooks/:id/secret.

import crypto from 'node:crypto';

// Use the raw request body — not a re-serialized object.
export function isFromInboxy(rawBody, headers, secret) {
  const timestamp = headers['x-inboxy-timestamp'];
  const received = headers['x-inboxy-signature'] || '';
  if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) return false; // 5-minute window
  const expected = 'sha256=' + crypto
    .createHmac('sha256', secret)
    .update(`${timestamp}.${rawBody}`)
    .digest('hex');
  return received.length === expected.length &&
    crypto.timingSafeEqual(Buffer.from(received), Buffer.from(expected));
}

الأحداث (77)

message.*
message.receivedWhen a new message is received
message.sentWhen a message is sent
message.status_updatedWhen an outbound message is delivered, read or fails
contact.*
contact.createdWhen a new contact is created
contact.updatedWhen a contact is updated
conversation.*
conversation.openedWhen a conversation is opened
conversation.closedWhen a conversation is closed
conversation.assignedWhen a conversation is assigned to an agent
conversation.createdA new conversation starts on any channel
conversation.resolvedA conversation is closed (legacy event name: Inboxy has no resolved state)
order.*
order.createdWhen an order is created
order.updatedWhen an order status changes
order.completedWhen an order is completed
order.cancelledWhen an order is cancelled
campaign.*
campaign.startedWhen a campaign starts running
campaign.completedWhen a campaign finishes
agent.*
agent.responseWhen an AI agent responds
whatsapp.*
whatsapp.message.receivedWhatsApp: a text message arrives
whatsapp.media.receivedWhatsApp: an image, video, audio, document or sticker arrives
whatsapp.voice.receivedWhatsApp: a voice note arrives
whatsapp.location.receivedWhatsApp: the customer shares a location
whatsapp.contact_card.receivedWhatsApp: the customer shares a contact card
whatsapp.reaction.receivedWhatsApp: the customer reacts to a message
whatsapp.button.clickedWhatsApp: the customer taps a reply button
whatsapp.list.selectedWhatsApp: the customer picks a list row
whatsapp.template.replyWhatsApp: the customer taps a template quick-reply button
whatsapp.flow.completedWhatsApp: the customer submits a WhatsApp Flow
whatsapp.order.placedWhatsApp: the customer sends a cart from the catalog
whatsapp.referral.receivedWhatsApp: a conversation starts from a click-to-WhatsApp ad
whatsapp.message.status_changedWhatsApp: an outbound message is sent, delivered, read or fails
instagram.*
instagram.message.receivedInstagram: a DM arrives
instagram.media.receivedInstagram: a DM with media arrives
instagram.reaction.receivedInstagram: the customer reacts to a message
instagram.button.clickedInstagram: the customer taps a button or quick reply
instagram.story.replyInstagram: the customer replies to your story
instagram.story.mentionInstagram: the customer mentions you in their story
instagram.referral.receivedInstagram: a conversation starts from an ad or link
instagram.first.inboundInstagram: a customer's first message ever
messenger.*
messenger.message.receivedMessenger: a message arrives
messenger.media.receivedMessenger: a message with media arrives
messenger.voice.receivedMessenger: a voice message arrives
messenger.location.receivedMessenger: the customer shares a location
messenger.reaction.receivedMessenger: the customer reacts to a message
messenger.button.clickedMessenger: the customer taps a button or quick reply
messenger.template.replyMessenger: the customer answers a template
messenger.referral.receivedMessenger: a conversation starts from an ad or m.me link
messenger.first.inboundMessenger: a customer's first message ever
telegram.*
telegram.message.receivedTelegram: a message arrives
telegram.media.receivedTelegram: a message with media arrives
telegram.location.receivedTelegram: the customer shares a location
telegram.command.receivedTelegram: the customer sends a /command
telegram.button.clickedTelegram: the customer taps an inline button
telegram.first.inboundTelegram: a customer's first message ever
widget.*
widget.chat.openedWebsite chat: a visitor opens the chat
widget.message.receivedWebsite chat: a visitor sends a message
widget.media.receivedWebsite chat: a visitor sends a file
widget.button.clickedWebsite chat: a visitor taps a button
widget.form.submittedWebsite chat: a visitor submits a form
widget.first.inboundWebsite chat: a visitor's first message ever
lead.*
lead.createdA lead is created
ticket.*
ticket.createdA support ticket is created
ticket.assignedA ticket is assigned
ticket.status_changedA ticket changes status
task.*
task.createdA task is created
task.assignedA task is assigned
task.completedA task is completed
web_event.*
web_event.receivedYour website sends a tracked event (web events API)
ecommerce.*
ecommerce.order.createdStore: a new order is placed
ecommerce.order.confirmedStore: an order is confirmed
ecommerce.order.paidStore: an order is paid
ecommerce.order.shippedStore: an order ships
ecommerce.order.deliveredStore: an order is delivered
ecommerce.order.cancelledStore: an order is cancelled
ecommerce.order.refundedStore: an order is refunded
ecommerce.order.status_changedStore: any other order status change
ecommerce.cart.abandonedStore: a cart is abandoned
ecommerce.customer.createdStore: a new customer registers

Contacts

GET/api/v1/contactscontacts:read

List contacts

Requires contacts:read permission.

معاملات الاستعلام

searchstringName, phone or email.
tagIdsstringComma-separated tag ids.
hasPhoneboolean
hasEmailboolean
hasOrdersboolean
channelTypestringChannel the contact came from.
sourcestringComma-separated sources (MANUAL, WHATSAPP, SHOPIFY, …).
statusstringComma-separated: ACTIVE, INACTIVE, ARCHIVED.
labelstringComma-separated: HOT_LEAD, WARM_LEAD, COLD_LEAD, FOLLOW_UP, VIP, CHURNED, DO_NOT_CONTACT.
lifecycleStagestringComma-separated: LEAD, SUBSCRIBER, OPPORTUNITY, CUSTOMER, REPEAT_CUSTOMER, EVANGELIST.
assignedAgentIdstring
minTotalSpentnumber
maxTotalSpentnumber
lastInteractionAfterstringISO date-time.
lastInteractionBeforestringISO date-time.
createdAfterstringISO date-time.
createdBeforestringISO date-time.
pageintegerPage number (default 1).
limitintegerPage size.
sortByname | createdAt | updatedAt
sortOrderasc | descSort direction.
curl -X GET "https://api.inboxy.chat/api/v1/contacts" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/contactscontacts:write

Create a contact

Requires contacts:write permission.

محتوى الطلب

nameمطلوبstringContact display name.
firstNamestringFirst name.
lastNamestringLast name.
phonestringPhone number, digits only (no leading +).
emailstringEmail address.
avatarstringAvatar image URL.
externalIdstringID of this contact in an external system.
customFieldsobjectArbitrary key/value custom fields.
tagIdsstring[]Tag IDs to attach to the contact.
curl -X POST "https://api.inboxy.chat/api/v1/contacts" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Ahmed Al-Otaibi",
  "firstName": "firstName",
  "lastName": "lastName",
  "phone": "966500000000",
  "email": "ahmed@example.com",
  "avatar": "avatar",
  "externalId": "externalId",
  "customFields": {},
  "tagIds": [
    "tagIds"
  ]
}'
POST/api/v1/contacts/find-or-createcontacts:write

Find a contact or create it

Requires contacts:write permission.

محتوى الطلب

phoneمطلوبstringPhone number to search for, or create if no contact matches.
namestringName to use if a new contact is created. Defaults to the phone number.
curl -X POST "https://api.inboxy.chat/api/v1/contacts/find-or-create" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "phone": "966500000000",
  "name": "Ahmed Al-Otaibi"
}'
GET/api/v1/contacts/custom-field-keyscontacts:read

List custom field keys

Requires contacts:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/contacts/custom-field-keys" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/contacts/{id}contacts:read

Get a contact

Requires contacts:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/contacts/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/contacts/{id}contacts:write

Update a contact

Requires contacts:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestringContact display name.
firstNamestringFirst name.
lastNamestringLast name.
phonestringPhone number, digits only (no leading +).
emailstringEmail address.
avatarstringAvatar image URL.
externalIdstringID of this contact in an external system.
customFieldsobjectArbitrary key/value custom fields.
tagIdsstring[]Tag IDs to attach to the contact.
labelHOT_LEAD | WARM_LEAD | COLD_LEAD | FOLLOW_UP | VIP | CHURNED | DO_NOT_CONTACTCDP label, or null to clear.
statusACTIVE | INACTIVE | ARCHIVEDContact status.
lifecycleStageLEAD | SUBSCRIBER | OPPORTUNITY | CUSTOMER | REPEAT_CUSTOMER | EVANGELISTCDP lifecycle stage.
assignedAgentIdstringUser ID of the assigned agent, or null to unassign.
notesstringFree-text notes on the contact.
curl -X PUT "https://api.inboxy.chat/api/v1/contacts/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Ahmed Al-Otaibi",
  "firstName": "firstName",
  "lastName": "lastName",
  "phone": "966500000000",
  "email": "ahmed@example.com",
  "avatar": "avatar",
  "externalId": "externalId",
  "customFields": {},
  "tagIds": [
    "tagIds"
  ],
  "label": "HOT_LEAD",
  "status": "ACTIVE",
  "lifecycleStage": "LEAD",
  "assignedAgentId": "assignedAgentId",
  "notes": "notes"
}'
DELETE/api/v1/contacts/{id}contacts:write

Delete a contact

Requires contacts:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/contacts/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/contacts/{id}/tags/{tagId}contacts:write

Add a tag to a contact

Requires contacts:write permission.

معاملات المسار

idمطلوبstring
tagIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/contacts/{id}/tags/{tagId}" \
  -H "Authorization: Bearer inboxy_your_token"
DELETE/api/v1/contacts/{id}/tags/{tagId}contacts:write

Remove a tag from a contact

Requires contacts:write permission.

معاملات المسار

idمطلوبstring
tagIdمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/contacts/{id}/tags/{tagId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/contacts/tags/allcontacts:read

List tags

Requires contacts:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/contacts/tags/all" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/contacts/tagscontacts:write

Create a tag

Requires contacts:write permission.

محتوى الطلب

nameمطلوبstringTag name, max 100 characters. Letters, numbers, spaces and - _ . , & ( ) # only.
colorstringHex color for the tag.
curl -X POST "https://api.inboxy.chat/api/v1/contacts/tags" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "VIP",
  "color": "#3bc1a8"
}'
PUT/api/v1/contacts/tags/{tagId}contacts:write

Update a tag

Requires contacts:write permission.

معاملات المسار

tagIdمطلوبstring

محتوى الطلب

namestringTag name.
colorstringHex color for the tag.
curl -X PUT "https://api.inboxy.chat/api/v1/contacts/tags/{tagId}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "color": "color"
}'
DELETE/api/v1/contacts/tags/{tagId}contacts:write

Delete a tag

Requires contacts:write permission.

معاملات المسار

tagIdمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/contacts/tags/{tagId}" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/contacts/{id}/statuscontacts:write

Set contact status

Requires contacts:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

statusمطلوبACTIVE | INACTIVE | ARCHIVEDNew contact status.
curl -X PATCH "https://api.inboxy.chat/api/v1/contacts/{id}/status" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "ACTIVE"
}'
PATCH/api/v1/contacts/{id}/stagecontacts:write

Set contact lifecycle stage

Requires contacts:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

lifecycleStageمطلوبLEAD | SUBSCRIBER | OPPORTUNITY | CUSTOMER | REPEAT_CUSTOMER | EVANGELISTNew lifecycle stage.
curl -X PATCH "https://api.inboxy.chat/api/v1/contacts/{id}/stage" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "lifecycleStage": "CUSTOMER"
}'
PATCH/api/v1/contacts/{id}/assigncontacts:write

Assign a contact to an agent

Requires contacts:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

agentIdstringUser ID to assign the contact to, or null to unassign.
curl -X PATCH "https://api.inboxy.chat/api/v1/contacts/{id}/assign" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "agentId": "agentId"
}'
POST/api/v1/contacts/{id}/notecontacts:write

Add a note to a contact

Requires contacts:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

noteمطلوبstringNote text to append to the contact.
curl -X POST "https://api.inboxy.chat/api/v1/contacts/{id}/note" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "note": "note"
}'
GET/api/v1/contacts/{id}/timelinecontacts:read

Get a contact timeline

Requires contacts:read permission.

معاملات المسار

idمطلوبstring

معاملات الاستعلام

limitinteger
offsetintegerRows to skip (default 0).
typesstringComma-separated activity types, e.g. MESSAGE_SENT,TAG_ADDED.
curl -X GET "https://api.inboxy.chat/api/v1/contacts/{id}/timeline" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/contacts/bulk/tagscontacts:write

Tag many contacts

Requires contacts:write permission.

محتوى الطلب

contactIdsمطلوبstring[]Contact IDs to update.
tagIdsمطلوبstring[]Tag IDs to add or remove.
actionمطلوبadd | removeWhether to add or remove the tags.
curl -X POST "https://api.inboxy.chat/api/v1/contacts/bulk/tags" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "contactIds": [
    "contactIds"
  ],
  "tagIds": [
    "tagIds"
  ],
  "action": "add"
}'
GET/api/v1/public/contactscontacts:read

List contacts

Contacts, newest first. Deleted contacts are not listed. Use `lifecycleStage=lead` for leads. Requires contacts:read permission.

معاملات الاستعلام

limitintegerPage size, 1-100 (default 20).
pageSizeintegerDeprecated alias of `limit`.
cursorstringThe `meta.nextCursor` of the previous page. Opaque.
pageintegerRemoved in favour of `cursor`. `page=1` is accepted; any other value is refused with 400.
searchstringName, phone or email contains.
tagIdsstringComma-separated tag ids.
statusactive | inactive | archived
lifecycleStagelead | subscriber | opportunity | customer | repeat_customer | evangelistFor example `lead` lists leads.
createdAfterstringCreated at or after.
createdBeforestringCreated at or before.
curl -X GET "https://api.inboxy.chat/api/v1/public/contacts" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/public/contacts/{id}contacts:read

Get a contact

One contact. A deleted contact is not found. Requires contacts:read permission.

معاملات المسار

idمطلوبstringResource id
curl -X GET "https://api.inboxy.chat/api/v1/public/contacts/{id}" \
  -H "Authorization: Bearer inboxy_your_token"

Messages

POST/api/v1/whatsapp/messages/catalog-cardmessages:send

Send an Inboxy product or service card

Requires messages:send permission.

محتوى الطلب

conversationIdمطلوبstringWhatsApp conversation to send into.
itemTypeمطلوبproduct | service
itemIdمطلوبstringProduct or service id.
languageمطلوبar | en
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/catalog-card" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "conversationId": "conversationId",
  "itemType": "product",
  "itemId": "itemId",
  "language": "ar"
}'
POST/api/v1/whatsapp/media/uploadmessages:send

Upload media to WhatsApp and get a media id for sends

Requires messages:send permission.

محتوى الطلب

mediaTypeمطلوبimage | video | audio | document
mediaUrlstring
base64string
filenamestring
mimeTypestring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/media/upload" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "mediaType": "image",
  "mediaUrl": "mediaUrl",
  "base64": "base64",
  "filename": "filename",
  "mimeType": "mimeType"
}'
POST/api/v1/whatsapp/messages/textmessages:send

Send a WhatsApp text message

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
bodyمطلوبstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/text" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "body": "body",
  "conversationId": "conversationId"
}'
POST/api/v1/whatsapp/messages/templatemessages:send

Send an approved WhatsApp template

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
templateNameمطلوبstring
languageCodeمطلوبstring
componentsstring[]
conversationIdstring
variablesobject
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/template" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "templateName": "templateName",
  "languageCode": "languageCode",
  "components": [],
  "conversationId": "conversationId",
  "variables": {
    "header": {},
    "body": {},
    "buttonUrl": {}
  }
}'
POST/api/v1/whatsapp/messages/buttonsmessages:send

Send a WhatsApp reply-buttons message

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
bodyمطلوبstring
buttonsمطلوبobject[]
headerstring
headerImagestring
footerstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/buttons" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "body": "body",
  "buttons": [
    {
      "id": "id",
      "title": "title"
    }
  ],
  "header": "header",
  "headerImage": "headerImage",
  "footer": "footer",
  "conversationId": "conversationId"
}'
POST/api/v1/whatsapp/messages/listmessages:send

Send a WhatsApp list message

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
bodyمطلوبstring
buttonTextمطلوبstring
sectionsمطلوبobject[]
headerstring
footerstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/list" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "body": "body",
  "buttonText": "buttonText",
  "sections": [
    {
      "title": "title",
      "rows": [
        {
          "id": "id",
          "title": "title",
          "description": "description"
        }
      ]
    }
  ],
  "header": "header",
  "footer": "footer",
  "conversationId": "conversationId"
}'
POST/api/v1/whatsapp/messages/cta-urlmessages:send

Send a WhatsApp call-to-action URL button

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
bodyمطلوبstring
displayTextمطلوبstring
urlمطلوبstring
headerstring
headerImagestring
footerstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/cta-url" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "body": "body",
  "displayText": "displayText",
  "url": "url",
  "header": "header",
  "headerImage": "headerImage",
  "footer": "footer",
  "conversationId": "conversationId"
}'
POST/api/v1/whatsapp/messages/location-requestmessages:send

Ask the customer to share their location

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
bodyمطلوبstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/location-request" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "body": "body",
  "conversationId": "conversationId"
}'
POST/api/v1/whatsapp/messages/catalogmessages:send

Send the WhatsApp catalog

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
bodyمطلوبstring
footerstring
thumbnailProductRetailerIdstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/catalog" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "body": "body",
  "footer": "footer",
  "thumbnailProductRetailerId": "thumbnailProductRetailerId",
  "conversationId": "conversationId"
}'
POST/api/v1/whatsapp/messages/productmessages:send

Send one catalog product

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
catalogIdمطلوبstring
productRetailerIdمطلوبstring
bodystring
footerstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/product" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "catalogId": "catalogId",
  "productRetailerId": "productRetailerId",
  "body": "body",
  "footer": "footer",
  "conversationId": "conversationId"
}'
POST/api/v1/whatsapp/messages/product-listmessages:send

Send a multi-product message

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
headerمطلوبstring
bodyمطلوبstring
catalogIdمطلوبstring
sectionsمطلوبobject[]
footerstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/product-list" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "header": "header",
  "body": "body",
  "catalogId": "catalogId",
  "sections": [
    {
      "title": "title",
      "productRetailerIds": [
        "productRetailerIds"
      ]
    }
  ],
  "footer": "footer",
  "conversationId": "conversationId"
}'
POST/api/v1/whatsapp/messages/mediamessages:send

Send WhatsApp media (image, video, audio, document)

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
mediaTypeمطلوبimage | video | audio | document
mediaUrlمطلوبstring
captionstring
filenamestring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/media" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "mediaType": "image",
  "mediaUrl": "mediaUrl",
  "caption": "caption",
  "filename": "filename",
  "conversationId": "conversationId"
}'
POST/api/v1/whatsapp/messages/locationmessages:send

Send a location pin

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
latitudeمطلوبnumber
longitudeمطلوبnumber
namestring
addressstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/location" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "latitude": 1,
  "longitude": 1,
  "name": "name",
  "address": "address",
  "conversationId": "conversationId"
}'
POST/api/v1/whatsapp/messages/contactsmessages:send

Send contact cards

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
contactsstring[]
contactobject
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/contacts" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "contacts": [],
  "contact": {},
  "conversationId": "conversationId"
}'
POST/api/v1/whatsapp/messages/contactmessages:send

Send one contact card

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
contactsstring[]
contactobject
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/contact" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "contacts": [],
  "contact": {},
  "conversationId": "conversationId"
}'
POST/api/v1/whatsapp/messages/{messageId}/readmessages:send

Mark an inbound WhatsApp message as read

Requires messages:send permission.

معاملات المسار

messageIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/messages/{messageId}/read" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/inbox/conversations/{conversationId}/messagesmessages:send

Reply in a conversation on any channel

Requires messages:send permission.

معاملات المسار

conversationIdمطلوبstring

محتوى الطلب

contentstringMessage text. Required when type is "text"; optional caption for media types.
typetext | image | video | audio | documentMessage type. Defaults to "text".
fileDatastringBase64-encoded file content. Required when type is image, video, audio or document.
fileNamestringOriginal file name for media messages.
mimeTypestringMIME type of the media file.
curl -X POST "https://api.inboxy.chat/api/v1/inbox/conversations/{conversationId}/messages" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "content": "مرحباً، كيف يمكنني مساعدتك؟",
  "type": "text",
  "fileData": "fileData",
  "fileName": "invoice.pdf",
  "mimeType": "image/jpeg"
}'
POST/api/v1/interactive-messages/send-savedmessages:send

Send a saved interactive message into a conversation

Requires messages:send permission.

محتوى الطلب

conversationIdمطلوبstring
messageIdمطلوبstringId of a saved interactive message (GET /api/v1/interactive-messages).
channelمطلوبWHATSAPP | INSTAGRAM | MESSENGER | WEB
curl -X POST "https://api.inboxy.chat/api/v1/interactive-messages/send-saved" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "conversationId": "conversationId",
  "messageId": "messageId",
  "channel": "WHATSAPP"
}'
GET/api/v1/public/conversations/{id}/messagesmessages:read

List messages in a conversation

Messages of one conversation, newest first; each next page is older. Media URLs are signed and short-lived. Requires messages:read permission.

معاملات المسار

idمطلوبstringResource id

معاملات الاستعلام

limitintegerPage size, 1-100 (default 20).
pageSizeintegerDeprecated alias of `limit`.
cursorstringThe `meta.nextCursor` of the previous page. Opaque.
pageintegerRemoved in favour of `cursor`. `page=1` is accepted; any other value is refused with 400.
beforestringOnly messages created before this instant.
curl -X GET "https://api.inboxy.chat/api/v1/public/conversations/{id}/messages" \
  -H "Authorization: Bearer inboxy_your_token"

Templates

POST/api/v1/whatsapp/media/upload-for-templatetemplates:write

Upload a template header file and get its media handle

Requires templates:write permission.

محتوى الطلب

mediaTypeمطلوبimage | video | document
mediaUrlstringPublic URL to fetch. Send this or base64.
base64stringFile content, base64-encoded.
filenamestring
mimeTypestring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/media/upload-for-template" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "mediaType": "image",
  "mediaUrl": "https://cdn.example.com/banner.jpg",
  "base64": "base64",
  "filename": "banner.jpg",
  "mimeType": "image/jpeg"
}'
GET/api/v1/whatsapp/templatestemplates:read

List WhatsApp templates

Requires templates:read permission.

معاملات الاستعلام

statusPENDING | APPROVED | REJECTED | PAUSED | DISABLED
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/templates" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/whatsapp/templatestemplates:write

Create a WhatsApp template and submit it to Meta for review

Requires templates:write permission.

محتوى الطلب

nameمطلوبstringLowercase letters, digits and underscores. Unique per language.
categoryمطلوبMARKETING | UTILITY | AUTHENTICATION
languageمطلوبstringMeta language code.
templateTypeSTANDARD | CAROUSEL | LIMITED_TIME_OFFER
headerTypeNONE | TEXT | IMAGE | VIDEO | DOCUMENT
headerTextstringTEXT headers: up to 60 characters, at most one {{1}}.
headerExamplestringTEXT headers: sample for {{1}}. IMAGE/VIDEO/DOCUMENT headers: the media handle from POST /api/v1/whatsapp/media/upload-for-template.
headerMediaUrlstringMedia headers: the public URL of the same file, stored so every send attaches it automatically.
bodyTextمطلوبstringUp to 1,024 characters. Variables are {{1}}, {{2}}, … in order.
bodyExamplesstring[]One sample value per body variable, in order. Meta reviews the template with these.
footerTextstringUp to 60 characters, no variables.
buttonsobject[]Up to 10 buttons.
carouselCardsobject[]CAROUSEL templates: 2–10 cards, each with a media header, body and buttons.
ltoTextstringLIMITED_TIME_OFFER: the offer headline, up to 16 characters. The offer also needs exactly one URL button in `buttons`.
ltoExpirationstringLIMITED_TIME_OFFER: when the offer ends.
ltoCouponCodestringLIMITED_TIME_OFFER: coupon shown on a copy-code button, placed before the URL button.
authSecurityDisclaimerbooleanAUTHENTICATION: add "Do not share this code" (default true).
authExpirationMinutesnumberAUTHENTICATION: code lifetime shown to the customer.
variableMappingobjectRequired when bodyText has variables: one entry per variable number, saying where the value comes from at send time. Types: `static` (value used as-is), `contact_field` (firstName, lastName, name, email, phone), `custom_field` (a contact custom-field key), `order_field` (last.order.total, last.order.product, last.order.status, last.order.date, last.order.shipping_address, last.order.tracking_number), `web_event_field` (a path in the triggering web event).
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/templates" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "order_shipped",
  "category": "UTILITY",
  "language": "ar",
  "templateType": "STANDARD",
  "headerType": "TEXT",
  "headerText": "Your order is on its way",
  "headerExample": "headerExample",
  "headerMediaUrl": "headerMediaUrl",
  "bodyText": "مرحباً {{1}}، طلبك رقم {{2}} في الطريق إليك.",
  "bodyExamples": [
    "سارة",
    "10234"
  ],
  "footerText": "Inboxy Store",
  "buttons": [
    {
      "type": "QUICK_REPLY",
      "text": "Track order",
      "url": "https://shop.example.com/orders/{{1}}",
      "urlExample": "urlExample",
      "phoneNumber": "+966500000000",
      "couponCode": "couponCode",
      "otpType": "COPY_CODE",
      "flowId": "flowId",
      "flowAction": "navigate"
    }
  ],
  "carouselCards": [
    {
      "headerMediaHandle": "headerMediaHandle",
      "headerMediaUrl": "headerMediaUrl",
      "headerFormat": "IMAGE",
      "bodyText": "bodyText",
      "bodyExamples": [
        "bodyExamples"
      ],
      "buttons": [
        {
          "type": "QUICK_REPLY",
          "text": "Track order",
          "url": "https://shop.example.com/orders/{{1}}",
          "urlExample": "urlExample",
          "phoneNumber": "+966500000000",
          "couponCode": "couponCode",
          "otpType": "COPY_CODE",
          "flowId": "flowId",
          "flowAction": "navigate"
        }
      ]
    }
  ],
  "ltoText": "ltoText",
  "ltoExpiration": "2026-01-01T00:00:00.000Z",
  "ltoCouponCode": "ltoCouponCode",
  "authSecurityDisclaimer": true,
  "authExpirationMinutes": 1,
  "variableMapping": {
    "1": {
      "type": "contact_field",
      "value": "firstName"
    },
    "2": {
      "type": "order_field",
      "value": "last.order.tracking_number"
    }
  }
}'
GET/api/v1/whatsapp/templates/{templateId}templates:read

Get a WhatsApp template

Requires templates:read permission.

معاملات المسار

templateIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/templates/{templateId}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/whatsapp/templates/{templateId}templates:write

Edit a submitted template and send it back to Meta for review

Requires templates:write permission.

معاملات المسار

templateIdمطلوبstring

محتوى الطلب

bodyTextstring
headerTypeNONE | TEXT | IMAGE | VIDEO | DOCUMENT | LOCATION
headerTextstring
headerExamplestring
headerMediaUrlstring
footerTextstring
buttonsobject[]
variableMappingobject
curl -X PUT "https://api.inboxy.chat/api/v1/whatsapp/templates/{templateId}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "bodyText": "Hello {{1}}, your order is on its way.",
  "headerType": "NONE",
  "headerText": "headerText",
  "headerExample": "headerExample",
  "headerMediaUrl": "headerMediaUrl",
  "footerText": "footerText",
  "buttons": [
    {
      "type": "QUICK_REPLY",
      "text": "Track order",
      "url": "https://shop.example.com/orders/{{1}}",
      "urlExample": "urlExample",
      "phoneNumber": "+966500000000",
      "couponCode": "couponCode",
      "otpType": "COPY_CODE",
      "flowId": "flowId",
      "flowAction": "navigate"
    }
  ],
  "variableMapping": {}
}'
PATCH/api/v1/whatsapp/templates/{templateId}/mediatemplates:write

Attach the media every send of this template uses

Requires templates:write permission.

معاملات المسار

templateIdمطلوبstring

محتوى الطلب

headerMediaIdstringMedia id (from POST /api/v1/whatsapp/media/upload) to attach as the header on every send.
carouselCardsobject[]
curl -X PATCH "https://api.inboxy.chat/api/v1/whatsapp/templates/{templateId}/media" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "headerMediaId": "headerMediaId",
  "carouselCards": [
    {
      "index": 1,
      "mediaId": "mediaId"
    }
  ]
}'
POST/api/v1/whatsapp/templates/synctemplates:write

Sync templates and their approval status from Meta

Requires templates:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/templates/sync" \
  -H "Authorization: Bearer inboxy_your_token"
DELETE/api/v1/whatsapp/templates/{templateName}templates:write

Delete a WhatsApp template (all languages) from Meta and Inboxy

Requires templates:write permission.

معاملات المسار

templateNameمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/whatsapp/templates/{templateName}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/whatsapp/templates/{templateName}/usagetemplates:read

Delivery ledger for a template

Requires templates:read permission.

معاملات المسار

templateNameمطلوبstring

معاملات الاستعلام

languagestringOne language variant of the template.
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/templates/{templateName}/usage" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/whatsapp/templates/{templateName}/mappingtemplates:write

Change where template variables get their values

Requires templates:write permission.

معاملات المسار

templateNameمطلوبstring

محتوى الطلب

languagestringWhich language variant to update. Required when the template name has several languages.
variableMappingمطلوبobjectSame shape as variableMapping on create. Stored in Inboxy only; Meta is not called.
curl -X PATCH "https://api.inboxy.chat/api/v1/whatsapp/templates/{templateName}/mapping" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "language": "ar",
  "variableMapping": {
    "1": {
      "type": "contact_field",
      "value": "firstName"
    }
  }
}'
GET/api/v1/public/templatestemplates:read

List WhatsApp templates

WhatsApp (Meta) message templates that are not archived, newest first. Filter by status, category, language or name. Requires templates:read permission.

معاملات الاستعلام

limitintegerPage size, 1-100 (default 20).
pageSizeintegerDeprecated alias of `limit`.
cursorstringThe `meta.nextCursor` of the previous page. Opaque.
pageintegerRemoved in favour of `cursor`. `page=1` is accepted; any other value is refused with 400.
statusapproved | pending | rejected | paused | disabled
categoryutility | marketing | authentication
languagestringFor example `ar` or `en_US`.
searchstringTemplate name contains.
curl -X GET "https://api.inboxy.chat/api/v1/public/templates" \
  -H "Authorization: Bearer inboxy_your_token"

WhatsApp analytics

GET/api/v1/whatsapp/statsanalytics:read

WhatsApp message and conversation totals

Requires analytics:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/whatsapp/analytics/summaryanalytics:read

WhatsApp analytics summary

Requires analytics:read permission.

معاملات الاستعلام

startDatestringISO date; use with endDate for an explicit range.
endDatestringISO date; use with startDate.
daysintegerTrailing N-day range, ignored when startDate and endDate are given. No range = all time.
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/analytics/summary" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/whatsapp/analytics/messagesanalytics:read

Message volume

Requires analytics:read permission.

معاملات الاستعلام

startDatestringISO date; use with endDate for an explicit range.
endDatestringISO date; use with startDate.
daysintegerTrailing N-day range, ignored when startDate and endDate are given. No range = all time.
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/analytics/messages" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/whatsapp/analytics/response-timesanalytics:read

Response times

Requires analytics:read permission.

معاملات الاستعلام

startDatestringISO date; use with endDate for an explicit range.
endDatestringISO date; use with startDate.
daysintegerTrailing N-day range, ignored when startDate and endDate are given. No range = all time.
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/analytics/response-times" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/whatsapp/analytics/templatesanalytics:read

Template performance

Requires analytics:read permission.

معاملات الاستعلام

startDatestringISO date; use with endDate for an explicit range.
endDatestringISO date; use with startDate.
daysintegerTrailing N-day range, ignored when startDate and endDate are given. No range = all time.
limitintegerMax templates (default 10).
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/analytics/templates" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/whatsapp/analytics/conversationsanalytics:read

Conversation metrics

Requires analytics:read permission.

معاملات الاستعلام

startDatestringISO date; use with endDate for an explicit range.
endDatestringISO date; use with startDate.
daysintegerTrailing N-day range, ignored when startDate and endDate are given. No range = all time.
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/analytics/conversations" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/whatsapp/analytics/agentsanalytics:read

Agent performance

Requires analytics:read permission.

معاملات الاستعلام

startDatestringISO date; use with endDate for an explicit range.
endDatestringISO date; use with startDate.
daysintegerTrailing N-day range, ignored when startDate and endDate are given. No range = all time.
limitintegerMax agents (default 10).
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/analytics/agents" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/whatsapp/analytics/channelsanalytics:read

Channel breakdown

Requires analytics:read permission.

معاملات الاستعلام

startDatestringISO date; use with endDate for an explicit range.
endDatestringISO date; use with startDate.
daysintegerTrailing N-day range, ignored when startDate and endDate are given. No range = all time.
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/analytics/channels" \
  -H "Authorization: Bearer inboxy_your_token"

Campaigns

GET/api/v1/whatsapp/campaigns/{id}/action-previewcampaigns:read

Preview exact campaign recipients, content, sender and timing

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/action-preview" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/whatsapp/campaigns/{id}/approved-sendcampaigns:write

Send the exact approved campaign snapshot

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/approved-send" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/whatsapp/campaigns/{id}/approved-schedulecampaigns:write

Schedule the exact approved campaign snapshot

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/approved-schedule" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/whatsapp/campaigns/{id}/approved-resumecampaigns:write

Resume the exact approved remaining audience

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/approved-resume" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/whatsapp/campaignscampaigns:read

List WhatsApp campaigns

Requires campaigns:read permission.

معاملات الاستعلام

statusDRAFT | SCHEDULED | RUNNING | PAUSED | COMPLETED | CANCELLED | FAILEDMust be one of the listed values.
searchstringCampaign name.
limitintegerMax rows (default 50).
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/campaigns" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/whatsapp/campaignscampaigns:write

Create a campaign

Requires campaigns:write permission.

محتوى الطلب

nameمطلوبstring
templateIdمطلوبstringAn APPROVED template id (GET /api/v1/whatsapp/templates).
audienceمطلوبobjectWho receives the campaign. `ALL`: every opted-in contact. `TAGS`: contacts with any of `tagIds`. `CONTACTS`: exactly `contactIds` (max 5,000). `IMPORT_BATCH`: the `batchId` returned by import-audience.
templateComponentsobject[]Meta template components; omit to use the template’s saved variable mapping.
scheduledAtstringOmit to create a draft; run it with POST /campaigns/:id/run.
messagesPerSecondnumber1–20.
messagesPerDaynumberDaily cap; the send spreads across days.
aiEnabledbooleanLet the AI agent answer replies to this campaign.
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/campaigns" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Ramadan offer",
  "templateId": "templateId",
  "audience": {
    "type": "TAGS",
    "tagIds": [
      "tagIds"
    ],
    "contactIds": [
      "contactIds"
    ],
    "batchId": "batchId"
  },
  "templateComponents": [
    {}
  ],
  "scheduledAt": "2026-01-01T00:00:00.000Z",
  "messagesPerSecond": 10,
  "messagesPerDay": 1,
  "aiEnabled": true
}'
GET/api/v1/whatsapp/campaigns/{id}campaigns:read

Get a campaign

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/whatsapp/campaigns/{id}campaigns:write

Update a draft or scheduled campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestring
templateIdstring
audienceobjectWho receives the campaign. `ALL`: every opted-in contact. `TAGS`: contacts with any of `tagIds`. `CONTACTS`: exactly `contactIds` (max 5,000). `IMPORT_BATCH`: the `batchId` returned by import-audience.
templateComponentsobject[]
scheduledAtstring
autoRetryboolean
maxRetriesnumber
curl -X PUT "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "templateId": "templateId",
  "audience": {
    "type": "TAGS",
    "tagIds": [
      "tagIds"
    ],
    "contactIds": [
      "contactIds"
    ],
    "batchId": "batchId"
  },
  "templateComponents": [
    {}
  ],
  "scheduledAt": "2026-01-01T00:00:00.000Z",
  "autoRetry": true,
  "maxRetries": 1
}'
DELETE/api/v1/whatsapp/campaigns/{id}campaigns:write

Delete a campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/whatsapp/campaigns/{id}/runcampaigns:write

Start sending a campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/run" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/whatsapp/campaigns/{id}/cancelcampaigns:write

Cancel a campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/cancel" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/whatsapp/campaigns/{id}/pausecampaigns:write

Pause a running campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/pause" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/whatsapp/campaigns/{id}/resumecampaigns:write

Resume a paused campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/resume" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/whatsapp/campaigns/{id}/recipientscampaigns:read

List campaign recipients

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring

معاملات الاستعلام

statusPENDING | CLAIMED | SKIPPED | SENT | DELIVERED | READ | FAILED | REPLIEDMust be one of the listed values.
limitintegerMax rows (default 50).
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/recipients" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/whatsapp/campaigns/{id}/detailscampaigns:read

Get campaign details and counts

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/details" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/whatsapp/campaigns/previewcampaigns:read

Preview audience size and cost without creating

Requires campaigns:read permission.

محتوى الطلب

templateIdمطلوبstring
audienceمطلوبobjectWho receives the campaign. `ALL`: every opted-in contact. `TAGS`: contacts with any of `tagIds`. `CONTACTS`: exactly `contactIds` (max 5,000). `IMPORT_BATCH`: the `batchId` returned by import-audience.
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/campaigns/preview" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "templateId": "templateId",
  "audience": {
    "type": "TAGS",
    "tagIds": [
      "tagIds"
    ],
    "contactIds": [
      "contactIds"
    ],
    "batchId": "batchId"
  }
}'
POST/api/v1/whatsapp/campaigns/import-audiencecampaigns:write

Import an audience (matches or creates contacts)

Requires campaigns:write permission.

محتوى الطلب

dataمطلوبobject[]
createMissingbooleanCreate contacts that do not exist yet (default true).
defaultCountryCodestring
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/campaigns/import-audience" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "data": [
    {
      "name": "Sara",
      "phone": "966500000000",
      "email": "customer@example.com",
      "tags": "tags"
    }
  ],
  "createMissing": true,
  "defaultCountryCode": "966"
}'
POST/api/v1/whatsapp/campaigns/{id}/retrycampaigns:write

Retry failed recipients

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

recipientIdsstring[]
failureCategoriesstring[]
curl -X POST "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/retry" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "recipientIds": [
    "recipientIds"
  ],
  "failureCategories": [
    "failureCategories"
  ]
}'
GET/api/v1/whatsapp/campaigns/{id}/analyticscampaigns:read

Get campaign link clicks

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/analytics" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/whatsapp/campaigns/{id}/timeseriescampaigns:read

Get deliveries over time

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/whatsapp/campaigns/{id}/timeseries" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/public/campaignscampaigns:read

List WhatsApp campaigns

WhatsApp template campaigns, newest first, with their sent / delivered / read / failed counts. Requires campaigns:read permission.

معاملات الاستعلام

limitintegerPage size, 1-100 (default 20).
pageSizeintegerDeprecated alias of `limit`.
cursorstringThe `meta.nextCursor` of the previous page. Opaque.
pageintegerRemoved in favour of `cursor`. `page=1` is accepted; any other value is refused with 400.
statusdraft | scheduled | running | paused | completed | cancelled | failed
searchstringCampaign name contains.
createdAfterstringCreated at or after.
createdBeforestringCreated at or before.
curl -X GET "https://api.inboxy.chat/api/v1/public/campaigns" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/public/campaigns/{id}campaigns:read

Get a campaign and its results

One WhatsApp campaign and its results. Requires campaigns:read permission.

معاملات المسار

idمطلوبstringResource id
curl -X GET "https://api.inboxy.chat/api/v1/public/campaigns/{id}" \
  -H "Authorization: Bearer inboxy_your_token"

Instagram

POST/api/v1/instagram/sendmessages:send

Send an Instagram DM

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
contentمطلوبstring
conversationIdstring
mediaTypeimage | video | audio | file
mediaUrlstring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/send" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "content": "content",
  "conversationId": "conversationId",
  "mediaType": "image",
  "mediaUrl": "mediaUrl"
}'
POST/api/v1/instagram/send/quick-repliesmessages:send

Send Instagram quick replies

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
textمطلوبstring
quickRepliesمطلوبobject[]
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/send/quick-replies" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "text": "text",
  "quickReplies": [
    {
      "contentType": "text",
      "title": "title",
      "payload": "payload"
    }
  ],
  "conversationId": "conversationId"
}'
POST/api/v1/instagram/send/carouselmessages:send

Send an Instagram carousel

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
elementsمطلوبobject[]
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/send/carousel" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "elements": [
    {
      "title": "title",
      "subtitle": "subtitle",
      "image_url": "image_url",
      "default_action": {
        "type": "type",
        "url": "url"
      },
      "buttons": []
    }
  ],
  "conversationId": "conversationId"
}'
POST/api/v1/instagram/send/buttonsmessages:send

Send an Instagram DM with buttons

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
textمطلوبstring
buttonsمطلوبobject[]
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/send/buttons" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "text": "text",
  "buttons": [
    {
      "type": "type",
      "title": "title",
      "url": "url",
      "payload": "payload"
    }
  ],
  "conversationId": "conversationId"
}'
POST/api/v1/instagram/send/media-templatemessages:send

Send an Instagram media template

Requires messages:send permission.

محتوى الطلب

toمطلوبstring
mediaTypeمطلوبimage | video
mediaUrlمطلوبstring
buttonsstring[]
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/send/media-template" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "to": "966500000000",
  "mediaType": "image",
  "mediaUrl": "mediaUrl",
  "buttons": [],
  "conversationId": "conversationId"
}'
GET/api/v1/instagram/conversations/{conversationId}/windowconversations:read

Check the Instagram messaging window

Requires conversations:read permission.

معاملات المسار

conversationIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/instagram/conversations/{conversationId}/window" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/statsanalytics:read

Instagram message totals

Requires analytics:read permission.

معاملات الاستعلام

periodtoday | 7days | monthReporting window (default month).
curl -X GET "https://api.inboxy.chat/api/v1/instagram/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/interactive-messageslibrary:read

List Instagram interactive messages

Requires library:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/instagram/interactive-messages" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/interactive-messageslibrary:write

Save an Instagram interactive message

Requires library:write permission.

محتوى الطلب

nameمطلوبstring
typeمطلوبbuttons | quick_replies
configمطلوبobject
aiUsableboolean
curl -X POST "https://api.inboxy.chat/api/v1/instagram/interactive-messages" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "type": "buttons",
  "config": {},
  "aiUsable": true
}'
GET/api/v1/instagram/interactive-messages/{id}library:read

Get an Instagram interactive message

Requires library:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/instagram/interactive-messages/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/instagram/interactive-messages/{id}library:write

Update an Instagram interactive message

Requires library:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

nameمطلوبstring
typeمطلوبbuttons | quick_replies
configمطلوبobject
aiUsableboolean
curl -X PUT "https://api.inboxy.chat/api/v1/instagram/interactive-messages/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "type": "buttons",
  "config": {},
  "aiUsable": true
}'
DELETE/api/v1/instagram/interactive-messages/{id}library:write

Delete an Instagram interactive message

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/instagram/interactive-messages/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/rate-limitchannels:read

Remaining Instagram send quota

Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/instagram/rate-limit" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/templatestemplates:read

List saved Instagram templates

Requires templates:read permission.

معاملات الاستعلام

pageinteger
limitinteger
searchstring
isActiveboolean
curl -X GET "https://api.inboxy.chat/api/v1/instagram/templates" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/templatestemplates:write

Save an Instagram template

Requires templates:write permission.

محتوى الطلب

nameمطلوبstring
descriptionstring
cardsمطلوبobject[]
curl -X POST "https://api.inboxy.chat/api/v1/instagram/templates" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "cards": [
    {
      "title": "title",
      "subtitle": "subtitle",
      "imageUrl": "imageUrl",
      "defaultActionUrl": "defaultActionUrl",
      "buttons": [
        {
          "type": "web_url",
          "title": "title",
          "url": "url",
          "payload": "payload"
        }
      ]
    }
  ]
}'
GET/api/v1/instagram/templates/{id}templates:read

Get a saved Instagram template

Requires templates:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/instagram/templates/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/instagram/templates/{id}templates:write

Update a saved Instagram template

Requires templates:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestring
descriptionstring
isActiveboolean
cardsobject[]
curl -X PUT "https://api.inboxy.chat/api/v1/instagram/templates/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "isActive": true,
  "cards": [
    {
      "title": "title",
      "subtitle": "subtitle",
      "imageUrl": "imageUrl",
      "defaultActionUrl": "defaultActionUrl",
      "buttons": [
        {
          "type": "web_url",
          "title": "title",
          "url": "url",
          "payload": "payload"
        }
      ]
    }
  ]
}'
DELETE/api/v1/instagram/templates/{id}templates:write

Delete a saved Instagram template

Requires templates:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/instagram/templates/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/templates/{id}/detailtemplates:read

Get template detail and usage

Requires templates:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/instagram/templates/{id}/detail" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/templates/{id}/sendmessages:send

Send a saved Instagram template

Requires messages:send permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

recipientIdمطلوبstring
conversationIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/templates/{id}/send" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "recipientId": "recipientId",
  "conversationId": "conversationId"
}'
GET/api/v1/instagram/quick-replieslibrary:read

List Instagram quick replies

Requires library:read permission.

معاملات الاستعلام

pageinteger
limitinteger
searchstring
categorystring
isActiveboolean
curl -X GET "https://api.inboxy.chat/api/v1/instagram/quick-replies" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/quick-replieslibrary:write

Create an Instagram quick reply

Requires library:write permission.

محتوى الطلب

nameمطلوبstring
descriptionstring
messageمطلوبstring
quickRepliesمطلوبobject[]
categorystring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/quick-replies" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "message": "message",
  "quickReplies": [
    {
      "title": "title",
      "payload": "payload",
      "imageUrl": "imageUrl"
    }
  ],
  "category": "category"
}'
GET/api/v1/instagram/quick-replies/categorieslibrary:read

List quick reply categories

Requires library:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/instagram/quick-replies/categories" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/quick-replies/{id}library:read

Get an Instagram quick reply

Requires library:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/instagram/quick-replies/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/instagram/quick-replies/{id}library:write

Update an Instagram quick reply

Requires library:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestring
descriptionstring
messagestring
quickRepliesobject[]
categorystring
isActiveboolean
curl -X PUT "https://api.inboxy.chat/api/v1/instagram/quick-replies/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "message": "message",
  "quickReplies": [
    {
      "title": "title",
      "payload": "payload",
      "imageUrl": "imageUrl"
    }
  ],
  "category": "category",
  "isActive": true
}'
DELETE/api/v1/instagram/quick-replies/{id}library:write

Delete an Instagram quick reply

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/instagram/quick-replies/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/ice-breakerschannels:read

List Instagram ice breakers

Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/instagram/ice-breakers" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/ice-breakerschannels:write

Replace Instagram ice breakers

Requires channels:write permission.

محتوى الطلب

iceBreakersمطلوبobject[]
curl -X POST "https://api.inboxy.chat/api/v1/instagram/ice-breakers" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "iceBreakers": [
    {
      "question": "question",
      "payload": "payload"
    }
  ]
}'
DELETE/api/v1/instagram/ice-breakerschannels:write

Remove all ice breakers

Requires channels:write permission.

curl -X DELETE "https://api.inboxy.chat/api/v1/instagram/ice-breakers" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/ice-breakers/addchannels:write

Add an ice breaker

Requires channels:write permission.

محتوى الطلب

questionمطلوبstring
payloadمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/ice-breakers/add" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "question": "question",
  "payload": "payload"
}'
PUT/api/v1/instagram/ice-breakers/{index}channels:write

Update an ice breaker

Requires channels:write permission.

معاملات المسار

indexمطلوبstring

محتوى الطلب

questionمطلوبstring
payloadمطلوبstring
curl -X PUT "https://api.inboxy.chat/api/v1/instagram/ice-breakers/{index}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "question": "question",
  "payload": "payload"
}'
DELETE/api/v1/instagram/ice-breakers/{index}channels:write

Delete an ice breaker

Requires channels:write permission.

معاملات المسار

indexمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/instagram/ice-breakers/{index}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/ice-breakers/reorderchannels:write

Reorder ice breakers

Requires channels:write permission.

محتوى الطلب

newOrderمطلوبinteger[]
curl -X POST "https://api.inboxy.chat/api/v1/instagram/ice-breakers/reorder" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "newOrder": [
    0
  ]
}'
GET/api/v1/instagram/story-mentions/configautomations:read

Story mention auto-reply settings

Requires automations:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/instagram/story-mentions/config" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/instagram/story-mentions/configautomations:write

Change story mention auto-reply settings

Requires automations:write permission.

محتوى الطلب

enabledboolean
autoReplyEnabledboolean
autoReplyMessagestring
autoReplyDelayinteger
trackMentionsboolean
notifyOnMentionboolean
curl -X PUT "https://api.inboxy.chat/api/v1/instagram/story-mentions/config" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "enabled": true,
  "autoReplyEnabled": true,
  "autoReplyMessage": "autoReplyMessage",
  "autoReplyDelay": 0,
  "trackMentions": true,
  "notifyOnMention": true
}'
GET/api/v1/instagram/story-mentions/statsanalytics:read

Story mention stats

Requires analytics:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/instagram/story-mentions/stats" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/story-mentions/responsesautomations:write

Add a story mention reply

Requires automations:write permission.

محتوى الطلب

conditionمطلوبfollower | non_follower | verified | any
messageمطلوبstring
isActiveboolean
curl -X POST "https://api.inboxy.chat/api/v1/instagram/story-mentions/responses" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "condition": "follower",
  "message": "message",
  "isActive": true
}'
PUT/api/v1/instagram/story-mentions/responses/{id}automations:write

Update a story mention reply

Requires automations:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

conditionfollower | non_follower | verified | any
messagestring
isActiveboolean
curl -X PUT "https://api.inboxy.chat/api/v1/instagram/story-mentions/responses/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "condition": "follower",
  "message": "message",
  "isActive": true
}'
DELETE/api/v1/instagram/story-mentions/responses/{id}automations:write

Delete a story mention reply

Requires automations:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/instagram/story-mentions/responses/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/campaignscampaigns:read

List Instagram campaigns

Requires campaigns:read permission.

معاملات الاستعلام

statusDRAFT | SCHEDULED | RUNNING | PAUSED | COMPLETED | CANCELLED | FAILED
searchstring
limitstring
offsetstring
curl -X GET "https://api.inboxy.chat/api/v1/instagram/campaigns" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/campaignscampaigns:write

Create an Instagram campaign

Requires campaigns:write permission.

محتوى الطلب

nameمطلوبstring
descriptionstring
messageTypeمطلوبTEXT | TEMPLATE | IMAGE
messageTextstring
messageContentstring
templateIdstring
imageUrlstring
messageConfigobject
scheduledAtstring
messagesPerSecondnumber
recipientContactIdsstring[]
recipientIdsstring[]
recipientIGSIDsstring[]
filtersobject
curl -X POST "https://api.inboxy.chat/api/v1/instagram/campaigns" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "messageType": "TEXT",
  "messageText": "messageText",
  "messageContent": "messageContent",
  "templateId": "templateId",
  "imageUrl": "imageUrl",
  "messageConfig": {},
  "scheduledAt": "2026-01-01T00:00:00.000Z",
  "messagesPerSecond": 1,
  "recipientContactIds": [
    "recipientContactIds"
  ],
  "recipientIds": [
    "recipientIds"
  ],
  "recipientIGSIDs": [
    "recipientIGSIDs"
  ],
  "filters": {
    "tags": [
      "tags"
    ],
    "lifecycleStage": "lifecycleStage",
    "source": "source"
  }
}'
GET/api/v1/instagram/campaigns/{id}campaigns:read

Get an Instagram campaign

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/instagram/campaigns/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/instagram/campaigns/{id}campaigns:write

Update an Instagram campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestring
descriptionstring
messageTypeTEXT | TEMPLATE | IMAGE
messageTextstring
messageContentstring
templateIdstring
imageUrlstring
messageConfigobject
scheduledAtstring
messagesPerSecondnumber
curl -X PUT "https://api.inboxy.chat/api/v1/instagram/campaigns/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "messageType": "TEXT",
  "messageText": "messageText",
  "messageContent": "messageContent",
  "templateId": "templateId",
  "imageUrl": "imageUrl",
  "messageConfig": {},
  "scheduledAt": "2026-01-01T00:00:00.000Z",
  "messagesPerSecond": 1
}'
DELETE/api/v1/instagram/campaigns/{id}campaigns:write

Delete an Instagram campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/instagram/campaigns/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/campaigns/{id}/runcampaigns:write

Start an Instagram campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/campaigns/{id}/run" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/campaigns/{id}/cancelcampaigns:write

Cancel an Instagram campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/campaigns/{id}/cancel" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/campaigns/{id}/pausecampaigns:write

Pause an Instagram campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/campaigns/{id}/pause" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/campaigns/{id}/resumecampaigns:write

Resume an Instagram campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/campaigns/{id}/resume" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/campaigns/{id}/statscampaigns:read

Campaign delivery stats

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/instagram/campaigns/{id}/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/campaigns/{id}/recipientscampaigns:read

List campaign recipients

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring

معاملات الاستعلام

pagestring
pageSizestring
statusstring
curl -X GET "https://api.inboxy.chat/api/v1/instagram/campaigns/{id}/recipients" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/campaigns/{id}/recipientscampaigns:write

Add campaign recipients

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

contactIdsstring[]
igsidsstring[]
filtersobject
curl -X POST "https://api.inboxy.chat/api/v1/instagram/campaigns/{id}/recipients" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "contactIds": [
    "contactIds"
  ],
  "igsids": [
    "igsids"
  ],
  "filters": {
    "tags": [
      "tags"
    ],
    "lifecycleStage": "lifecycleStage",
    "source": "source"
  }
}'
POST/api/v1/instagram/campaigns/{id}/duplicatecampaigns:write

Duplicate an Instagram campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/instagram/campaigns/{id}/duplicate" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/comment-automationsautomations:read

List comment-to-DM automations

Requires automations:read permission.

معاملات الاستعلام

pageintegerPage number (default 1).
limitintegerRows per page, max 50 (default 20).
curl -X GET "https://api.inboxy.chat/api/v1/instagram/comment-automations" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/instagram/comment-automationsautomations:write

Auto-reply to comments on a post (public reply and/or DM)

Requires automations:write permission.

محتوى الطلب

channelIdمطلوبstringThe Instagram or Messenger channel id (GET /api/v1/me/channels).
mediaIdمطلوبstringPost id from GET …/comment-automations/posts.
postCaptionstring
postThumbnailstring
postPermalinkstring
keywordsstring[]Reply only to comments containing one of these words; empty = every comment.
publicRepliesstring[]Public replies under the comment; one is picked at random.
dmMessagestringPlain private reply (use dmConfig for rich DMs).
dmConfigobjectPrivate reply. `{type:"text", text}`, `{type:"image", imageUrl, text?}`, `{type:"card", title, subtitle?, imageUrl?, buttons?:[{title,url}] (max 3)}`, `{type:"buttons", text, buttons:[{title,url}] (1–3)}`, `{type:"quick_replies", text, quickReplies:[string] (1–13)}`.
hideCommentbooleanHide the original comment after replying.
curl -X POST "https://api.inboxy.chat/api/v1/instagram/comment-automations" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "channelId": "channelId",
  "mediaId": "mediaId",
  "postCaption": "postCaption",
  "postThumbnail": "postThumbnail",
  "postPermalink": "postPermalink",
  "keywords": [
    "price",
    "السعر"
  ],
  "publicReplies": [
    "Sent you a DM 📩"
  ],
  "dmMessage": "dmMessage",
  "dmConfig": {
    "type": "buttons",
    "text": "Here is the price list",
    "buttons": [
      {
        "title": "Open",
        "url": "https://example.com/prices"
      }
    ]
  },
  "hideComment": true
}'
GET/api/v1/instagram/comment-automations/postschannels:read

List your Instagram posts

Requires channels:read permission.

معاملات الاستعلام

afterstringPagination cursor from the previous page of posts.
curl -X GET "https://api.inboxy.chat/api/v1/instagram/comment-automations/posts" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/comment-automations/posts/{mediaId}/commentschannels:read

List comments on an Instagram post

Requires channels:read permission.

معاملات المسار

mediaIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/instagram/comment-automations/posts/{mediaId}/comments" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/comment-automations/{id}automations:read

Get a comment-to-DM automation

Requires automations:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/instagram/comment-automations/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/instagram/comment-automations/{id}automations:write

Update a comment-to-DM automation

Requires automations:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

channelIdمطلوبstringThe Instagram or Messenger channel id (GET /api/v1/me/channels).
mediaIdمطلوبstringPost id from GET …/comment-automations/posts.
postCaptionstring
postThumbnailstring
postPermalinkstring
keywordsstring[]Reply only to comments containing one of these words; empty = every comment.
publicRepliesstring[]Public replies under the comment; one is picked at random.
dmMessagestringPlain private reply (use dmConfig for rich DMs).
dmConfigobjectPrivate reply. `{type:"text", text}`, `{type:"image", imageUrl, text?}`, `{type:"card", title, subtitle?, imageUrl?, buttons?:[{title,url}] (max 3)}`, `{type:"buttons", text, buttons:[{title,url}] (1–3)}`, `{type:"quick_replies", text, quickReplies:[string] (1–13)}`.
hideCommentbooleanHide the original comment after replying.
curl -X PUT "https://api.inboxy.chat/api/v1/instagram/comment-automations/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "channelId": "channelId",
  "mediaId": "mediaId",
  "postCaption": "postCaption",
  "postThumbnail": "postThumbnail",
  "postPermalink": "postPermalink",
  "keywords": [
    "price",
    "السعر"
  ],
  "publicReplies": [
    "Sent you a DM 📩"
  ],
  "dmMessage": "dmMessage",
  "dmConfig": {
    "type": "buttons",
    "text": "Here is the price list",
    "buttons": [
      {
        "title": "Open",
        "url": "https://example.com/prices"
      }
    ]
  },
  "hideComment": true
}'
DELETE/api/v1/instagram/comment-automations/{id}automations:write

Delete a comment-to-DM automation

Requires automations:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/instagram/comment-automations/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/instagram/comment-automations/{id}/toggleautomations:write

Turn a comment-to-DM automation on or off

Requires automations:write permission.

معاملات المسار

idمطلوبstring
curl -X PATCH "https://api.inboxy.chat/api/v1/instagram/comment-automations/{id}/toggle" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/top-performersanalytics:read

Top Instagram templates and replies

Requires analytics:read permission.

معاملات الاستعلام

windowstringLookback window as "<n>d", 1–90 days (default 7d).
curl -X GET "https://api.inboxy.chat/api/v1/instagram/top-performers" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/instagram/volume-timelineanalytics:read

Instagram message volume over time

Requires analytics:read permission.

معاملات الاستعلام

windowstringLookback window as "<n>d", 1–90 days (default 7d).
curl -X GET "https://api.inboxy.chat/api/v1/instagram/volume-timeline" \
  -H "Authorization: Bearer inboxy_your_token"

Messenger

POST/api/v1/messenger/sendmessages:send

Send a Messenger message

Requires messages:send permission.

محتوى الطلب

recipientIdمطلوبstring
textمطلوبstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/send" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "recipientId": "recipientId",
  "text": "text",
  "conversationId": "conversationId"
}'
POST/api/v1/messenger/send/tagmessages:send

Send outside the 24-hour window with a message tag

Requires messages:send permission.

محتوى الطلب

recipientIdمطلوبstring
textمطلوبstring
tagمطلوبHUMAN_AGENT
conversationIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/send/tag" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "recipientId": "recipientId",
  "text": "text",
  "tag": "HUMAN_AGENT",
  "conversationId": "conversationId"
}'
POST/api/v1/messenger/send/quick-repliesmessages:send

Send Messenger quick replies

Requires messages:send permission.

محتوى الطلب

recipientIdمطلوبstring
textمطلوبstring
quickRepliesمطلوبstring[]
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/send/quick-replies" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "recipientId": "recipientId",
  "text": "text",
  "quickReplies": [],
  "conversationId": "conversationId"
}'
POST/api/v1/messenger/send/buttonsmessages:send

Send a Messenger button template

Requires messages:send permission.

محتوى الطلب

recipientIdمطلوبstring
textمطلوبstring
buttonsمطلوبstring[]
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/send/buttons" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "recipientId": "recipientId",
  "text": "text",
  "buttons": [],
  "conversationId": "conversationId"
}'
POST/api/v1/messenger/send/mediamessages:send

Send Messenger media

Requires messages:send permission.

محتوى الطلب

recipientIdمطلوبstring
mediaTypeمطلوبimage | video | audio | file
mediaUrlمطلوبstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/send/media" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "recipientId": "recipientId",
  "mediaType": "image",
  "mediaUrl": "mediaUrl",
  "conversationId": "conversationId"
}'
POST/api/v1/messenger/send/carouselmessages:send

Send a Messenger carousel

Requires messages:send permission.

محتوى الطلب

recipientIdمطلوبstring
elementsمطلوبobject[]
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/send/carousel" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "recipientId": "recipientId",
  "elements": [
    {
      "title": "title",
      "subtitle": "subtitle",
      "image_url": "image_url",
      "default_action": {
        "type": "type",
        "url": "url"
      },
      "buttons": []
    }
  ],
  "conversationId": "conversationId"
}'
POST/api/v1/messenger/send/media-templatemessages:send

Send a Messenger media template

Requires messages:send permission.

محتوى الطلب

recipientIdمطلوبstring
mediaTypeمطلوبimage | video
mediaUrlمطلوبstring
buttonsstring[]
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/send/media-template" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "recipientId": "recipientId",
  "mediaType": "image",
  "mediaUrl": "mediaUrl",
  "buttons": [],
  "conversationId": "conversationId"
}'
POST/api/v1/messenger/send/receiptmessages:send

Send a Messenger order receipt

Requires messages:send permission.

محتوى الطلب

recipientIdمطلوبstring
recipientNameمطلوبstring
orderNumberمطلوبstring
currencyمطلوبstring
paymentMethodمطلوبstring
orderUrlstring
timestampstring
summaryمطلوبobject
elementsمطلوبobject[]
addressobject
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/send/receipt" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "recipientId": "recipientId",
  "recipientName": "recipientName",
  "orderNumber": "orderNumber",
  "currency": "currency",
  "paymentMethod": "paymentMethod",
  "orderUrl": "orderUrl",
  "timestamp": "timestamp",
  "summary": {
    "subtotal": 1,
    "shipping_cost": 1,
    "total_tax": 1,
    "total_cost": 1
  },
  "elements": [
    {
      "title": "title",
      "subtitle": "subtitle",
      "quantity": 1,
      "price": 1,
      "currency": "currency",
      "image_url": "image_url"
    }
  ],
  "address": {
    "street_1": "street_1",
    "street_2": "street_2",
    "city": "city",
    "postal_code": "postal_code",
    "state": "state",
    "country": "country"
  },
  "conversationId": "conversationId"
}'
GET/api/v1/messenger/window/{conversationId}conversations:read

Check the Messenger messaging window

Requires conversations:read permission.

معاملات المسار

conversationIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/messenger/window/{conversationId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/statsanalytics:read

Messenger message totals

Requires analytics:read permission.

معاملات الاستعلام

periodtoday | 7days | monthReporting window (default month).
curl -X GET "https://api.inboxy.chat/api/v1/messenger/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/analytics/summaryanalytics:read

Messenger analytics summary

Requires analytics:read permission.

معاملات الاستعلام

daysintegerDays to analyze, 1–365 (default 30).
curl -X GET "https://api.inboxy.chat/api/v1/messenger/analytics/summary" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/rate-limitchannels:read

Remaining Messenger send quota

Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/messenger/rate-limit" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/interactive-messageslibrary:read

List Messenger interactive messages

Requires library:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/messenger/interactive-messages" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/interactive-messageslibrary:write

Save a Messenger interactive message

Requires library:write permission.

محتوى الطلب

nameمطلوبstring
typeمطلوبbuttons | quick_replies
configمطلوبobject
aiUsableboolean
curl -X POST "https://api.inboxy.chat/api/v1/messenger/interactive-messages" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "type": "buttons",
  "config": {},
  "aiUsable": true
}'
GET/api/v1/messenger/interactive-messages/{id}library:read

Get a Messenger interactive message

Requires library:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/messenger/interactive-messages/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/messenger/interactive-messages/{id}library:write

Update a Messenger interactive message

Requires library:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

nameمطلوبstring
typeمطلوبbuttons | quick_replies
configمطلوبobject
aiUsableboolean
curl -X PUT "https://api.inboxy.chat/api/v1/messenger/interactive-messages/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "type": "buttons",
  "config": {},
  "aiUsable": true
}'
DELETE/api/v1/messenger/interactive-messages/{id}library:write

Delete a Messenger interactive message

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/messenger/interactive-messages/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/templatestemplates:read

List saved Messenger templates

Requires templates:read permission.

معاملات الاستعلام

typeBUTTON | GENERIC | RECEIPT | MEDIA | COUPON | CUSTOMER_FEEDBACK
isActivestring
searchstring
limitstring
offsetstring
curl -X GET "https://api.inboxy.chat/api/v1/messenger/templates" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/templatestemplates:write

Save a Messenger template

Requires templates:write permission.

محتوى الطلب

nameمطلوبstring
descriptionstring
typeمطلوبBUTTON | GENERIC | RECEIPT | MEDIA | COUPON | CUSTOMER_FEEDBACK
configمطلوبobject
curl -X POST "https://api.inboxy.chat/api/v1/messenger/templates" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "type": "BUTTON",
  "config": {}
}'
GET/api/v1/messenger/templates/{id}templates:read

Get a saved Messenger template

Requires templates:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/messenger/templates/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/messenger/templates/{id}templates:write

Update a saved Messenger template

Requires templates:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestring
descriptionstring
typeBUTTON | GENERIC | RECEIPT | MEDIA | COUPON | CUSTOMER_FEEDBACK
configobject
isActiveboolean
curl -X PUT "https://api.inboxy.chat/api/v1/messenger/templates/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "type": "BUTTON",
  "config": {},
  "isActive": true
}'
DELETE/api/v1/messenger/templates/{id}templates:write

Delete a saved Messenger template

Requires templates:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/messenger/templates/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/templates/{id}/sendmessages:send

Send a saved Messenger template

Requires messages:send permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

recipientIdمطلوبstring
variablesobject
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/templates/{id}/send" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "recipientId": "recipientId",
  "variables": {},
  "conversationId": "conversationId"
}'
GET/api/v1/messenger/templates/{id}/detailtemplates:read

Get template detail and usage

Requires templates:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/messenger/templates/{id}/detail" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/templates/{id}/duplicatetemplates:write

Duplicate a Messenger template

Requires templates:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/templates/{id}/duplicate" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/quick-replieslibrary:read

List Messenger quick replies

Requires library:read permission.

معاملات الاستعلام

categorystring
isActivestring
searchstring
limitstring
offsetstring
curl -X GET "https://api.inboxy.chat/api/v1/messenger/quick-replies" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/quick-replieslibrary:write

Create a Messenger quick reply

Requires library:write permission.

محتوى الطلب

nameمطلوبstring
descriptionstring
quickRepliesمطلوبobject[]
categorystring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/quick-replies" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "quickReplies": [
    {
      "content_type": "text",
      "title": "title",
      "payload": "payload",
      "image_url": "image_url"
    }
  ],
  "category": "category"
}'
GET/api/v1/messenger/quick-replies/categorieslibrary:read

List quick reply categories

Requires library:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/messenger/quick-replies/categories" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/quick-replies/{id}library:read

Get a Messenger quick reply

Requires library:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/messenger/quick-replies/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/messenger/quick-replies/{id}library:write

Update a Messenger quick reply

Requires library:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestring
descriptionstring
quickRepliesobject[]
categorystring
isActiveboolean
curl -X PUT "https://api.inboxy.chat/api/v1/messenger/quick-replies/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "quickReplies": [
    {
      "content_type": "text",
      "title": "title",
      "payload": "payload",
      "image_url": "image_url"
    }
  ],
  "category": "category",
  "isActive": true
}'
DELETE/api/v1/messenger/quick-replies/{id}library:write

Delete a Messenger quick reply

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/messenger/quick-replies/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/quick-replies/{id}/duplicatelibrary:write

Duplicate a Messenger quick reply

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/quick-replies/{id}/duplicate" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/profilechannels:read

Messenger profile (greeting, menu, ice breakers)

Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/messenger/profile" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/profile/persistent-menuchannels:read

Persistent menu

Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/messenger/profile/persistent-menu" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/profile/persistent-menuchannels:write

Set the persistent menu

Requires channels:write permission.

محتوى الطلب

localestring
composer_input_disabledboolean
call_to_actionsobject[]
curl -X POST "https://api.inboxy.chat/api/v1/messenger/profile/persistent-menu" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "locale": "locale",
  "composer_input_disabled": true,
  "call_to_actions": [
    {
      "id": "id",
      "type": "postback",
      "title": "title",
      "payload": "payload",
      "url": "url",
      "webview_height_ratio": "compact"
    }
  ]
}'
DELETE/api/v1/messenger/profile/persistent-menuchannels:write

Remove the persistent menu

Requires channels:write permission.

curl -X DELETE "https://api.inboxy.chat/api/v1/messenger/profile/persistent-menu" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/profile/greetingchannels:read

Greeting text

Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/messenger/profile/greeting" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/profile/greetingchannels:write

Set the greeting text

Requires channels:write permission.

محتوى الطلب

getStartedPayloadstring
greetingsobject[]
curl -X POST "https://api.inboxy.chat/api/v1/messenger/profile/greeting" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "getStartedPayload": "getStartedPayload",
  "greetings": [
    {
      "locale": "locale",
      "text": "text"
    }
  ]
}'
DELETE/api/v1/messenger/profile/greetingchannels:write

Remove the greeting text

Requires channels:write permission.

curl -X DELETE "https://api.inboxy.chat/api/v1/messenger/profile/greeting" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/profile/get-startedchannels:read

Get Started button

Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/messenger/profile/get-started" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/profile/get-startedchannels:write

Set the Get Started button

Requires channels:write permission.

محتوى الطلب

payloadمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/profile/get-started" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "payload": "payload"
}'
DELETE/api/v1/messenger/profile/get-startedchannels:write

Remove the Get Started button

Requires channels:write permission.

curl -X DELETE "https://api.inboxy.chat/api/v1/messenger/profile/get-started" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/profile/ice-breakerschannels:read

Ice breakers

Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/messenger/profile/ice-breakers" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/profile/ice-breakerschannels:write

Set ice breakers

Requires channels:write permission.

محتوى الطلب

ice_breakersobject[]
curl -X POST "https://api.inboxy.chat/api/v1/messenger/profile/ice-breakers" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "ice_breakers": [
    {
      "id": "id",
      "question": "question",
      "payload": "payload",
      "locale": "locale",
      "iceBreakers": [
        {
          "id": "id",
          "question": "question",
          "payload": "payload"
        }
      ]
    }
  ]
}'
DELETE/api/v1/messenger/profile/ice-breakerschannels:write

Remove ice breakers

Requires channels:write permission.

curl -X DELETE "https://api.inboxy.chat/api/v1/messenger/profile/ice-breakers" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/campaignscampaigns:read

List Messenger campaigns

Requires campaigns:read permission.

معاملات الاستعلام

statusDRAFT | SCHEDULED | RUNNING | PAUSED | COMPLETED | CANCELLED | FAILED
searchstring
limitstring
offsetstring
curl -X GET "https://api.inboxy.chat/api/v1/messenger/campaigns" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/campaignscampaigns:write

Create a Messenger campaign

Requires campaigns:write permission.

محتوى الطلب

nameمطلوبstring
descriptionstring
messageTypeمطلوبTEXT | TEMPLATE | QUICK_REPLIES
messageTextstring
templateIdstring
quickReplySetIdstring
messageConfigobject
scheduledAtstring
messagesPerSecondnumber
recipientContactIdsstring[]
recipientPSIDsstring[]
filtersobject
curl -X POST "https://api.inboxy.chat/api/v1/messenger/campaigns" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "messageType": "TEXT",
  "messageText": "messageText",
  "templateId": "templateId",
  "quickReplySetId": "quickReplySetId",
  "messageConfig": {},
  "scheduledAt": "2026-01-01T00:00:00.000Z",
  "messagesPerSecond": 1,
  "recipientContactIds": [
    "recipientContactIds"
  ],
  "recipientPSIDs": [
    "recipientPSIDs"
  ],
  "filters": {
    "tags": [
      "tags"
    ],
    "lifecycleStage": "lifecycleStage",
    "source": "source"
  }
}'
GET/api/v1/messenger/campaigns/{id}campaigns:read

Get a Messenger campaign

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/messenger/campaigns/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/messenger/campaigns/{id}campaigns:write

Update a Messenger campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestring
descriptionstring
messageTypeTEXT | TEMPLATE | QUICK_REPLIES
messageTextstring
templateIdstring
quickReplySetIdstring
messageConfigobject
scheduledAtstring
messagesPerSecondnumber
curl -X PUT "https://api.inboxy.chat/api/v1/messenger/campaigns/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "messageType": "TEXT",
  "messageText": "messageText",
  "templateId": "templateId",
  "quickReplySetId": "quickReplySetId",
  "messageConfig": {},
  "scheduledAt": "2026-01-01T00:00:00.000Z",
  "messagesPerSecond": 1
}'
DELETE/api/v1/messenger/campaigns/{id}campaigns:write

Delete a Messenger campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/messenger/campaigns/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/campaigns/{id}/runcampaigns:write

Start a Messenger campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/campaigns/{id}/run" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/campaigns/{id}/cancelcampaigns:write

Cancel a Messenger campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/campaigns/{id}/cancel" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/campaigns/{id}/pausecampaigns:write

Pause a Messenger campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/campaigns/{id}/pause" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/campaigns/{id}/resumecampaigns:write

Resume a Messenger campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/campaigns/{id}/resume" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/campaigns/{id}/statscampaigns:read

Campaign delivery stats

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/messenger/campaigns/{id}/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/campaigns/{id}/recipientscampaigns:read

List campaign recipients

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring

معاملات الاستعلام

statusstringDelivery status, e.g. SENT.
limitintegerMax rows (default 20).
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/messenger/campaigns/{id}/recipients" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/campaigns/{id}/recipientscampaigns:write

Add campaign recipients

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

contactIdsstring[]
psidsstring[]
filtersobject
curl -X POST "https://api.inboxy.chat/api/v1/messenger/campaigns/{id}/recipients" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "contactIds": [
    "contactIds"
  ],
  "psids": [
    "psids"
  ],
  "filters": {
    "tags": [
      "tags"
    ],
    "lifecycleStage": "lifecycleStage",
    "source": "source"
  }
}'
POST/api/v1/messenger/campaigns/{id}/duplicatecampaigns:write

Duplicate a Messenger campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/messenger/campaigns/{id}/duplicate" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/comment-automationsautomations:read

List comment-to-DM automations

Requires automations:read permission.

معاملات الاستعلام

pageintegerPage number (default 1).
limitintegerRows per page, max 50 (default 20).
curl -X GET "https://api.inboxy.chat/api/v1/messenger/comment-automations" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/messenger/comment-automationsautomations:write

Auto-reply to comments on a Page post (public reply and/or DM)

Requires automations:write permission.

محتوى الطلب

channelIdمطلوبstringThe Instagram or Messenger channel id (GET /api/v1/me/channels).
mediaIdمطلوبstringPost id from GET …/comment-automations/posts.
postCaptionstring
postThumbnailstring
postPermalinkstring
keywordsstring[]Reply only to comments containing one of these words; empty = every comment.
publicRepliesstring[]Public replies under the comment; one is picked at random.
dmMessagestringPlain private reply (use dmConfig for rich DMs).
dmConfigobjectPrivate reply. `{type:"text", text}`, `{type:"image", imageUrl, text?}`, `{type:"card", title, subtitle?, imageUrl?, buttons?:[{title,url}] (max 3)}`, `{type:"buttons", text, buttons:[{title,url}] (1–3)}`, `{type:"quick_replies", text, quickReplies:[string] (1–13)}`.
hideCommentbooleanHide the original comment after replying.
curl -X POST "https://api.inboxy.chat/api/v1/messenger/comment-automations" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "channelId": "channelId",
  "mediaId": "mediaId",
  "postCaption": "postCaption",
  "postThumbnail": "postThumbnail",
  "postPermalink": "postPermalink",
  "keywords": [
    "price",
    "السعر"
  ],
  "publicReplies": [
    "Sent you a DM 📩"
  ],
  "dmMessage": "dmMessage",
  "dmConfig": {
    "type": "buttons",
    "text": "Here is the price list",
    "buttons": [
      {
        "title": "Open",
        "url": "https://example.com/prices"
      }
    ]
  },
  "hideComment": true
}'
GET/api/v1/messenger/comment-automations/postschannels:read

List your Facebook Page posts

Requires channels:read permission.

معاملات الاستعلام

afterstringPagination cursor from the previous page of posts.
curl -X GET "https://api.inboxy.chat/api/v1/messenger/comment-automations/posts" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/comment-automations/posts/{mediaId}/commentschannels:read

List comments on a Page post

Requires channels:read permission.

معاملات المسار

mediaIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/messenger/comment-automations/posts/{mediaId}/comments" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/comment-automations/{id}automations:read

Get a comment-to-DM automation

Requires automations:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/messenger/comment-automations/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/messenger/comment-automations/{id}automations:write

Update a comment-to-DM automation

Requires automations:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

channelIdمطلوبstringThe Instagram or Messenger channel id (GET /api/v1/me/channels).
mediaIdمطلوبstringPost id from GET …/comment-automations/posts.
postCaptionstring
postThumbnailstring
postPermalinkstring
keywordsstring[]Reply only to comments containing one of these words; empty = every comment.
publicRepliesstring[]Public replies under the comment; one is picked at random.
dmMessagestringPlain private reply (use dmConfig for rich DMs).
dmConfigobjectPrivate reply. `{type:"text", text}`, `{type:"image", imageUrl, text?}`, `{type:"card", title, subtitle?, imageUrl?, buttons?:[{title,url}] (max 3)}`, `{type:"buttons", text, buttons:[{title,url}] (1–3)}`, `{type:"quick_replies", text, quickReplies:[string] (1–13)}`.
hideCommentbooleanHide the original comment after replying.
curl -X PUT "https://api.inboxy.chat/api/v1/messenger/comment-automations/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "channelId": "channelId",
  "mediaId": "mediaId",
  "postCaption": "postCaption",
  "postThumbnail": "postThumbnail",
  "postPermalink": "postPermalink",
  "keywords": [
    "price",
    "السعر"
  ],
  "publicReplies": [
    "Sent you a DM 📩"
  ],
  "dmMessage": "dmMessage",
  "dmConfig": {
    "type": "buttons",
    "text": "Here is the price list",
    "buttons": [
      {
        "title": "Open",
        "url": "https://example.com/prices"
      }
    ]
  },
  "hideComment": true
}'
DELETE/api/v1/messenger/comment-automations/{id}automations:write

Delete a comment-to-DM automation

Requires automations:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/messenger/comment-automations/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/messenger/comment-automations/{id}/toggleautomations:write

Turn a comment-to-DM automation on or off

Requires automations:write permission.

معاملات المسار

idمطلوبstring
curl -X PATCH "https://api.inboxy.chat/api/v1/messenger/comment-automations/{id}/toggle" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/top-performersanalytics:read

Top Messenger templates and replies

Requires analytics:read permission.

معاملات الاستعلام

windowstringLookback window as "<n>d", 1–90 days (default 7d).
curl -X GET "https://api.inboxy.chat/api/v1/messenger/top-performers" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/messenger/volume-timelineanalytics:read

Messenger message volume over time

Requires analytics:read permission.

معاملات الاستعلام

windowstringLookback window as "<n>d", 1–90 days (default 7d).
curl -X GET "https://api.inboxy.chat/api/v1/messenger/volume-timeline" \
  -H "Authorization: Bearer inboxy_your_token"

Telegram

POST/api/v1/telegram/sendmessages:send

Send a Telegram message

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
contentstring
conversationIdstring
mediaTypephoto | video | document | audio | voice
mediaUrlstring
captionstring
parseModeHTML | Markdown | MarkdownV2
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "content": "content",
  "conversationId": "conversationId",
  "mediaType": "photo",
  "mediaUrl": "mediaUrl",
  "caption": "caption",
  "parseMode": "HTML"
}'
POST/api/v1/telegram/send/inline-keyboardmessages:send

Send a message with inline buttons

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
textمطلوبstring
buttonsobject[][]
inlineKeyboardobject[][]
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/inline-keyboard" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "text": "text",
  "buttons": [
    [
      {
        "text": "text",
        "url": "url",
        "callback_data": "callback_data"
      }
    ]
  ],
  "inlineKeyboard": [
    [
      {
        "text": "text",
        "url": "url",
        "callback_data": "callback_data"
      }
    ]
  ],
  "conversationId": "conversationId"
}'
POST/api/v1/telegram/send/reply-keyboardmessages:send

Send a message with a reply keyboard

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
textمطلوبstring
keyboardمطلوبobject[][]
conversationIdstring
resize_keyboardboolean
one_time_keyboardboolean
input_field_placeholderstring
is_persistentboolean
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/reply-keyboard" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "text": "text",
  "keyboard": [
    [
      {
        "text": "text",
        "request_contact": true,
        "request_location": true
      }
    ]
  ],
  "conversationId": "conversationId",
  "resize_keyboard": true,
  "one_time_keyboard": true,
  "input_field_placeholder": "input_field_placeholder",
  "is_persistent": true
}'
POST/api/v1/telegram/send/remove-keyboardmessages:send

Remove the reply keyboard

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
textمطلوبstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/remove-keyboard" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "text": "text",
  "conversationId": "conversationId"
}'
POST/api/v1/telegram/send/stickermessages:send

Send a sticker

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
stickerمطلوبstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/sticker" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "sticker": "sticker",
  "conversationId": "conversationId"
}'
POST/api/v1/telegram/send/locationmessages:send

Send a location

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
latitudeمطلوبnumber
longitudeمطلوبnumber
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/location" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "latitude": 1,
  "longitude": 1,
  "conversationId": "conversationId"
}'
POST/api/v1/telegram/send/contactmessages:send

Send a contact

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
phoneNumberمطلوبstring
firstNameمطلوبstring
lastNamestring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/contact" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "phoneNumber": "966500000000",
  "firstName": "firstName",
  "lastName": "lastName",
  "conversationId": "conversationId"
}'
POST/api/v1/telegram/send/pollmessages:send

Send a poll

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
questionمطلوبstring
optionsمطلوبobject[]
conversationIdstring
is_anonymousboolean
isAnonymousboolean
typeregular | quiz
allows_multiple_answersboolean
allowsMultipleAnswersboolean
correct_option_idnumber
correctOptionIdnumber
explanationstring
open_periodnumber
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/poll" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "question": "question",
  "options": [
    "options"
  ],
  "conversationId": "conversationId",
  "is_anonymous": true,
  "isAnonymous": true,
  "type": "regular",
  "allows_multiple_answers": true,
  "allowsMultipleAnswers": true,
  "correct_option_id": 1,
  "correctOptionId": 1,
  "explanation": "explanation",
  "open_period": 1
}'
POST/api/v1/telegram/send/venuemessages:send

Send a venue

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
latitudeمطلوبnumber
longitudeمطلوبnumber
titleمطلوبstring
addressمطلوبstring
foursquareIdstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/venue" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "latitude": 1,
  "longitude": 1,
  "title": "title",
  "address": "address",
  "foursquareId": "foursquareId",
  "conversationId": "conversationId"
}'
POST/api/v1/telegram/send/dicemessages:send

Send an animated dice

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
emoji🎲 | 🎯 | 🏀 | ⚽ | 🎳 | 🎰
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/dice" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "emoji": "🎲",
  "conversationId": "conversationId"
}'
POST/api/v1/telegram/send/animationmessages:send

Send a GIF / animation

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
animationمطلوبstring
captionstring
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/animation" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "animation": "animation",
  "caption": "caption",
  "conversationId": "conversationId"
}'
POST/api/v1/telegram/send/video-notemessages:send

Send a round video note

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
videoNoteمطلوبstring
durationnumber
lengthnumber
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/video-note" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "videoNote": "videoNote",
  "duration": 1,
  "length": 1,
  "conversationId": "conversationId"
}'
POST/api/v1/telegram/send/invoicemessages:send

Send an invoice

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
titleمطلوبstring
descriptionمطلوبstring
payloadمطلوبstring
currencyمطلوبstring
pricesمطلوبobject[]
providerTokenstring
startParameterstring
photoUrlstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/invoice" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "title": "title",
  "description": "description",
  "payload": "payload",
  "currency": "XTR",
  "prices": [
    {
      "label": "label",
      "amount": 1
    }
  ],
  "providerToken": "providerToken",
  "startParameter": "startParameter",
  "photoUrl": "photoUrl"
}'
POST/api/v1/telegram/create-invoice-linkmessages:send

Create a payment link

Requires messages:send permission.

محتوى الطلب

titleمطلوبstring
descriptionمطلوبstring
payloadمطلوبstring
currencyمطلوبstring
pricesمطلوبobject[]
providerTokenstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/create-invoice-link" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "title",
  "description": "description",
  "payload": "payload",
  "currency": "XTR",
  "prices": [
    {
      "label": "label",
      "amount": 1
    }
  ],
  "providerToken": "providerToken"
}'
POST/api/v1/telegram/forwardmessages:send

Forward a message

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
fromChatIdمطلوبobject
messageIdمطلوبnumber
curl -X POST "https://api.inboxy.chat/api/v1/telegram/forward" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "fromChatId": "fromChatId",
  "messageId": 1
}'
POST/api/v1/telegram/copymessages:send

Copy a message to another chat

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
fromChatIdمطلوبobject
messageIdمطلوبnumber
captionstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/copy" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "fromChatId": "fromChatId",
  "messageId": 1,
  "caption": "caption"
}'
PUT/api/v1/telegram/messagemessages:send

Edit a sent message

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
messageIdمطلوبnumber
textمطلوبstring
curl -X PUT "https://api.inboxy.chat/api/v1/telegram/message" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "messageId": 1,
  "text": "text"
}'
DELETE/api/v1/telegram/messagemessages:send

Delete a message

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
messageIdمطلوبnumber
curl -X DELETE "https://api.inboxy.chat/api/v1/telegram/message" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "messageId": 1
}'
POST/api/v1/telegram/send/media-groupmessages:send

Send an album

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
mediaمطلوبobject[]
conversationIdstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/send/media-group" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "media": [
    {
      "type": "photo",
      "media": "media",
      "caption": "caption"
    }
  ],
  "conversationId": "conversationId"
}'
GET/api/v1/telegram/chat/{chatId}conversations:read

Get chat info

Requires conversations:read permission.

معاملات المسار

chatIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/telegram/chat/{chatId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/telegram/chat/{chatId}/member-countconversations:read

Get group member count

Requires conversations:read permission.

معاملات المسار

chatIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/telegram/chat/{chatId}/member-count" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/telegram/chat/banchannels:write

Ban a user from a group

Requires channels:write permission.

محتوى الطلب

chatIdمطلوبobject
userIdمطلوبnumber
untilDatenumber
curl -X POST "https://api.inboxy.chat/api/v1/telegram/chat/ban" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "userId": 1,
  "untilDate": 1
}'
POST/api/v1/telegram/chat/unbanchannels:write

Unban a user

Requires channels:write permission.

محتوى الطلب

chatIdمطلوبobject
userIdمطلوبnumber
curl -X POST "https://api.inboxy.chat/api/v1/telegram/chat/unban" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "userId": 1
}'
POST/api/v1/telegram/message/pinmessages:send

Pin a message

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
messageIdمطلوبnumber
disableNotificationboolean
curl -X POST "https://api.inboxy.chat/api/v1/telegram/message/pin" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "messageId": 1,
  "disableNotification": true
}'
POST/api/v1/telegram/message/unpinmessages:send

Unpin a message

Requires messages:send permission.

محتوى الطلب

chatIdمطلوبobject
messageIdnumber
curl -X POST "https://api.inboxy.chat/api/v1/telegram/message/unpin" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "messageId": 1
}'
POST/api/v1/telegram/chat/invite-linkchannels:write

Create a group invite link

Requires channels:write permission.

محتوى الطلب

chatIdمطلوبobject
namestring
expireDatenumber
memberLimitnumber
curl -X POST "https://api.inboxy.chat/api/v1/telegram/chat/invite-link" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "chatId": "chatId",
  "name": "name",
  "expireDate": 1,
  "memberLimit": 1
}'
GET/api/v1/telegram/bot/profilechannels:read

Bot name, description and about text

Requires channels:read permission.

معاملات الاستعلام

language_codestring
curl -X GET "https://api.inboxy.chat/api/v1/telegram/bot/profile" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/telegram/bot/profilechannels:write

Change the bot name, description and about text

Requires channels:write permission.

محتوى الطلب

namestring
descriptionstring
shortDescriptionstring
language_codestring
curl -X PUT "https://api.inboxy.chat/api/v1/telegram/bot/profile" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "shortDescription": "shortDescription",
  "language_code": "language_code"
}'
GET/api/v1/telegram/commandschannels:read

List bot commands

Requires channels:read permission.

معاملات الاستعلام

languageCodestringCommand set for this language (omit for the default).
curl -X GET "https://api.inboxy.chat/api/v1/telegram/commands" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/telegram/commandschannels:write

Set bot commands

Requires channels:write permission.

محتوى الطلب

commandsمطلوبobject[]
languageCodestring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/commands" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "commands": [
    {
      "command": "command",
      "description": "description"
    }
  ],
  "languageCode": "languageCode"
}'
DELETE/api/v1/telegram/commandschannels:write

Remove bot commands

Requires channels:write permission.

curl -X DELETE "https://api.inboxy.chat/api/v1/telegram/commands" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/telegram/statsanalytics:read

Telegram message totals

Requires analytics:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/telegram/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/telegram/campaignscampaigns:read

List Telegram campaigns

Requires campaigns:read permission.

معاملات الاستعلام

statusall | DRAFT | SCHEDULED | RUNNING | PAUSED | COMPLETED | CANCELLED | FAILED"all" or omitted returns every status.
curl -X GET "https://api.inboxy.chat/api/v1/telegram/campaigns" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/telegram/campaignscampaigns:write

Create a Telegram campaign

Requires campaigns:write permission.

محتوى الطلب

nameمطلوبstring
messageTypestringTEXT by default.
messageContentstringMessage text (when not using a template).
templateIdstringA Telegram template id instead of messageContent.
recipientIdsstring[]Contact ids; contacts without a Telegram chat are skipped.
scheduledAtstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/campaigns" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "New arrivals",
  "messageType": "TEXT",
  "messageContent": "messageContent",
  "templateId": "templateId",
  "recipientIds": [
    "recipientIds"
  ],
  "scheduledAt": "2026-01-01T00:00:00.000Z"
}'
GET/api/v1/telegram/campaigns/{id}campaigns:read

Get a Telegram campaign

Requires campaigns:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/telegram/campaigns/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
DELETE/api/v1/telegram/campaigns/{id}campaigns:write

Delete a Telegram campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/telegram/campaigns/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/telegram/campaigns/{id}/sendcampaigns:write

Start a Telegram campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/campaigns/{id}/send" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/telegram/campaigns/{id}/cancelcampaigns:write

Cancel a Telegram campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/campaigns/{id}/cancel" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/telegram/campaigns/{id}/pausecampaigns:write

Pause a Telegram campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/campaigns/{id}/pause" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/telegram/campaigns/{id}/resumecampaigns:write

Resume a Telegram campaign

Requires campaigns:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/campaigns/{id}/resume" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/telegram/templatestemplates:read

List Telegram templates

Requires templates:read permission.

معاملات الاستعلام

isActivetrue | false
typeTEXT | MEDIA | BUTTONS | POLL | RICH
searchstringName or content.
pageintegerPage number (default 1).
pageSizeinteger
curl -X GET "https://api.inboxy.chat/api/v1/telegram/templates" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/telegram/templatestemplates:write

Save a Telegram template

Requires templates:write permission.

محتوى الطلب

nameمطلوبstring
typeTEXT | MEDIA | BUTTONS | POLL | RICH
contentمطلوبstring
configobjectType-specific settings (media, inline buttons, poll options).
descriptionstring
clientIdstringYour idempotency id: sending the same clientId again returns the existing template.
curl -X POST "https://api.inboxy.chat/api/v1/telegram/templates" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Welcome",
  "type": "TEXT",
  "content": "Welcome to our store 👋",
  "config": {},
  "description": "description",
  "clientId": "clientId"
}'
GET/api/v1/telegram/templates/{id}templates:read

Get a Telegram template

Requires templates:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/telegram/templates/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/telegram/templates/{id}templates:write

Update a Telegram template

Requires templates:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

nameمطلوبstring
typeTEXT | MEDIA | BUTTONS | POLL | RICH
contentمطلوبstring
configobjectType-specific settings (media, inline buttons, poll options).
descriptionstring
clientIdstringYour idempotency id: sending the same clientId again returns the existing template.
curl -X PUT "https://api.inboxy.chat/api/v1/telegram/templates/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Welcome",
  "type": "TEXT",
  "content": "Welcome to our store 👋",
  "config": {},
  "description": "description",
  "clientId": "clientId"
}'
DELETE/api/v1/telegram/templates/{id}templates:write

Delete a Telegram template

Requires templates:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/telegram/templates/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/telegram/templates/{id}/duplicatetemplates:write

Duplicate a Telegram template

Requires templates:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/templates/{id}/duplicate" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/telegram/templates/{id}/usemessages:send

Record a Telegram template use

Requires messages:send permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/telegram/templates/{id}/use" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/telegram/top-performersanalytics:read

Top Telegram templates

Requires analytics:read permission.

معاملات الاستعلام

windowstringLookback window as "<n>d", 1–90 days (default 7d).
curl -X GET "https://api.inboxy.chat/api/v1/telegram/top-performers" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/telegram/volume-timelineanalytics:read

Telegram message volume over time

Requires analytics:read permission.

معاملات الاستعلام

windowstringLookback window as "<n>d", 1–90 days (default 7d).
curl -X GET "https://api.inboxy.chat/api/v1/telegram/volume-timeline" \
  -H "Authorization: Bearer inboxy_your_token"

AI Agents

POST/api/v1/ai-agents/draftsai:write

Create or resume an inactive AI draft

Requires ai:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/ai-agents/drafts" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/ai-agents/{agentId}/channelsai:write

Configure employee channel assignments

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring
curl -X PUT "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/channels" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/ai-agents/{agentId}/setup-testai:write

Check AI employee readiness

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/setup-test" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/ai-agents/{agentId}/publishai:write

Activate AI employee on selected channels

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/publish" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/ai-agents/{agentId}/testai:write

Test an AI employee without customer messages

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/test" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/channelsai:read

List channels available for agent assignment

Requires ai:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/channels" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/presets/personalitiesai:read

List agent personality presets

Requires ai:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/presets/personalities" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/presets/agent-typesai:read

List agent type presets

Requires ai:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/presets/agent-types" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agentsai:read

List AI agents

Requires ai:read permission.

معاملات الاستعلام

includeInactiveboolean
limitintegerDefault 50.
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/ai-agents" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/ai-agentsai:write

Create an AI agent

Requires ai:write permission.

محتوى الطلب

nameمطلوبstringAgent name (max 50 chars).
missionمطلوبstringAgent mission statement (max 500 chars).
avatarstringAvatar image URL, or null.
genderMALE | FEMALE | NEUTRALOr null.
personalityTypestringPersonality preset key, or null.
personalitystringFree-text personality description, or null.
agentTypeGENERAL | SALES | SUPPORT | REAL_ESTATE | HEALTHCARE | EDUCATION | ECOMMERCE | HOSPITALITY | CUSTOMOr null.
instructionsstringExtra instructions (max 2000 chars), or null.
primaryLanguagestringPrimary reply language, or null.
responseStyleCONCISE | BALANCED | DETAILED | FRIENDLY | FORMALOr null.
maxTokensnumber100-4000, or null.
temperaturenumber0-2, or null.
isDefaultbooleanOr null.
assignedChannelsstring[]Channel IDs this agent handles, or null.
transferStrategyLEAST_BUSY | ROUND_ROBIN | RANDOM | SPECIFIC_AGENTOr null.
transferAgentIdstringTarget user ID for handoff, or null.
sendProductImagesbooleanOr null.
curl -X POST "https://api.inboxy.chat/api/v1/ai-agents" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Layla",
  "mission": "Answer product questions and qualify leads.",
  "avatar": "avatar",
  "gender": "MALE",
  "personalityType": "personalityType",
  "personality": "personality",
  "agentType": "GENERAL",
  "instructions": "instructions",
  "primaryLanguage": "ar",
  "responseStyle": "CONCISE",
  "maxTokens": 1,
  "temperature": 1,
  "isDefault": true,
  "assignedChannels": [
    "assignedChannels"
  ],
  "transferStrategy": "LEAST_BUSY",
  "transferAgentId": "transferAgentId",
  "sendProductImages": true
}'
GET/api/v1/ai-agents/statsai:read

Get AI agent stats

Requires ai:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/insights/scheduleai:read

Get the conversation insights schedule

Requires ai:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/insights/schedule" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/ai-agents/insights/scheduleai:write

Set the conversation insights schedule

Requires ai:write permission.

محتوى الطلب

enabledمطلوبbooleanWhether scheduled insight reports are on.
cadenceمطلوبDAILY | CUSTOM_DAYS | WEEKLY | MONTHLY
intervalDaysnumber1-31, used when cadence is CUSTOM_DAYS. Defaults to 2.
dayOfWeeknumber0-6, used when cadence is WEEKLY. Defaults to 1.
dayOfMonthnumber1-28, used when cadence is MONTHLY. Defaults to 1.
scheduleHournumber0-23, hour of day to run. Defaults to 4.
timezoneمطلوبstringIANA timezone identifier.
curl -X PUT "https://api.inboxy.chat/api/v1/ai-agents/insights/schedule" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "enabled": true,
  "cadence": "WEEKLY",
  "intervalDays": 1,
  "dayOfWeek": 1,
  "dayOfMonth": 1,
  "scheduleHour": 1,
  "timezone": "Asia/Riyadh"
}'
GET/api/v1/ai-agents/insights/reportsai:read

List conversation insight reports

Requires ai:read permission.

معاملات الاستعلام

limitintegerDefault 20.
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/insights/reports" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/insights/reports/{reportId}ai:read

Get a conversation insight report

Requires ai:read permission.

معاملات المسار

reportIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/insights/reports/{reportId}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/ai-agents/insights/runai:write

Queue a manual conversation insight report

Requires ai:write permission.

محتوى الطلب

lookbackDaysnumber1-365. Defaults to 7.
modeQUICK_SAMPLE | FULL_COVERAGEDefaults to QUICK_SAMPLE.
curl -X POST "https://api.inboxy.chat/api/v1/ai-agents/insights/run" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "lookbackDays": 7,
  "mode": "QUICK_SAMPLE"
}'
GET/api/v1/ai-agents/historical-learningai:read

List historical learning profiles

Requires ai:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/historical-learning" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/ai-agents/{agentId}/historical-learningai:write

Enable or disable historical learning for an agent

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring

محتوى الطلب

enabledمطلوبbooleanEnable or disable historical learning for this agent.
curl -X PUT "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/historical-learning" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "enabled": true
}'
POST/api/v1/ai-agents/{agentId}/historical-learning/runai:write

Run historical learning analysis for an agent

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring

محتوى الطلب

lookbackDaysnumber1-365. Defaults to 365.
curl -X POST "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/historical-learning/run" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "lookbackDays": 90
}'
GET/api/v1/ai-agents/{agentId}ai:read

Get an AI agent

Requires ai:read permission.

معاملات المسار

agentIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/{agentId}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/ai-agents/{agentId}ai:write

Update an AI agent

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring

محتوى الطلب

namestringAgent name (max 50 chars).
missionstringAgent mission statement (max 500 chars).
avatarstringAvatar image URL, or null.
genderMALE | FEMALE | NEUTRALOr null.
personalityTypestringPersonality preset key, or null.
personalitystringFree-text personality description, or null.
agentTypeGENERAL | SALES | SUPPORT | REAL_ESTATE | HEALTHCARE | EDUCATION | ECOMMERCE | HOSPITALITY | CUSTOMOr null.
instructionsstringExtra instructions (max 2000 chars), or null.
primaryLanguagestringPrimary reply language, or null.
responseStyleCONCISE | BALANCED | DETAILED | FRIENDLY | FORMALOr null.
maxTokensnumber100-4000, or null.
temperaturenumber0-2, or null.
isDefaultbooleanOr null.
assignedChannelsstring[]Channel IDs this agent handles, or null.
transferStrategyLEAST_BUSY | ROUND_ROBIN | RANDOM | SPECIFIC_AGENTOr null.
transferAgentIdstringTarget user ID for handoff, or null.
sendProductImagesbooleanOr null.
isActivebooleanWhether the agent is active, or null.
curl -X PUT "https://api.inboxy.chat/api/v1/ai-agents/{agentId}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "mission": "mission",
  "avatar": "avatar",
  "gender": "MALE",
  "personalityType": "personalityType",
  "personality": "personality",
  "agentType": "GENERAL",
  "instructions": "instructions",
  "primaryLanguage": "ar",
  "responseStyle": "CONCISE",
  "maxTokens": 1,
  "temperature": 1,
  "isDefault": true,
  "assignedChannels": [
    "assignedChannels"
  ],
  "transferStrategy": "LEAST_BUSY",
  "transferAgentId": "transferAgentId",
  "sendProductImages": true,
  "isActive": true
}'
DELETE/api/v1/ai-agents/{agentId}ai:write

Delete an AI agent

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/ai-agents/{agentId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/{agentId}/knowledgeai:read

List agent knowledge entries

Requires ai:read permission.

معاملات المسار

agentIdمطلوبstring

معاملات الاستعلام

categorystring
includeInactiveboolean
limitintegerDefault 50.
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/knowledge" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/ai-agents/{agentId}/knowledgeai:write

Create employee text knowledge

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/knowledge" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/{agentId}/knowledge/categoriesai:read

List agent knowledge categories

Requires ai:read permission.

معاملات المسار

agentIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/knowledge/categories" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/{agentId}/knowledge/{knowledgeId}ai:read

Get an agent knowledge entry

Requires ai:read permission.

معاملات المسار

agentIdمطلوبstring
knowledgeIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/knowledge/{knowledgeId}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/ai-agents/{agentId}/knowledge/{knowledgeId}ai:write

Update employee knowledge

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring
knowledgeIdمطلوبstring
curl -X PUT "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/knowledge/{knowledgeId}" \
  -H "Authorization: Bearer inboxy_your_token"
DELETE/api/v1/ai-agents/{agentId}/knowledge/{knowledgeId}ai:write

Delete an agent knowledge entry

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring
knowledgeIdمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/knowledge/{knowledgeId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/upload/infoai:read

Get supported knowledge upload file types

Requires ai:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/upload/info" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/logsai:read

List agent event logs

Requires ai:read permission.

معاملات الاستعلام

agentIdstring
eventTypeMESSAGE_RECEIVED | MESSAGE_SENT | KNOWLEDGE_SEARCH | KNOWLEDGE_HIT | KNOWLEDGE_MISS | FUNCTION_CALLED | FUNCTION_SUCCESS | FUNCTION_FAILED | TASK_CREATED | LEAD_ASSIGNED | APPOINTMENT_BOOKED | ORDER_CREATED | TICKET_CREATED | HANDOFF_REQUESTED | HANDOFF_COMPLETED | ERROR_OCCURRED | RATE_LIMITED | QUOTA_EXCEEDEDMust be one of the listed values.
startDatestringISO date.
endDatestringISO date.
limitintegerDefault 50.
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/logs" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/logs/statsai:read

Get agent log stats

Requires ai:read permission.

معاملات الاستعلام

agentIdstringOne agent instead of all.
curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/logs/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/functions/builtinai:read

List built-in agent functions

Requires ai:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/functions/builtin" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ai-agents/{agentId}/functionsai:read

List agent functions

Requires ai:read permission.

معاملات المسار

agentIdمطلوبstring

معاملات الاستعلام

includeDisabledboolean
curl -X GET "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/functions" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/ai-agents/{agentId}/functionsai:write

Create an agent function

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring

محتوى الطلب

nameمطلوبstringLowercase with underscores (max 50 chars).
displayNameمطلوبstringHuman-readable name (max 100 chars).
descriptionمطلوبstringWhat the function does (max 500 chars); shown to the model as the function description.
parametersمطلوبobjectJSON Schema object describing the function parameters.
executorTypeINTERNAL | WEBHOOK | AUTOMATIONDefaults to INTERNAL.
executorConfigobjectExecutor-specific config (e.g. webhook URL).
curl -X POST "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/functions" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "check_order_status",
  "displayName": "Check order status",
  "description": "description",
  "parameters": {},
  "executorType": "INTERNAL",
  "executorConfig": {}
}'
PUT/api/v1/ai-agents/{agentId}/functions/{functionId}ai:write

Update an agent function

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring
functionIdمطلوبstring

محتوى الطلب

namestringLowercase with underscores (max 50 chars).
displayNamestringHuman-readable name (max 100 chars).
descriptionstringWhat the function does (max 500 chars); shown to the model as the function description.
parametersobjectJSON Schema object describing the function parameters.
executorTypeINTERNAL | WEBHOOK | AUTOMATIONDefaults to INTERNAL.
executorConfigobjectExecutor-specific config (e.g. webhook URL).
isEnabledbooleanWhether the function is enabled.
curl -X PUT "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/functions/{functionId}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "check_order_status",
  "displayName": "Check order status",
  "description": "description",
  "parameters": {},
  "executorType": "INTERNAL",
  "executorConfig": {},
  "isEnabled": true
}'
DELETE/api/v1/ai-agents/{agentId}/functions/{functionId}ai:write

Delete an agent function

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring
functionIdمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/functions/{functionId}" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/ai-agents/{agentId}/functions/{functionId}/toggleai:write

Enable or disable an agent function

Requires ai:write permission.

معاملات المسار

agentIdمطلوبstring
functionIdمطلوبstring

محتوى الطلب

isEnabledمطلوبbooleanEnable or disable the function.
curl -X PATCH "https://api.inboxy.chat/api/v1/ai-agents/{agentId}/functions/{functionId}/toggle" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "isEnabled": true
}'
POST/api/v1/ai-agents/functions/syncai:write

Sync built-in functions to all agents

Requires ai:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/ai-agents/functions/sync" \
  -H "Authorization: Bearer inboxy_your_token"

CSAT

GET/api/v1/csat/configanalytics:read

Get the CSAT survey config

Requires analytics:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/csat/config" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/csat/analyticsanalytics:read

Get CSAT analytics for a period

Requires analytics:read permission.

معاملات الاستعلام

period7d | 30d | 90dReporting window (default 30d).
curl -X GET "https://api.inboxy.chat/api/v1/csat/analytics" \
  -H "Authorization: Bearer inboxy_your_token"

Team

GET/api/v1/teamteam:read

List team members

Requires team:read permission.

معاملات الاستعلام

searchstringName or email.
roleCOMPANY_ADMIN | MANAGER | AGENT | VIEWER
isActivetrue | false
limitintegerPage size (default 50).
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/team" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/team/{userId}team:read

Get a team member

Requires team:read permission.

معاملات المسار

userIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/team/{userId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/team/statsteam:read

Get team headcount and role breakdown

Requires team:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/team/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/companyteam:read

Get company profile and settings

Requires team:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/company" \
  -H "Authorization: Bearer inboxy_your_token"

Conversations

GET/api/v1/inbox/conversationsconversations:read

List inbox conversations

Requires conversations:read permission.

معاملات الاستعلام

statusstringConversation status, e.g. OPEN or CLOSED.
channelTypestringChannel type, e.g. WHATSAPP or INSTAGRAM.
assignedToIdstringOnly conversations assigned to this user.
unassignedbooleanOnly unassigned conversations (overrides assignedToId).
unreadbooleanOnly conversations with unread messages.
aiEnabledbooleanFilter by whether the AI agent is on.
searchstringContact name or phone.
tagIdsstringComma-separated contact tag ids.
dateFromstringISO date; last message on or after.
dateTostringISO date; last message on or before.
limitintegerMax rows, up to 1000 (default 50).
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/inbox/conversations" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/inbox/conversations/{conversationId}conversations:read

Get a conversation

Requires conversations:read permission.

معاملات المسار

conversationIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/inbox/conversations/{conversationId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/inbox/conversations/{conversationId}/messagesmessages:read

List messages in a conversation

Requires messages:read permission.

معاملات المسار

conversationIdمطلوبstring

معاملات الاستعلام

limitintegerMax messages, up to 200 (default 100).
beforestringISO date cursor: messages older than this (scroll back).
afterstringISO date cursor: messages newer than this. Wins over before.
curl -X GET "https://api.inboxy.chat/api/v1/inbox/conversations/{conversationId}/messages" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/inbox/conversations/{conversationId}/windowconversations:read

Check the 24-hour messaging window

Requires conversations:read permission.

معاملات المسار

conversationIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/inbox/conversations/{conversationId}/window" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/inbox/conversations/{conversationId}/assignconversations:write

Assign a conversation to an agent

Requires conversations:write permission.

معاملات المسار

conversationIdمطلوبstring

محتوى الطلب

assignedToIdstringUser ID to assign the conversation to, or null to unassign. Must belong to the same company.
curl -X PATCH "https://api.inboxy.chat/api/v1/inbox/conversations/{conversationId}/assign" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "assignedToId": "usr_2n4k1x9p0q"
}'
PATCH/api/v1/inbox/conversations/{conversationId}/statusconversations:write

Change conversation status

Requires conversations:write permission.

معاملات المسار

conversationIdمطلوبstring

محتوى الطلب

statusمطلوبopen | pending | closedNew conversation status: open, pending or closed. Inboxy has no resolved state for conversations; close a finished conversation.
curl -X PATCH "https://api.inboxy.chat/api/v1/inbox/conversations/{conversationId}/status" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "closed"
}'
PATCH/api/v1/inbox/conversations/{conversationId}/labelsconversations:write

Set conversation labels

Requires conversations:write permission.

معاملات المسار

conversationIdمطلوبstring

محتوى الطلب

labelsstring[]Full list of labels to set on the conversation (replaces existing labels).
curl -X PATCH "https://api.inboxy.chat/api/v1/inbox/conversations/{conversationId}/labels" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "labels": [
    "vip",
    "needs-followup"
  ]
}'
GET/api/v1/inbox/conversations/{conversationId}/notes/listconversations:read

List internal notes

Requires conversations:read permission.

معاملات المسار

conversationIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/inbox/conversations/{conversationId}/notes/list" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/inbox/conversations/{conversationId}/notes/listconversations:write

Add an internal note

Requires conversations:write permission.

معاملات المسار

conversationIdمطلوبstring

محتوى الطلب

contentمطلوبstringInternal note text, visible only to your team.
curl -X POST "https://api.inboxy.chat/api/v1/inbox/conversations/{conversationId}/notes/list" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "content": "Customer asked about bulk pricing — follow up Thursday."
}'
GET/api/v1/public/conversationsconversations:read

List conversations

Conversations, newest first (by creation). Status is open, pending or closed. Includes the last message. Requires conversations:read permission.

معاملات الاستعلام

limitintegerPage size, 1-100 (default 20).
pageSizeintegerDeprecated alias of `limit`.
cursorstringThe `meta.nextCursor` of the previous page. Opaque.
pageintegerRemoved in favour of `cursor`. `page=1` is accepted; any other value is refused with 400.
statusopen | pending | closed
channelTypewhatsapp | messenger | instagram | telegram | web | sms | tiktok
contactIdstring
assignedToIdstring
unreadtrue | false`true`: only unread.
searchstringContact name or phone contains.
dateFromstringLast message at or after.
dateTostringLast message at or before.
curl -X GET "https://api.inboxy.chat/api/v1/public/conversations" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/public/conversations/{id}conversations:read

Get a conversation

One conversation with its contact, channel and last message. Requires conversations:read permission.

معاملات المسار

idمطلوبstringResource id
curl -X GET "https://api.inboxy.chat/api/v1/public/conversations/{id}" \
  -H "Authorization: Bearer inboxy_your_token"

Automations

GET/api/v1/automations-v2automations:read

List workflows

Requires automations:read permission.

معاملات الاستعلام

statusDRAFT | ACTIVE | PAUSED | ARCHIVED
channelTypeWHATSAPP | INSTAGRAM | MESSENGER | TELEGRAM | WEB | SMS | TIKTOK
searchstringName or description.
limitinteger1–100 (default 20).
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/automations-v2" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/automations-v2automations:write

Create a workflow

Requires automations:write permission.

محتوى الطلب

nameمطلوبstring
descriptionstring
channelTypeWHATSAPP | INSTAGRAM | MESSENGER | TELEGRAM | WEB | SMS | TIKTOK
curl -X POST "https://api.inboxy.chat/api/v1/automations-v2" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Cart recovery on WhatsApp",
  "description": "description",
  "channelType": "WHATSAPP"
}'
POST/api/v1/automations-v2/importautomations:write

Import a workflow document

Requires automations:write permission.

محتوى الطلب

formatVersionمطلوبstringThe formatVersion from GET …/:workflowId/export.
namestring
descriptionstring
channelTypeWHATSAPP | INSTAGRAM | MESSENGER | TELEGRAM | WEB | SMS | TIKTOK
triggerTypeمطلوبstringThe event that starts the workflow — any webhook platform event name, e.g. "whatsapp.message.received", "ecommerce.cart.abandoned", "web_event.received".
triggerConfigobjectTrigger filters (channel, keywords, event fields).
nodesمطلوبobject[]Each node: `{ id, type, position?, label?, config?, version? }`. `type` is a registered node type (e.g. "whatsapp.send.text", "time.delay", "ticket.create"); `config` is validated per type on publish. Max 500. Easiest start: export a workflow built in the dashboard (GET …/:workflowId/export) and edit it.
edgesمطلوبobject[]Each edge: `{ id, source, target, sourceHandle? }` referencing node ids. Max 1000.
curl -X POST "https://api.inboxy.chat/api/v1/automations-v2/import" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "formatVersion": "formatVersion",
  "name": "name",
  "description": "description",
  "channelType": "WHATSAPP",
  "triggerType": "ecommerce.cart.abandoned",
  "triggerConfig": {},
  "nodes": [
    {}
  ],
  "edges": [
    {}
  ]
}'
GET/api/v1/automations-v2/{workflowId}automations:read

Get a workflow

Requires automations:read permission.

معاملات المسار

workflowIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}" \
  -H "Authorization: Bearer inboxy_your_token"
DELETE/api/v1/automations-v2/{workflowId}automations:write

Delete a workflow

Requires automations:write permission.

معاملات المسار

workflowIdمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/automations-v2/{workflowId}/graphautomations:read

Get a workflow with its nodes and edges

Requires automations:read permission.

معاملات المسار

workflowIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}/graph" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/automations-v2/{workflowId}/activation-previewautomations:read

Preview the exact published workflow before activation

Requires automations:read permission.

معاملات المسار

workflowIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}/activation-preview" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/automations-v2/{workflowId}/activateautomations:write

Activate the exact approved workflow snapshot

Requires automations:write permission.

معاملات المسار

workflowIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}/activate" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/automations-v2/{workflowId}/exportautomations:read

Export a workflow as a portable document

Requires automations:read permission.

معاملات المسار

workflowIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}/export" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/automations-v2/{workflowId}/statusautomations:write

Turn a workflow on, pause or archive it

Requires automations:write permission.

معاملات المسار

workflowIdمطلوبstring

محتوى الطلب

statusمطلوبDRAFT | ACTIVE | PAUSED | ARCHIVEDACTIVE runs the published version; PAUSED stops new runs.
curl -X PATCH "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}/status" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "ACTIVE"
}'
POST/api/v1/automations-v2/{workflowId}/publishautomations:write

Validate and publish a workflow graph

Requires automations:write permission.

معاملات المسار

workflowIdمطلوبstring

محتوى الطلب

triggerTypeمطلوبstringThe event that starts the workflow — any webhook platform event name, e.g. "whatsapp.message.received", "ecommerce.cart.abandoned", "web_event.received".
triggerConfigobjectTrigger filters (channel, keywords, event fields).
nodesمطلوبobject[]Each node: `{ id, type, position?, label?, config?, version? }`. `type` is a registered node type (e.g. "whatsapp.send.text", "time.delay", "ticket.create"); `config` is validated per type on publish. Max 500. Easiest start: export a workflow built in the dashboard (GET …/:workflowId/export) and edit it.
edgesمطلوبobject[]Each edge: `{ id, source, target, sourceHandle? }` referencing node ids. Max 1000.
curl -X POST "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}/publish" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "triggerType": "ecommerce.cart.abandoned",
  "triggerConfig": {},
  "nodes": [
    {}
  ],
  "edges": [
    {}
  ]
}'
GET/api/v1/automations-v2/{workflowId}/runsautomations:read

List runs (execution history)

Requires automations:read permission.

معاملات المسار

workflowIdمطلوبstring

معاملات الاستعلام

statusPENDING | RUNNING | WAITING | SUCCEEDED | FAILED | CANCELLED
limitinteger1–100 (default 20).
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}/runs" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/automations-v2/{workflowId}/runs/{runId}automations:read

Get one run with its steps

Requires automations:read permission.

معاملات المسار

workflowIdمطلوبstring
runIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}/runs/{runId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/automations-v2/{workflowId}/statsanalytics:read

Run statistics for a workflow

Requires analytics:read permission.

معاملات المسار

workflowIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/automations-v2/{workflowId}/sample-eventsautomations:read

Recent real events this workflow’s trigger would receive

Requires automations:read permission.

معاملات المسار

workflowIdمطلوبstring

معاملات الاستعلام

typestringEvent type to sample (default: the workflow's trigger), e.g. whatsapp.message.received.
limitinteger1–10 (default 5).
curl -X GET "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}/sample-events" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/automations-v2/{workflowId}/test-runautomations:write

Dry-run a workflow on a sample event (nothing is sent)

Requires automations:write permission.

معاملات المسار

workflowIdمطلوبstring

محتوى الطلب

conversationIdstringDefaults to the most recent conversation.
sampleMessagestringText injected into the sample trigger event. Dry run: nothing is sent and no AI is billed.
curl -X POST "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}/test-run" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "conversationId": "conversationId",
  "sampleMessage": "do you ship to Jeddah?"
}'
POST/api/v1/automations-v2/{workflowId}/test-armautomations:write

Capture the next real trigger event as a sample (60 seconds)

Requires automations:write permission.

معاملات المسار

workflowIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/automations-v2/{workflowId}/test-arm" \
  -H "Authorization: Bearer inboxy_your_token"

Interactive messages

GET/api/v1/interactive-messageslibrary:read

List saved interactive messages

Requires library:read permission.

معاملات الاستعلام

typeBUTTONS | LIST | LOCATION | CONTACT | CTA_URL | LOCATION_REQUEST
categorystring
isActivebooleanDefaults to active only.
searchstringName, description or tags.
curl -X GET "https://api.inboxy.chat/api/v1/interactive-messages" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/interactive-messageslibrary:write

Save an interactive message

Requires library:write permission.

محتوى الطلب

nameمطلوبstring
descriptionstring
typeمطلوبBUTTONS | LIST | LOCATION | CONTACT | CTA_URL | LOCATION_REQUEST
configمطلوبobjectBUTTONS: `{body, header?, headerImage?, footer?, buttons:[{id,title}]}` (max 3). LIST: `{body, buttonText, sections:[{title, rows:[{id,title,description?}]}]}`. LOCATION: `{latitude, longitude, name?, address?}`. CONTACT: WhatsApp contact card. CTA_URL: `{body, buttonText, url}`. LOCATION_REQUEST: `{body}`.
categorystring
tagsstring[]
curl -X POST "https://api.inboxy.chat/api/v1/interactive-messages" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Main menu",
  "description": "description",
  "type": "BUTTONS",
  "config": {
    "body": "How can we help?",
    "buttons": [
      {
        "id": "orders",
        "title": "My orders"
      },
      {
        "id": "agent",
        "title": "Talk to us"
      }
    ]
  },
  "category": "category",
  "tags": [
    "tags"
  ]
}'
GET/api/v1/interactive-messages/statslibrary:read

Saved interactive message stats

Requires library:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/interactive-messages/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/interactive-messages/categorieslibrary:read

List library categories

Requires library:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/interactive-messages/categories" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/interactive-messages/{id}library:read

Get a saved interactive message

Requires library:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/interactive-messages/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/interactive-messages/{id}library:write

Update a saved interactive message

Requires library:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestring
descriptionstring
configobject
categorystring
tagsstring[]
isActiveboolean
curl -X PUT "https://api.inboxy.chat/api/v1/interactive-messages/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "config": {},
  "category": "category",
  "tags": [
    "tags"
  ],
  "isActive": true
}'
DELETE/api/v1/interactive-messages/{id}library:write

Delete a saved interactive message

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/interactive-messages/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/interactive-messages/{id}/duplicatelibrary:write

Duplicate a saved interactive message

Requires library:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

nameمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/interactive-messages/{id}/duplicate" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Main menu (copy)"
}'

Quick Replies

GET/api/v1/quick-replieslibrary:read

List quick replies

Requires library:read permission.

معاملات الاستعلام

categorystring
isActivebooleanFilter by active state.
searchstring
curl -X GET "https://api.inboxy.chat/api/v1/quick-replies" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/quick-replieslibrary:write

Create a quick reply

Requires library:write permission.

محتوى الطلب

shortcutمطلوبstringSlash-command shortcut, unique per company.
labelمطلوبstringDisplay label.
textمطلوبstringReply text to insert.
categorystringCategory to group under.
curl -X POST "https://api.inboxy.chat/api/v1/quick-replies" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "shortcut": "/refund",
  "label": "Refund policy",
  "text": "text",
  "category": "category"
}'
GET/api/v1/quick-replies/categorieslibrary:read

List quick reply categories

Requires library:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/quick-replies/categories" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/quick-replies/categories/renamelibrary:write

Rename a quick reply category

Requires library:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/quick-replies/categories/rename" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/quick-replies/categories/deletelibrary:write

Remove a category from its quick replies

Requires library:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/quick-replies/categories/delete" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/quick-replies/{id}library:read

Get a quick reply

Requires library:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/quick-replies/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/quick-replies/{id}library:write

Update a quick reply

Requires library:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

shortcutstringSlash-command shortcut.
labelstringDisplay label.
textstringReply text.
categorystringCategory to group under.
isActivebooleanWhether the quick reply is active.
curl -X PUT "https://api.inboxy.chat/api/v1/quick-replies/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "shortcut": "shortcut",
  "label": "label",
  "text": "text",
  "category": "category",
  "isActive": true
}'
DELETE/api/v1/quick-replies/{id}library:write

Delete a quick reply

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/quick-replies/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/quick-replies/{id}/uselibrary:write

Record quick reply usage

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/quick-replies/{id}/use" \
  -H "Authorization: Bearer inboxy_your_token"

Saved Contacts

GET/api/v1/saved-contactslibrary:read

List saved contacts

Requires library:read permission.

معاملات الاستعلام

categorystring
isActivebooleanFilter by active state.
searchstring
curl -X GET "https://api.inboxy.chat/api/v1/saved-contacts" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/saved-contactslibrary:write

Create a saved contact

Requires library:write permission.

محتوى الطلب

nameمطلوبstringContact display name.
formattedNameمطلوبstringFormatted display name used in the vCard.
phonesobject[]
emailsobject[]
organizationstringCompany/organization name.
titlestringJob title.
addressesobject[]
urlsobject[]
categorystringCategory to group under.
curl -X POST "https://api.inboxy.chat/api/v1/saved-contacts" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Ahmed Al-Otaibi",
  "formattedName": "Ahmed Al-Otaibi - Sales",
  "phones": [
    {
      "type": "WORK",
      "phone": "966500000000"
    }
  ],
  "emails": [
    {
      "type": "WORK",
      "email": "customer@example.com"
    }
  ],
  "organization": "organization",
  "title": "title",
  "addresses": [
    {
      "type": "WORK",
      "street": "street",
      "city": "city",
      "state": "state",
      "zip": "zip",
      "country": "country"
    }
  ],
  "urls": [
    {
      "type": "WORK",
      "url": "url"
    }
  ],
  "category": "category"
}'
GET/api/v1/saved-contacts/categorieslibrary:read

List saved contact categories

Requires library:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/saved-contacts/categories" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/saved-contacts/{id}library:read

Get a saved contact

Requires library:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/saved-contacts/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/saved-contacts/{id}library:write

Update a saved contact

Requires library:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestringContact display name.
formattedNamestringFormatted display name used in the vCard.
phonesobject[]
emailsobject[]
organizationstringCompany/organization name.
titlestringJob title.
addressesobject[]
urlsobject[]
categorystringCategory to group under.
isActivebooleanWhether the saved contact is active.
curl -X PUT "https://api.inboxy.chat/api/v1/saved-contacts/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "formattedName": "formattedName",
  "phones": [
    {
      "type": "WORK",
      "phone": "966500000000"
    }
  ],
  "emails": [
    {
      "type": "WORK",
      "email": "customer@example.com"
    }
  ],
  "organization": "organization",
  "title": "title",
  "addresses": [
    {
      "type": "WORK",
      "street": "street",
      "city": "city",
      "state": "state",
      "zip": "zip",
      "country": "country"
    }
  ],
  "urls": [
    {
      "type": "WORK",
      "url": "url"
    }
  ],
  "category": "category",
  "isActive": true
}'
DELETE/api/v1/saved-contacts/{id}library:write

Delete a saved contact

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/saved-contacts/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/saved-contacts/{id}/whatsapplibrary:read

Get a saved contact in WhatsApp vCard format

Requires library:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/saved-contacts/{id}/whatsapp" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/saved-contacts/{id}/uselibrary:write

Record saved contact usage

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/saved-contacts/{id}/use" \
  -H "Authorization: Bearer inboxy_your_token"

Saved Locations

GET/api/v1/saved-locationslibrary:read

List saved locations

Requires library:read permission.

معاملات الاستعلام

categorystring
isActivebooleanFilter by active state.
searchstring
curl -X GET "https://api.inboxy.chat/api/v1/saved-locations" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/saved-locationslibrary:write

Create a saved location

Requires library:write permission.

محتوى الطلب

nameمطلوبstringLocation name.
addressstringStreet address.
latitudeمطلوبnumber
longitudeمطلوبnumber
categorystringCategory to group under.
isActivebooleanDefaults to true.
curl -X POST "https://api.inboxy.chat/api/v1/saved-locations" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Main Warehouse",
  "address": "address",
  "latitude": 24.7136,
  "longitude": 46.6753,
  "category": "category",
  "isActive": true
}'
GET/api/v1/saved-locations/categorieslibrary:read

List saved location categories

Requires library:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/saved-locations/categories" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/saved-locations/{id}library:read

Get a saved location

Requires library:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/saved-locations/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/saved-locations/{id}library:write

Update a saved location

Requires library:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestringLocation name.
addressstringStreet address.
latitudenumber
longitudenumber
categorystringCategory to group under.
isActiveboolean
curl -X PUT "https://api.inboxy.chat/api/v1/saved-locations/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "address": "address",
  "latitude": 1,
  "longitude": 1,
  "category": "category",
  "isActive": true
}'
DELETE/api/v1/saved-locations/{id}library:write

Delete a saved location

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/saved-locations/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/saved-locations/{id}/whatsapplibrary:read

Get a saved location in WhatsApp location format

Requires library:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/saved-locations/{id}/whatsapp" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/saved-locations/{id}/uselibrary:write

Record saved location usage

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/saved-locations/{id}/use" \
  -H "Authorization: Bearer inboxy_your_token"

Stores

POST/api/v1/woocommerce/syncchannels:write

Sync from WooCommerce (?full=true for a full reconcile)

Requires channels:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/woocommerce/sync" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/woocommerce/sync/customerschannels:write

Sync WooCommerce customers

Requires channels:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/woocommerce/sync/customers" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/woocommerce/sync/orderschannels:write

Sync WooCommerce orders

Requires channels:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/woocommerce/sync/orders" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/woocommerce/sync/productschannels:write

Sync WooCommerce products

Requires channels:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/woocommerce/sync/products" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/woocommerce/abandoned-cartsecommerce:read

WooCommerce abandoned carts

Requires ecommerce:read permission.

معاملات الاستعلام

statusABANDONED | RECOVERED | EXPIRED
pageintegerPage number (default 1).
per_pageintegerUp to 100 (default 20).
curl -X GET "https://api.inboxy.chat/api/v1/woocommerce/abandoned-carts" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/woocommerce/abandoned-carts/statsecommerce:read

WooCommerce cart recovery stats

Requires ecommerce:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/woocommerce/abandoned-carts/stats" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/woocommerce/abandoned-carts/{id}/recoverecommerce:write

Mark a WooCommerce cart recovered

Requires ecommerce:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

orderIdnumberThe order that recovered the cart, if known.
curl -X PATCH "https://api.inboxy.chat/api/v1/woocommerce/abandoned-carts/{id}/recover" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "orderId": 1
}'
GET/api/v1/shopify/configchannels:read

Shopify connection status (no secrets)

Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/shopify/config" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/shopify/syncchannels:write

Sync everything from Shopify

Requires channels:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/shopify/sync" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/shopify/sync/customerschannels:write

Sync Shopify customers

Requires channels:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/shopify/sync/customers" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/shopify/sync/orderschannels:write

Sync Shopify orders

Requires channels:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/shopify/sync/orders" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/shopify/sync/productschannels:write

Sync Shopify products

Requires channels:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/shopify/sync/products" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/salla/configchannels:read

Salla connection status (no secrets)

Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/salla/config" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/salla/abandoned-cartsecommerce:read

Salla abandoned carts

Requires ecommerce:read permission.

معاملات الاستعلام

pageintegerPage number (default 1).
limitintegerUp to 100 (default 20).
statusstring
curl -X GET "https://api.inboxy.chat/api/v1/salla/abandoned-carts" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/salla/abandoned-carts/statsecommerce:read

Salla cart recovery stats

Requires ecommerce:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/salla/abandoned-carts/stats" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/salla/abandoned-carts/{id}/recoverecommerce:write

Mark a Salla cart recovered

Requires ecommerce:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

orderIdnumberThe order that recovered the cart, if known.
curl -X PATCH "https://api.inboxy.chat/api/v1/salla/abandoned-carts/{id}/recover" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "orderId": 1
}'
POST/api/v1/salla/syncchannels:write

Sync from Salla

Requires channels:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/salla/sync" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/zid/configchannels:read

Zid connection status (no secrets)

Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/zid/config" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/zid/syncchannels:write

Sync orders from Zid

Requires channels:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/zid/sync" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/zid/abandoned-cartsecommerce:read

Zid abandoned carts

Requires ecommerce:read permission.

معاملات الاستعلام

pageintegerPage number (default 1).
limitintegerUp to 100 (default 20).
statusABANDONED | RECOVERED | COMPLETED
curl -X GET "https://api.inboxy.chat/api/v1/zid/abandoned-carts" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/easy-orders/configchannels:read

EasyOrders connection status (no secrets)

Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/easy-orders/config" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/easy-orders/syncchannels:write

Sync from EasyOrders

Requires channels:write permission.

curl -X POST "https://api.inboxy.chat/api/v1/easy-orders/sync" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ecommerce/overviewecommerce:read

Store KPIs: orders, revenue, store connectivity

Requires ecommerce:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/ecommerce/overview" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ecommerce/customersecommerce:read

List store customers across platforms

Requires ecommerce:read permission.

معاملات الاستعلام

pageintegerPage number (default 1).
pageSizeintegerUp to 100 (default 25).
searchstringName, email or phone.
platformstringComma-separated: SHOPIFY, SALLA, WOOCOMMERCE, ZID, EASYORDERS.
curl -X GET "https://api.inboxy.chat/api/v1/ecommerce/customers" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/ecommerce/customers/{id}ecommerce:read

Get a store customer with orders

Requires ecommerce:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/ecommerce/customers/{id}" \
  -H "Authorization: Bearer inboxy_your_token"

Webhooks

GET/api/v1/webhooks/eventswebhooks:read

List webhook event types

Requires webhooks:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/webhooks/events" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/webhookswebhooks:read

List webhooks

Requires webhooks:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/webhooks" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/webhookswebhooks:write

Register a webhook

Requires webhooks:write permission.

محتوى الطلب

nameمطلوبstringWebhook name.
urlمطلوبstringHTTPS endpoint to receive events. Must be a public, non-private-network URL.
eventsمطلوبstring[]Events to receive: exact names from GET /api/v1/webhooks/events, "*" for everything, or a prefix wildcard such as "whatsapp.*", "ecommerce.order.*" or "ticket.*".
maxRetriesnumberMax delivery retry attempts.
fieldExclusionsstring[]Dot-separated payload paths to omit from delivered payloads (max 20).
consecutiveFailureThresholdnumberConsecutive failures (5-1000) before the webhook auto-pauses.
curl -X POST "https://api.inboxy.chat/api/v1/webhooks" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Order sync",
  "url": "https://example.com/webhooks/inboxy",
  "events": [
    "message.received",
    "ecommerce.order.*",
    "ticket.created"
  ],
  "maxRetries": 1,
  "fieldExclusions": [
    "fieldExclusions"
  ],
  "consecutiveFailureThreshold": 1
}'
GET/api/v1/webhooks/{webhookId}webhooks:read

Get a webhook

Requires webhooks:read permission.

معاملات المسار

webhookIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/webhooks/{webhookId}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/webhooks/{webhookId}webhooks:write

Update a webhook

Requires webhooks:write permission.

معاملات المسار

webhookIdمطلوبstring

محتوى الطلب

namestringWebhook name.
urlstringHTTPS endpoint to receive events.
eventsstring[]Events to receive: exact names from GET /api/v1/webhooks/events, "*" for everything, or a prefix wildcard such as "whatsapp.*", "ecommerce.order.*" or "ticket.*".
statusACTIVE | PAUSED | FAILEDWebhook status.
maxRetriesnumberMax delivery retry attempts.
fieldExclusionsstring[]Dot-separated payload paths to omit from delivered payloads (max 20).
consecutiveFailureThresholdnumberConsecutive failures (5-1000) before the webhook auto-pauses.
curl -X PUT "https://api.inboxy.chat/api/v1/webhooks/{webhookId}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "url": "url",
  "events": [
    "message.received",
    "ecommerce.order.*",
    "ticket.created"
  ],
  "status": "ACTIVE",
  "maxRetries": 1,
  "fieldExclusions": [
    "fieldExclusions"
  ],
  "consecutiveFailureThreshold": 1
}'
DELETE/api/v1/webhooks/{webhookId}webhooks:write

Delete a webhook

Requires webhooks:write permission.

معاملات المسار

webhookIdمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/webhooks/{webhookId}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/webhooks/{webhookId}/testwebhooks:write

Send a test delivery

Requires webhooks:write permission.

معاملات المسار

webhookIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/webhooks/{webhookId}/test" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/webhooks/{webhookId}/logswebhooks:read

List webhook deliveries

Requires webhooks:read permission.

معاملات المسار

webhookIdمطلوبstring

معاملات الاستعلام

limitintegerMax deliveries (default 50).
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/webhooks/{webhookId}/logs" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/webhooks/{webhookId}/secretwebhooks:write

Reveal the signing secret (to verify X-Inboxy-Signature)

Requires webhooks:write permission.

معاملات المسار

webhookIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/webhooks/{webhookId}/secret" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/webhooks/{webhookId}/regenerate-secretwebhooks:write

Rotate the signing secret

Requires webhooks:write permission.

معاملات المسار

webhookIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/webhooks/{webhookId}/regenerate-secret" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/webhooks/{webhookId}/replaywebhooks:write

Redeliver the failed deliveries of the last 7 days

Requires webhooks:write permission.

معاملات المسار

webhookIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/webhooks/{webhookId}/replay" \
  -H "Authorization: Bearer inboxy_your_token"

Orders

GET/api/v1/ordersorders:read

List orders

Requires orders:read permission.

معاملات الاستعلام

contactIdstring
statusstringComma-separated: PENDING, CONFIRMED, PROCESSING, COMPLETED, CANCELLED, REFUNDED.
paymentStatusstringComma-separated: UNPAID, PARTIALLY_PAID, PAID, REFUNDED, PARTIALLY_REFUNDED.
fulfillmentStatusstringComma-separated: UNFULFILLED, PARTIALLY_FULFILLED, SHIPPED, DELIVERED, FULFILLED, RETURNED.
externalSourcestringComma-separated: WHATSAPP_COMMERCE, WOOCOMMERCE, SHOPIFY, SALLA, ZID, EASY_ORDERS, MANUAL, AI_AGENT, WEB_EVENT.
minTotalnumber
maxTotalnumber
dateAfterstringISO date-time.
dateBeforestringISO date-time.
searchstringOrder number or customer.
pageintegerPage number (default 1).
limitinteger
sortByorderDate | total | createdAt
sortOrderasc | descSort direction.
curl -X GET "https://api.inboxy.chat/api/v1/orders" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/ordersorders:write

Create an order

Requires orders:write permission.

محتوى الطلب

contactIdمطلوبstringContact this order belongs to.
externalIdstringID of this order in the external source system.
externalSourceمطلوبWHATSAPP_COMMERCE | WOOCOMMERCE | SHOPIFY | SALLA | ZID | EASY_ORDERS | MANUAL | AI_AGENT | WEB_EVENTWhere the order came from.
orderNumberمطلوبstringHuman-readable order number.
statusPENDING | CONFIRMED | PROCESSING | COMPLETED | CANCELLED | REFUNDEDOrder status. Defaults to PENDING.
subtotalمطلوبnumberSubtotal before tax/shipping/discount.
taxnumberTax amount.
shippingnumberShipping cost.
discountnumberDiscount amount.
totalمطلوبnumberOrder total.
currencystringISO currency code.
paymentMethodstringPayment method used.
paymentStatusUNPAID | PARTIALLY_PAID | PAID | REFUNDED | PARTIALLY_REFUNDEDPayment status. Defaults to UNPAID.
fulfillmentStatusUNFULFILLED | PARTIALLY_FULFILLED | SHIPPED | DELIVERED | FULFILLED | RETURNEDFulfillment status. Defaults to UNFULFILLED.
billingAddressobjectBilling address fields.
shippingAddressobjectShipping address fields.
customerNotestringNote from the customer.
internalNotestringInternal-only note.
orderDatestringOrder date, ISO 8601. Defaults to now.
metadataobjectArbitrary key/value metadata.
itemsstring[]Line items: { name, quantity, unitPrice, totalPrice, sku?, productId?, imageUrl?, variant? }.
curl -X POST "https://api.inboxy.chat/api/v1/orders" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "contactId": "contactId",
  "externalId": "externalId",
  "externalSource": "MANUAL",
  "orderNumber": "ORD-1042",
  "status": "PENDING",
  "subtotal": 199,
  "tax": 1,
  "shipping": 1,
  "discount": 1,
  "total": 199,
  "currency": "SAR",
  "paymentMethod": "cod",
  "paymentStatus": "UNPAID",
  "fulfillmentStatus": "UNFULFILLED",
  "billingAddress": {},
  "shippingAddress": {},
  "customerNote": "customerNote",
  "internalNote": "internalNote",
  "orderDate": "orderDate",
  "metadata": {},
  "items": []
}'
GET/api/v1/orders/statsorders:read

Order statistics

Requires orders:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/orders/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/orders/{id}orders:read

Get an order

Requires orders:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/orders/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/orders/{id}orders:write

Update an order

Requires orders:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

statusPENDING | CONFIRMED | PROCESSING | COMPLETED | CANCELLED | REFUNDEDOrder status.
paymentStatusUNPAID | PARTIALLY_PAID | PAID | REFUNDED | PARTIALLY_REFUNDEDPayment status.
paymentMethodstringPayment method used.
fulfillmentStatusUNFULFILLED | PARTIALLY_FULFILLED | SHIPPED | DELIVERED | FULFILLED | RETURNEDFulfillment status.
shippingAddressobjectShipping address fields.
billingAddressobjectBilling address fields.
customerNotestringNote from the customer.
internalNotestringInternal-only note.
metadataobjectArbitrary key/value metadata.
confirmationStatusUNCONFIRMED | PENDING_CONFIRMATION | CONFIRMED | FAILED | CANCELLED_BY_CUSTOMEROrder confirmation status.
confirmationChannelstringChannel the confirmation was collected on.
trackingNumberstringShipment tracking number.
trackingCarrierstringShipment carrier name.
trackingUrlstringShipment tracking URL.
cancellationReasonstringReason for cancellation.
refundReasonstringReason for refund.
refundAmountnumberAmount refunded.
curl -X PUT "https://api.inboxy.chat/api/v1/orders/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "PENDING",
  "paymentStatus": "UNPAID",
  "paymentMethod": "paymentMethod",
  "fulfillmentStatus": "UNFULFILLED",
  "shippingAddress": {},
  "billingAddress": {},
  "customerNote": "customerNote",
  "internalNote": "internalNote",
  "metadata": {},
  "confirmationStatus": "UNCONFIRMED",
  "confirmationChannel": "confirmationChannel",
  "trackingNumber": "trackingNumber",
  "trackingCarrier": "trackingCarrier",
  "trackingUrl": "trackingUrl",
  "cancellationReason": "cancellationReason",
  "refundReason": "refundReason",
  "refundAmount": 1
}'
DELETE/api/v1/orders/{id}orders:write

Delete an order

Requires orders:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/orders/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/orders/{id}/statusorders:write

Change order status

Requires orders:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

statusمطلوبPENDING | CONFIRMED | PROCESSING | COMPLETED | CANCELLED | REFUNDEDNew order status.
cancellationReasonstringReason for cancellation, stored when status is CANCELLED.
curl -X PATCH "https://api.inboxy.chat/api/v1/orders/{id}/status" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "CONFIRMED",
  "cancellationReason": "cancellationReason"
}'
PATCH/api/v1/orders/{id}/paymentorders:write

Change payment status

Requires orders:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

paymentStatusUNPAID | PARTIALLY_PAID | PAID | REFUNDED | PARTIALLY_REFUNDEDNew payment status. Setting PAID auto-captures the token owner as paidByUserId.
paymentMethodstringPayment method used.
curl -X PATCH "https://api.inboxy.chat/api/v1/orders/{id}/payment" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "paymentStatus": "PAID",
  "paymentMethod": "card"
}'
PATCH/api/v1/orders/{id}/fulfillmentorders:write

Change fulfillment status

Requires orders:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

fulfillmentStatusمطلوبUNFULFILLED | PARTIALLY_FULFILLED | SHIPPED | DELIVERED | FULFILLED | RETURNEDNew fulfillment status.
trackingNumberstringShipment tracking number.
trackingCarrierstringShipment carrier name.
trackingUrlstringShipment tracking URL.
curl -X PATCH "https://api.inboxy.chat/api/v1/orders/{id}/fulfillment" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "fulfillmentStatus": "SHIPPED",
  "trackingNumber": "trackingNumber",
  "trackingCarrier": "Aramex",
  "trackingUrl": "trackingUrl"
}'
PATCH/api/v1/orders/{id}/confirmationorders:write

Set the order confirmation status

Requires orders:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

confirmationStatusمطلوبUNCONFIRMED | PENDING_CONFIRMATION | CONFIRMED | FAILED | CANCELLED_BY_CUSTOMER
confirmationChannelstring
confirmationMessageIdstring
curl -X PATCH "https://api.inboxy.chat/api/v1/orders/{id}/confirmation" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "confirmationStatus": "CONFIRMED",
  "confirmationChannel": "whatsapp",
  "confirmationMessageId": "confirmationMessageId"
}'
POST/api/v1/orders/{id}/push-to-platformorders:write

Push an Inboxy-created order to the connected store (Shopify, Salla, WooCommerce)

Requires orders:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/orders/{id}/push-to-platform" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/orders/{id}/messagesorders:read

Messages linked to an order

Requires orders:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/orders/{id}/messages" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/orders/{id}/messagesorders:write

Link a message to an order

Requires orders:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

messageIdمطلوبstring
typeمطلوبCONFIRMATION | STATUS_UPDATE | PAYMENT_REMINDER | SHIPPING_UPDATE | CUSTOM
metadataobject
curl -X POST "https://api.inboxy.chat/api/v1/orders/{id}/messages" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "messageId": "messageId",
  "type": "SHIPPING_UPDATE",
  "metadata": {}
}'
GET/api/v1/orders/{id}/confirmation-threadorders:read

The WhatsApp confirmation exchange for an order

Requires orders:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/orders/{id}/confirmation-thread" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/public/ordersorders:read

List orders

Orders from every connected store and Inboxy itself, newest first, with line items. Requires orders:read permission.

معاملات الاستعلام

limitintegerPage size, 1-100 (default 20).
pageSizeintegerDeprecated alias of `limit`.
cursorstringThe `meta.nextCursor` of the previous page. Opaque.
pageintegerRemoved in favour of `cursor`. `page=1` is accepted; any other value is refused with 400.
statuspending | confirmed | processing | completed | cancelled | refunded
paymentStatusunpaid | partially_paid | paid | refunded | partially_refunded
fulfillmentStatusunfulfilled | partially_fulfilled | shipped | delivered | fulfilled | returned
sourcewhatsapp_commerce | woocommerce | shopify | salla | zid | easy_orders | manual
contactIdstring
storeIdstring
searchstringOrder number or customer contains.
dateAfterstringOrder date at or after.
dateBeforestringOrder date at or before.
curl -X GET "https://api.inboxy.chat/api/v1/public/orders" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/public/orders/{id}orders:read

Get an order

One order with its line items, contact and tracking. Requires orders:read permission.

معاملات المسار

idمطلوبstringResource id
curl -X GET "https://api.inboxy.chat/api/v1/public/orders/{id}" \
  -H "Authorization: Bearer inboxy_your_token"

Products and services

GET/api/v1/catalog-cardsproducts:read

List catalog cards (products and services ready to send)

Requires products:read permission.

معاملات الاستعلام

itemTypeproduct | service
searchstring
pageintegerPage number.
limitintegerCards per page (1–50, default 24).
languagear | en
curl -X GET "https://api.inboxy.chat/api/v1/catalog-cards" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/catalog-cards/statusproducts:read

Store sync state and card readiness

Requires products:read permission.

معاملات الاستعلام

itemTypeproduct | service
curl -X GET "https://api.inboxy.chat/api/v1/catalog-cards/status" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/catalog-cards/syncproducts:write

Sync the catalog from a connected store

Requires products:write permission.

محتوى الطلب

platformمطلوبshopify | salla | zid | woocommerce | easy-orders
curl -X POST "https://api.inboxy.chat/api/v1/catalog-cards/sync" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "platform": "shopify"
}'
GET/api/v1/catalog-cards/{itemType}/{itemId}products:read

Preview one catalog card

Requires products:read permission.

معاملات المسار

itemTypeمطلوبstring
itemIdمطلوبstring

معاملات الاستعلام

languagear | en
curl -X GET "https://api.inboxy.chat/api/v1/catalog-cards/{itemType}/{itemId}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/catalog-cards/send/whatsappmessages:send

Send a catalog card on WhatsApp

Requires messages:send permission.

محتوى الطلب

itemTypeمطلوبproduct | service
itemIdمطلوبstring
languageمطلوبar | en
conversationIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/catalog-cards/send/whatsapp" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "itemType": "product",
  "itemId": "itemId",
  "language": "ar",
  "conversationId": "conversationId"
}'
POST/api/v1/catalog-cards/send/messengermessages:send

Send a catalog card on Messenger

Requires messages:send permission.

محتوى الطلب

itemTypeمطلوبproduct | service
itemIdمطلوبstring
languageمطلوبar | en
conversationIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/catalog-cards/send/messenger" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "itemType": "product",
  "itemId": "itemId",
  "language": "ar",
  "conversationId": "conversationId"
}'
POST/api/v1/catalog-cards/send/instagrammessages:send

Send a catalog card on Instagram

Requires messages:send permission.

محتوى الطلب

itemTypeمطلوبproduct | service
itemIdمطلوبstring
languageمطلوبar | en
conversationIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/catalog-cards/send/instagram" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "itemType": "product",
  "itemId": "itemId",
  "language": "ar",
  "conversationId": "conversationId"
}'
POST/api/v1/catalog-cards/send/webmessages:send

Send a catalog card in the website chat

Requires messages:send permission.

محتوى الطلب

itemTypeمطلوبproduct | service
itemIdمطلوبstring
languageمطلوبar | en
conversationIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/catalog-cards/send/web" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "itemType": "product",
  "itemId": "itemId",
  "language": "ar",
  "conversationId": "conversationId"
}'
POST/api/v1/catalog-cards/send/telegrammessages:send

Send a catalog card on Telegram

Requires messages:send permission.

محتوى الطلب

itemTypeمطلوبproduct | service
itemIdمطلوبstring
languageمطلوبar | en
conversationIdمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/catalog-cards/send/telegram" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "itemType": "product",
  "itemId": "itemId",
  "language": "ar",
  "conversationId": "conversationId"
}'
GET/api/v1/products/statsproducts:read

Product statistics

Requires products:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/products/stats" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/products/mergeproducts:write

Merge a duplicate product into another

Requires products:write permission.

محتوى الطلب

keepIdمطلوبstringProduct to keep.
deleteIdمطلوبstringDuplicate to delete; its references move to keepId.
curl -X POST "https://api.inboxy.chat/api/v1/products/merge" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "keepId": "keepId",
  "deleteId": "deleteId"
}'
POST/api/v1/products/import-from-url/saveproducts:write

Save extracted products

Requires products:write permission.

محتوى الطلب

productsمطلوبobject[]
defaultCurrencystring
curl -X POST "https://api.inboxy.chat/api/v1/products/import-from-url/save" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "products": [
    {
      "name": "Wireless charger",
      "description": "description",
      "price": 129.99,
      "currency": "SAR",
      "imageUrl": "imageUrl"
    }
  ],
  "defaultCurrency": "SAR"
}'
PUT/api/v1/products/categories/{id}products:write

Update a product category

Requires products:write permission.

معاملات المسار

idمطلوبstring
curl -X PUT "https://api.inboxy.chat/api/v1/products/categories/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
DELETE/api/v1/products/categories/{id}products:write

Delete a product category

Requires products:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/products/categories/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/productsproducts:read

List products

Requires products:read permission.

معاملات الاستعلام

searchstringName or SKU.
categoryIdstring
isActivebooleanFilter by active state.
externalSourcestring
pageintegerPage number (default 1).
limitinteger
sortBystring
sortOrderasc | descSort direction.
curl -X GET "https://api.inboxy.chat/api/v1/products" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/products/{id}products:read

Get a product

Requires products:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/products/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/services/statsproducts:read

Service statistics

Requires products:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/services/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/services/categoriesproducts:read

List service categories

Requires products:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/services/categories" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/services/categoriesproducts:write

Create a service category

Requires products:write permission.

محتوى الطلب

nameمطلوبstring
descriptionstring
sortOrdernumber
curl -X POST "https://api.inboxy.chat/api/v1/services/categories" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "sortOrder": 1
}'
PUT/api/v1/services/categories/{id}products:write

Update a service category

Requires products:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

nameمطلوبstring
descriptionstring
sortOrdernumber
curl -X PUT "https://api.inboxy.chat/api/v1/services/categories/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "sortOrder": 1
}'
DELETE/api/v1/services/categories/{id}products:write

Delete a service category

Requires products:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/services/categories/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/servicesproducts:read

List services

Requires products:read permission.

معاملات الاستعلام

searchstring
categoryIdstring
isActivebooleanFilter by active state.
pageintegerPage number (default 1).
limitinteger
sortBystring
sortOrderasc | descSort direction.
curl -X GET "https://api.inboxy.chat/api/v1/services" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/servicesproducts:write

Create a service

Requires products:write permission.

محتوى الطلب

nameمطلوبstring
priceمطلوبnumber
descriptionstring
currencystring
imagesstring[]
isActiveboolean
durationnumberMinutes.
detailsUrlstringPublic https link shown as the service card button.
categoryIdstring
newCategoryNamestringCreate a category with this name instead of categoryId.
metadataobject
curl -X POST "https://api.inboxy.chat/api/v1/services" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Home cleaning (2h)",
  "price": 199,
  "description": "description",
  "currency": "SAR",
  "images": [
    "images"
  ],
  "isActive": true,
  "duration": 1,
  "detailsUrl": "detailsUrl",
  "categoryId": "categoryId",
  "newCategoryName": "newCategoryName",
  "metadata": {}
}'
GET/api/v1/services/{id}products:read

Get a service

Requires products:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/services/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/services/{id}products:write

Update a service

Requires products:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestring
pricenumber
descriptionstring
currencystring
imagesstring[]
isActiveboolean
durationnumberMinutes.
detailsUrlstringPublic https link shown as the service card button.
categoryIdstring
newCategoryNamestringCreate a category with this name instead of categoryId.
metadataobject
curl -X PUT "https://api.inboxy.chat/api/v1/services/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Home cleaning (2h)",
  "price": 199,
  "description": "description",
  "currency": "SAR",
  "images": [
    "images"
  ],
  "isActive": true,
  "duration": 1,
  "detailsUrl": "detailsUrl",
  "categoryId": "categoryId",
  "newCategoryName": "newCategoryName",
  "metadata": {}
}'
DELETE/api/v1/services/{id}products:write

Delete a service

Requires products:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/services/{id}" \
  -H "Authorization: Bearer inboxy_your_token"

Products

GET/api/v1/products/categoriesproducts:read

List product categories

Requires products:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/products/categories" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/products/categoriesproducts:write

Create a product category

Requires products:write permission.

محتوى الطلب

nameمطلوبstringCategory name.
descriptionstringCategory description.
sortOrdernumberSort order among categories.
curl -X POST "https://api.inboxy.chat/api/v1/products/categories" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Electronics",
  "description": "description",
  "sortOrder": 1
}'
POST/api/v1/productsproducts:write

Create a product

Requires products:write permission.

محتوى الطلب

nameمطلوبstringProduct name.
priceمطلوبnumberPrice in the product currency.
descriptionstringProduct description.
skustringStock keeping unit. Must be unique per company.
currencystringISO currency code.
imagesstring[]Image URLs.
isActivebooleanWhether the product is active/visible. Defaults to true.
stockQuantitynumberStock on hand, or null for unlimited/untracked.
categoryIdstringExisting category ID.
newCategoryNamestringCreate a new category with this name instead of using categoryId.
curl -X POST "https://api.inboxy.chat/api/v1/products" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Wireless Charger",
  "price": 129.99,
  "description": "description",
  "sku": "sku",
  "currency": "SAR",
  "images": [
    "images"
  ],
  "isActive": true,
  "stockQuantity": 1,
  "categoryId": "categoryId",
  "newCategoryName": "newCategoryName"
}'
PUT/api/v1/products/{id}products:write

Update a product

Requires products:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestringProduct name.
pricenumberPrice in the product currency.
descriptionstringProduct description.
skustringStock keeping unit. Must be unique per company.
currencystringISO currency code.
imagesstring[]Image URLs.
isActivebooleanWhether the product is active/visible. Defaults to true.
stockQuantitynumberStock on hand, or null for unlimited/untracked.
categoryIdstringExisting category ID.
newCategoryNamestringCreate a new category with this name instead of using categoryId.
curl -X PUT "https://api.inboxy.chat/api/v1/products/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Wireless Charger",
  "price": 129.99,
  "description": "description",
  "sku": "sku",
  "currency": "SAR",
  "images": [
    "images"
  ],
  "isActive": true,
  "stockQuantity": 1,
  "categoryId": "categoryId",
  "newCategoryName": "newCategoryName"
}'
DELETE/api/v1/products/{id}products:write

Delete a product

Requires products:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/products/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/public/productsproducts:read

List catalog products

The Inboxy catalog (products made in Inboxy and synced from stores into it), newest first. Requires products:read permission.

معاملات الاستعلام

limitintegerPage size, 1-100 (default 20).
pageSizeintegerDeprecated alias of `limit`.
cursorstringThe `meta.nextCursor` of the previous page. Opaque.
pageintegerRemoved in favour of `cursor`. `page=1` is accepted; any other value is refused with 400.
searchstringName or SKU contains.
categoryIdstring
isActivetrue | false
curl -X GET "https://api.inboxy.chat/api/v1/public/products" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/public/products/{id}products:read

Get a product

One catalog product. Requires products:read permission.

معاملات المسار

idمطلوبstringResource id
curl -X GET "https://api.inboxy.chat/api/v1/public/products/{id}" \
  -H "Authorization: Bearer inboxy_your_token"

Web events

GET/api/v1/web-eventsautomations:read

List web event integrations

Requires automations:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/web-events" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/web-eventsautomations:write

Create an integration your website posts events to

Requires automations:write permission.

محتوى الطلب

nameمطلوبstring
descriptionstring
authTypeمطلوبHMAC_SHA256 | API_KEYHow your site authenticates when it posts events to POST /api/webhook/web-events/:integrationId — an `X-Webhook-Signature` HMAC-SHA256 of the raw body, or the secret in `X-Api-Key`. The secret is shown in the dashboard.
autoCreateContactbooleanCreate a contact when an event matches none.
contactMappingobject`{ phoneField, emailField, nameField?, autoCreate, enrichFields?, displayColumns? }` — which JSON fields identify the contact.
isEnabledbooleanUpdate only.
curl -X POST "https://api.inboxy.chat/api/v1/web-events" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Landing page form",
  "description": "description",
  "authType": "HMAC_SHA256",
  "autoCreateContact": true,
  "contactMapping": {
    "phoneField": "customer.phone",
    "emailField": "customer.email",
    "nameField": "customer.name",
    "autoCreate": true
  },
  "isEnabled": true
}'
GET/api/v1/web-events/{id}automations:read

Get a web event integration

Requires automations:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/web-events/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/web-events/{id}automations:write

Update an integration

Requires automations:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

nameمطلوبstring
descriptionstring
authTypeمطلوبHMAC_SHA256 | API_KEYHow your site authenticates when it posts events to POST /api/webhook/web-events/:integrationId — an `X-Webhook-Signature` HMAC-SHA256 of the raw body, or the secret in `X-Api-Key`. The secret is shown in the dashboard.
autoCreateContactbooleanCreate a contact when an event matches none.
contactMappingobject`{ phoneField, emailField, nameField?, autoCreate, enrichFields?, displayColumns? }` — which JSON fields identify the contact.
isEnabledbooleanUpdate only.
curl -X PUT "https://api.inboxy.chat/api/v1/web-events/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Landing page form",
  "description": "description",
  "authType": "HMAC_SHA256",
  "autoCreateContact": true,
  "contactMapping": {
    "phoneField": "customer.phone",
    "emailField": "customer.email",
    "nameField": "customer.name",
    "autoCreate": true
  },
  "isEnabled": true
}'
DELETE/api/v1/web-events/{id}automations:write

Delete an integration

Requires automations:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/web-events/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/web-events/{id}/toggleautomations:write

Enable or disable an integration

Requires automations:write permission.

معاملات المسار

idمطلوبstring
curl -X PATCH "https://api.inboxy.chat/api/v1/web-events/{id}/toggle" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/web-events/{id}/event-typesautomations:write

Declare an event type

Requires automations:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

nameمطلوبstring
descriptionstring
fieldSchemaobjectExpected payload fields, for variable pickers.
curl -X POST "https://api.inboxy.chat/api/v1/web-events/{id}/event-types" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "signup_completed",
  "description": "description",
  "fieldSchema": {}
}'
DELETE/api/v1/web-events/{id}/event-types/{typeId}automations:write

Remove an event type

Requires automations:write permission.

معاملات المسار

idمطلوبstring
typeIdمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/web-events/{id}/event-types/{typeId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/web-events/{id}/logsautomations:read

List received events

Requires automations:read permission.

معاملات المسار

idمطلوبstring

معاملات الاستعلام

pageintegerPage number (default 1).
limitintegerUp to 100 (default 50).
statusRECEIVED | PROCESSING | COMPLETED | FAILED | SKIPPED
startDatestringISO date.
endDatestringISO date.
curl -X GET "https://api.inboxy.chat/api/v1/web-events/{id}/logs" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/web-events/{id}/logs/{logId}automations:read

Get one received event

Requires automations:read permission.

معاملات المسار

idمطلوبstring
logIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/web-events/{id}/logs/{logId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/web-events/{id}/variablesautomations:read

Variables this integration exposes to automations and templates

Requires automations:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/web-events/{id}/variables" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/web-events/{id}/testautomations:write

Send a test event through the integration

Requires automations:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/web-events/{id}/test" \
  -H "Authorization: Bearer inboxy_your_token"

Leads

GET/api/v1/leads/statsleads:read

Get lead pipeline stats

Requires leads:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/leads/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/leads/pipelineleads:read

Get the lead pipeline

Requires leads:read permission.

معاملات الاستعلام

searchstring
labelstring
assignedAgentIdstring
curl -X GET "https://api.inboxy.chat/api/v1/leads/pipeline" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/leads/listleads:read

List leads (paginated table view)

Requires leads:read permission.

معاملات الاستعلام

pageintegerPage number (default 1).
limitinteger
searchstringName, email, company or phone.
statusIdstringLead status id (GET /leads/statuses).
priorityinteger0 low … 3 urgent.
assignedAgentIdstring
sourcestring
curl -X GET "https://api.inboxy.chat/api/v1/leads/list" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/leads/suggestleads:write

AI-suggest lead fields from a conversation

Requires leads:write permission.

محتوى الطلب

conversationIdstringConversation to analyze. One of conversationId or contactId is required.
contactIdstringContact whose latest conversation to analyze, if conversationId is omitted.
curl -X POST "https://api.inboxy.chat/api/v1/leads/suggest" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "conversationId": "conversationId",
  "contactId": "contactId"
}'
POST/api/v1/leads/{id}/moveleads:write

Move a lead to a stage

Requires leads:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

stageمطلوبNEW | CONTACTED | QUALIFIED | NEGOTIATION | WON | LOSTPipeline stage to move the lead to.
curl -X POST "https://api.inboxy.chat/api/v1/leads/{id}/move" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "stage": "QUALIFIED"
}'
POST/api/v1/leads/{id}/winleads:write

Mark a lead won

Requires leads:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/leads/{id}/win" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/leads/{id}/loseleads:write

Mark a lead lost

Requires leads:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

reasonstringReason the lead was lost.
curl -X POST "https://api.inboxy.chat/api/v1/leads/{id}/lose" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "reason"
}'
POST/api/v1/leads/{id}/assignleads:write

Assign a lead

Requires leads:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

userIdstringUser ID to assign the lead to, or null to unassign.
curl -X POST "https://api.inboxy.chat/api/v1/leads/{id}/assign" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "userId": "userId"
}'
GET/api/v1/leads/statusesleads:read

List lead statuses

Requires leads:read permission.

معاملات الاستعلام

includeInactivebooleanInclude disabled statuses.
curl -X GET "https://api.inboxy.chat/api/v1/leads/statuses" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/leads/statusesleads:write

Create a lead status

Requires leads:write permission.

محتوى الطلب

labelمطلوبstringStatus label (max 60 chars).
labelArstringArabic label (max 60 chars), or null.
colorstringHex color, e.g. #3bc1a8.
bgColorstringHex background color, or null.
iconstringIcon identifier, or null.
isQualifiedbooleanWhether this status counts as qualified.
isFinalbooleanWhether this status is a terminal pipeline stage.
curl -X POST "https://api.inboxy.chat/api/v1/leads/statuses" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "label": "Negotiating",
  "labelAr": "labelAr",
  "color": "#3bc1a8",
  "bgColor": "#dbeafe",
  "icon": "icon",
  "isQualified": true,
  "isFinal": true
}'
PATCH/api/v1/leads/statuses/reorderleads:write

Reorder lead statuses

Requires leads:write permission.

محتوى الطلب

orderedIdsمطلوبstring[]Full ordered list of lead status IDs.
curl -X PATCH "https://api.inboxy.chat/api/v1/leads/statuses/reorder" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "orderedIds": [
    "orderedIds"
  ]
}'
PATCH/api/v1/leads/statuses/{statusId}leads:write

Update a lead status

Requires leads:write permission.

معاملات المسار

statusIdمطلوبstring

محتوى الطلب

labelstringStatus label (max 60 chars).
labelArstringArabic label, or null.
colorstringHex color.
bgColorstringHex background color, or null.
iconstringIcon identifier, or null.
isQualifiedboolean
isFinalboolean
isActiveboolean
curl -X PATCH "https://api.inboxy.chat/api/v1/leads/statuses/{statusId}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "label": "label",
  "labelAr": "labelAr",
  "color": "color",
  "bgColor": "bgColor",
  "icon": "icon",
  "isQualified": true,
  "isFinal": true,
  "isActive": true
}'
DELETE/api/v1/leads/statuses/{statusId}leads:write

Delete a lead status

Requires leads:write permission.

معاملات المسار

statusIdمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/leads/statuses/{statusId}" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/leads/{id}/statusleads:write

Set lead status

Requires leads:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

statusIdمطلوبstringID of one of the company's configured lead statuses (GET /leads/statuses).
curl -X PATCH "https://api.inboxy.chat/api/v1/leads/{id}/status" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "statusId": "statusId"
}'
PATCH/api/v1/leads/{id}/ratingleads:write

Set lead star rating

Requires leads:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

ratingمطلوبnumber1-5, or null to clear.
curl -X PATCH "https://api.inboxy.chat/api/v1/leads/{id}/rating" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "rating": 5
}'
PATCH/api/v1/leads/{id}/priorityleads:write

Set lead priority

Requires leads:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

priorityمطلوبnumber0 (low) to 3 (urgent), or null to clear.
curl -X PATCH "https://api.inboxy.chat/api/v1/leads/{id}/priority" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "priority": 2
}'
GET/api/v1/leads/{id}/feedbackleads:read

List the feedback thread on a lead

Requires leads:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/leads/{id}/feedback" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/leads/{id}/feedbackleads:write

Add a lead feedback entry

Requires leads:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

bodyمطلوبstringFeedback text (max 5000 chars).
ratingnumber1-5, optional.
typePOSITIVE | NEUTRAL | NEGATIVEDefaults to NEUTRAL.
curl -X POST "https://api.inboxy.chat/api/v1/leads/{id}/feedback" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "body": "Very responsive, asked for a discount.",
  "rating": 1,
  "type": "POSITIVE"
}'
POST/api/v1/leads/{id}/follow-upleads:write

Schedule a lead follow-up task

Requires leads:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

titleمطلوبstringFollow-up task title.
dueDateمطلوبstringDue date, ISO 8601.
descriptionstringOptional description.
curl -X POST "https://api.inboxy.chat/api/v1/leads/{id}/follow-up" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Call back about pricing",
  "dueDate": "dueDate",
  "description": "description"
}'
GET/api/v1/leads/{id}/follow-upsleads:read

List lead follow-up tasks

Requires leads:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/leads/{id}/follow-ups" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/leads/{id}leads:read

Get a lead

Requires leads:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/leads/{id}" \
  -H "Authorization: Bearer inboxy_your_token"

Media

GET/api/v1/medialibrary:read

List media library files

Requires library:read permission.

معاملات الاستعلام

typeIMAGE | VIDEO | DOCUMENT | AUDIO
searchstringFile name.
pageintegerPage number (default 1).
limitinteger
sortcreatedAt | name | size | usageCount
orderasc | descSort direction.
curl -X GET "https://api.inboxy.chat/api/v1/media" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/media/statslibrary:read

Get media library stats

Requires library:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/media/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/media/limitslibrary:read

Per-channel accepted file types and sizes

Requires library:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/media/limits" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/media/{id}library:read

Get a media file

Requires library:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/media/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/media/{id}library:write

Rename a media file or set its AI-accessibility

Requires library:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestringDisplay name.
aiAccessiblebooleanWhether the AI agent may reference this file.
aiDescriptionstringDescription shown to the AI agent, or null to clear.
curl -X PUT "https://api.inboxy.chat/api/v1/media/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "aiAccessible": true,
  "aiDescription": "aiDescription"
}'
DELETE/api/v1/media/{id}library:write

Delete a media file (409 MEDIA_IN_USE unless ?force=true)

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/media/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/media/{id}/usagelibrary:read

Where a media file is used

Requires library:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/media/{id}/usage" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/media/bulk-deletelibrary:write

Bulk delete media files

Requires library:write permission.

محتوى الطلب

idsمطلوبstring[]Media IDs to delete (at most 100). Files in use are skipped and returned.
forcebooleanAlso delete files in use. Files a Meta template uses are never deleted.
curl -X POST "https://api.inboxy.chat/api/v1/media/bulk-delete" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "ids": [
    "ids"
  ],
  "force": true
}'
POST/api/v1/media/{id}/uselibrary:write

Record media file usage

Requires library:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/media/{id}/use" \
  -H "Authorization: Bearer inboxy_your_token"

Tasks

GET/api/v1/taskstasks:read

List tasks

Requires tasks:read permission.

معاملات الاستعلام

statusTODO | IN_PROGRESS | COMPLETED | CANCELLED
typeFOLLOW_UP | CALLBACK | SEND_INFO | ORDER_INQUIRY | SUPPORT | OTHER | SALES | ONBOARDING | FEEDBACK | REMINDER
priorityLOW | NORMAL | HIGH | URGENT
limitintegerPage size (default 50).
offsetintegerRows to skip (default 0).
assignedToIdstring
contactIdstring
conversationIdstring
sourceMANUAL | AI | AUTOMATION
dueDateFromstringISO date-time.
dueDateTostringISO date-time.
searchstringTitle.
curl -X GET "https://api.inboxy.chat/api/v1/tasks" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/taskstasks:write

Create a task

Requires tasks:write permission.

محتوى الطلب

titleمطلوبstringTask title.
descriptionstringTask description.
typeFOLLOW_UP | CALLBACK | SEND_INFO | ORDER_INQUIRY | SUPPORT | OTHER | SALES | ONBOARDING | FEEDBACK | REMINDERTask type.
priorityLOW | NORMAL | HIGH | URGENTTask priority. Defaults to NORMAL.
contactIdstringContact this task relates to, or null to clear.
conversationIdstringConversation this task originated from, or null to clear.
assignedToIdstringUser ID to assign the task to, or null to unassign.
dueDatestringDue date, ISO 8601, or null to clear.
reminderAtstringReminder time, ISO 8601, or null to clear.
recurrenceNONE | DAILY | WEEKLY | MONTHLYRecurrence rule, or null for a one-off task.
sourceMANUAL | AI | AUTOMATIONWhere the task came from. Defaults to MANUAL.
curl -X POST "https://api.inboxy.chat/api/v1/tasks" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Follow up on invoice #4521",
  "description": "description",
  "type": "FOLLOW_UP",
  "priority": "NORMAL",
  "contactId": "contactId",
  "conversationId": "conversationId",
  "assignedToId": "assignedToId",
  "dueDate": "dueDate",
  "reminderAt": "reminderAt",
  "recurrence": "NONE",
  "source": "MANUAL"
}'
GET/api/v1/tasks/statstasks:read

Get task stats

Requires tasks:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/tasks/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/tasks/mytasks:read

List tasks assigned to the token owner

Requires tasks:read permission.

معاملات الاستعلام

statusTODO | IN_PROGRESS | COMPLETED | CANCELLED
typeFOLLOW_UP | CALLBACK | SEND_INFO | ORDER_INQUIRY | SUPPORT | OTHER | SALES | ONBOARDING | FEEDBACK | REMINDER
priorityLOW | NORMAL | HIGH | URGENT
limitintegerPage size (default 50).
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/tasks/my" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/tasks/contact/{contactId}tasks:read

List tasks for a contact

Requires tasks:read permission.

معاملات المسار

contactIdمطلوبstring

معاملات الاستعلام

statusTODO | IN_PROGRESS | COMPLETED | CANCELLED
typeFOLLOW_UP | CALLBACK | SEND_INFO | ORDER_INQUIRY | SUPPORT | OTHER | SALES | ONBOARDING | FEEDBACK | REMINDER
priorityLOW | NORMAL | HIGH | URGENT
limitintegerPage size (default 50).
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/tasks/contact/{contactId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/tasks/{id}tasks:read

Get a task

Requires tasks:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/tasks/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/tasks/{id}tasks:write

Update a task

Requires tasks:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

titlestringTask title. Cannot be set to empty.
descriptionstringTask description.
typeFOLLOW_UP | CALLBACK | SEND_INFO | ORDER_INQUIRY | SUPPORT | OTHER | SALES | ONBOARDING | FEEDBACK | REMINDERTask type.
priorityLOW | NORMAL | HIGH | URGENTTask priority. Defaults to NORMAL.
contactIdstringContact this task relates to, or null to clear.
conversationIdstringConversation this task originated from, or null to clear.
assignedToIdstringUser ID to assign the task to, or null to unassign.
dueDatestringDue date, ISO 8601, or null to clear.
reminderAtstringReminder time, ISO 8601, or null to clear.
recurrenceNONE | DAILY | WEEKLY | MONTHLYRecurrence rule, or null for a one-off task.
statusTODO | IN_PROGRESS | COMPLETED | CANCELLEDTask status.
curl -X PUT "https://api.inboxy.chat/api/v1/tasks/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "title",
  "description": "description",
  "type": "FOLLOW_UP",
  "priority": "NORMAL",
  "contactId": "contactId",
  "conversationId": "conversationId",
  "assignedToId": "assignedToId",
  "dueDate": "dueDate",
  "reminderAt": "reminderAt",
  "recurrence": "NONE",
  "status": "IN_PROGRESS"
}'
DELETE/api/v1/tasks/{id}tasks:write

Delete a task

Requires tasks:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/tasks/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/tasks/{id}/completetasks:write

Mark a task complete

Requires tasks:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/tasks/{id}/complete" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/tasks/{id}/assigntasks:write

Assign a task

Requires tasks:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

assignedToIdstringUser ID to assign the task to, or null to unassign.
curl -X POST "https://api.inboxy.chat/api/v1/tasks/{id}/assign" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "assignedToId": "assignedToId"
}'
GET/api/v1/tasks/{id}/subtaskstasks:read

List checklist items on a task

Requires tasks:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/tasks/{id}/subtasks" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/tasks/{id}/subtaskstasks:write

Add a checklist item to a task

Requires tasks:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

titleمطلوبstringChecklist item text.
curl -X POST "https://api.inboxy.chat/api/v1/tasks/{id}/subtasks" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "Confirm shipping address"
}'
PATCH/api/v1/tasks/subtasks/{subtaskId}tasks:write

Toggle a checklist item

Requires tasks:write permission.

معاملات المسار

subtaskIdمطلوبstring

محتوى الطلب

donebooleanWhether the checklist item is done. Defaults to false.
curl -X PATCH "https://api.inboxy.chat/api/v1/tasks/subtasks/{subtaskId}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "done": true
}'
DELETE/api/v1/tasks/subtasks/{subtaskId}tasks:write

Delete a checklist item

Requires tasks:write permission.

معاملات المسار

subtaskIdمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/tasks/subtasks/{subtaskId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/tasks/{id}/commentstasks:read

List task comments

Requires tasks:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/tasks/{id}/comments" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/tasks/{id}/commentstasks:write

Add a task comment

Requires tasks:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

contentمطلوبstringComment text.
curl -X POST "https://api.inboxy.chat/api/v1/tasks/{id}/comments" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "content": "Called the client, waiting on approval."
}'
GET/api/v1/public/taskstasks:read

List team tasks

Team tasks, newest first. Filter by status, priority, contact, assignee, due date or `overdue=true`. Requires tasks:read permission.

معاملات الاستعلام

limitintegerPage size, 1-100 (default 20).
pageSizeintegerDeprecated alias of `limit`.
cursorstringThe `meta.nextCursor` of the previous page. Opaque.
pageintegerRemoved in favour of `cursor`. `page=1` is accepted; any other value is refused with 400.
statustodo | in_progress | completed | cancelled
prioritylow | normal | high | urgent
contactIdstring
assignedToIdstring
overduetrue | false`true`: open tasks whose due date has passed.
dueAfterstringDue at or after.
dueBeforestringDue at or before.
curl -X GET "https://api.inboxy.chat/api/v1/public/tasks" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/public/tasks/{id}tasks:read

Get a task

One team task. Requires tasks:read permission.

معاملات المسار

idمطلوبstringResource id
curl -X GET "https://api.inboxy.chat/api/v1/public/tasks/{id}" \
  -H "Authorization: Bearer inboxy_your_token"

Tickets

GET/api/v1/ticketstickets:read

List tickets

Requires tickets:read permission.

معاملات الاستعلام

statusOPEN | IN_PROGRESS | CLOSED
priorityLOW | NORMAL | HIGH | URGENT
limitintegerPage size (default 20).
offsetintegerRows to skip (default 0).
typestringTicket type (GET /tickets/types).
assignedToIdstring
contactIdstring
searchstringSubject.
curl -X GET "https://api.inboxy.chat/api/v1/tickets" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/ticketstickets:write

Create a ticket

Requires tickets:write permission.

محتوى الطلب

subjectمطلوبstringTicket subject.
descriptionstringTicket description.
typestringTicket type slug (see GET /tickets/types), e.g. "order".
typeIdstringTicket type ID (see GET /tickets/types).
priorityLOW | NORMAL | HIGH | URGENTTicket priority. Defaults to NORMAL.
contactIdstringContact this ticket is about.
assignedToIdstringUser ID to assign the ticket to.
conversationIdstringConversation this ticket originated from.
dueDatestringDue date, ISO 8601.
sourcestringWhere the ticket came from.
tagsstring[]Free-text tags.
phonestringContact phone number, used to find/create a contact when contactId is not supplied. One of contactId or phone is required.
curl -X POST "https://api.inboxy.chat/api/v1/tickets" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "subject": "Order #1042 arrived damaged",
  "description": "description",
  "type": "order",
  "typeId": "typeId",
  "priority": "NORMAL",
  "contactId": "contactId",
  "assignedToId": "assignedToId",
  "conversationId": "conversationId",
  "dueDate": "dueDate",
  "source": "source",
  "tags": [
    "tags"
  ],
  "phone": "966500000000"
}'
GET/api/v1/tickets/statstickets:read

Get ticket stats

Requires tickets:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/tickets/stats" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/tickets/mytickets:read

List tickets assigned to the token owner

Requires tickets:read permission.

معاملات الاستعلام

statusOPEN | IN_PROGRESS | CLOSED
priorityLOW | NORMAL | HIGH | URGENT
limitintegerPage size (default 20).
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/tickets/my" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/tickets/contact/{contactId}tickets:read

List tickets for a contact

Requires tickets:read permission.

معاملات المسار

contactIdمطلوبstring

معاملات الاستعلام

statusOPEN | IN_PROGRESS | CLOSED
priorityLOW | NORMAL | HIGH | URGENT
limitintegerPage size (default 20).
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/tickets/contact/{contactId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/tickets/typestickets:read

List ticket types

Requires tickets:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/tickets/types" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/tickets/typestickets:write

Create a ticket type

Requires tickets:write permission.

محتوى الطلب

nameمطلوبstringTicket type name.
colorstringDisplay color.
iconstringIcon identifier.
isActivebooleanDefaults to true.
curl -X POST "https://api.inboxy.chat/api/v1/tickets/types" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Warranty claim",
  "color": "color",
  "icon": "icon",
  "isActive": true
}'
PUT/api/v1/tickets/types/{typeId}tickets:write

Update a ticket type

Requires tickets:write permission.

معاملات المسار

typeIdمطلوبstring

محتوى الطلب

namestringTicket type name.
colorstringDisplay color.
iconstringIcon identifier.
isActiveboolean
ordernumberSort order.
curl -X PUT "https://api.inboxy.chat/api/v1/tickets/types/{typeId}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "color": "color",
  "icon": "icon",
  "isActive": true,
  "order": 1
}'
DELETE/api/v1/tickets/types/{typeId}tickets:write

Delete a ticket type

Requires tickets:write permission.

معاملات المسار

typeIdمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/tickets/types/{typeId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/tickets/{id}tickets:read

Get a ticket

Requires tickets:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/tickets/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/tickets/{id}tickets:write

Update a ticket

Requires tickets:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

subjectstringTicket subject.
descriptionstringTicket description.
typestringTicket type slug (see GET /tickets/types), e.g. "order".
typeIdstringTicket type ID (see GET /tickets/types).
priorityLOW | NORMAL | HIGH | URGENTTicket priority. Defaults to NORMAL.
contactIdstringContact this ticket is about.
assignedToIdstringUser ID to assign the ticket to.
conversationIdstringConversation this ticket originated from.
dueDatestringDue date, ISO 8601.
sourcestringWhere the ticket came from.
tagsstring[]Free-text tags.
statusOPEN | IN_PROGRESS | CLOSEDTicket status.
curl -X PUT "https://api.inboxy.chat/api/v1/tickets/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "subject": "Order #1042 arrived damaged",
  "description": "description",
  "type": "order",
  "typeId": "typeId",
  "priority": "NORMAL",
  "contactId": "contactId",
  "assignedToId": "assignedToId",
  "conversationId": "conversationId",
  "dueDate": "dueDate",
  "source": "source",
  "tags": [
    "tags"
  ],
  "status": "OPEN"
}'
DELETE/api/v1/tickets/{id}tickets:write

Delete a ticket

Requires tickets:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/tickets/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/tickets/{id}/statustickets:write

Change ticket status

Requires tickets:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

statusمطلوبOPEN | IN_PROGRESS | CLOSEDNew ticket status.
curl -X PATCH "https://api.inboxy.chat/api/v1/tickets/{id}/status" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "status": "IN_PROGRESS"
}'
POST/api/v1/tickets/{id}/assigntickets:write

Assign a ticket

Requires tickets:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

assignedToIdstringUser ID to assign the ticket to, or null to unassign.
curl -X POST "https://api.inboxy.chat/api/v1/tickets/{id}/assign" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "assignedToId": "assignedToId"
}'
POST/api/v1/tickets/{id}/closetickets:write

Close a ticket

Requires tickets:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/tickets/{id}/close" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/tickets/{id}/commentstickets:read

List ticket comments

Requires tickets:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/tickets/{id}/comments" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/tickets/{id}/commentstickets:write

Comment on a ticket

Requires tickets:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

contentمطلوبstringComment text.
isInternalbooleanInternal-only comment, hidden from the customer. Defaults to false.
curl -X POST "https://api.inboxy.chat/api/v1/tickets/{id}/comments" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "content": "content",
  "isInternal": true
}'
GET/api/v1/tickets/{id}/attachmentstickets:read

List ticket attachments

Requires tickets:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/tickets/{id}/attachments" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/tickets/{id}/attachmentstickets:write

Add a ticket attachment (URL reference, not an upload)

Requires tickets:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

urlمطلوبstringFile URL, already uploaded elsewhere (e.g. the media library).
nameمطلوبstringOriginal file name.
mimeTypestringMIME type.
sizenumberFile size in bytes.
curl -X POST "https://api.inboxy.chat/api/v1/tickets/{id}/attachments" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "url": "https://cdn.inboxy.chat/files/invoice.pdf",
  "name": "invoice.pdf",
  "mimeType": "application/pdf",
  "size": 1
}'
DELETE/api/v1/tickets/attachments/{attachmentId}tickets:write

Delete a ticket attachment

Requires tickets:write permission.

معاملات المسار

attachmentIdمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/tickets/attachments/{attachmentId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/tickets/{id}/activitytickets:read

Get the ticket audit trail

Requires tickets:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/tickets/{id}/activity" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/public/ticketstickets:read

List customer tickets

Customer tickets, newest first. Filter by status, priority, contact, assignee, text or creation date. Requires tickets:read permission.

معاملات الاستعلام

limitintegerPage size, 1-100 (default 20).
pageSizeintegerDeprecated alias of `limit`.
cursorstringThe `meta.nextCursor` of the previous page. Opaque.
pageintegerRemoved in favour of `cursor`. `page=1` is accepted; any other value is refused with 400.
statusopen | in_progress | waiting_customer | closed
prioritylow | normal | high | urgent
contactIdstring
assignedToIdstring
searchstringSubject or ticket number contains.
createdAfterstringCreated at or after.
createdBeforestringCreated at or before.
curl -X GET "https://api.inboxy.chat/api/v1/public/tickets" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/public/tickets/{id}tickets:read

Get a ticket

One customer ticket. Requires tickets:read permission.

معاملات المسار

idمطلوبstringResource id
curl -X GET "https://api.inboxy.chat/api/v1/public/tickets/{id}" \
  -H "Authorization: Bearer inboxy_your_token"

Meetings

POST/api/v1/meetingsmeetings:write

Create a meeting

Requires meetings:write permission.

محتوى الطلب

reasonمطلوبstringMeeting reason/title.
typeمطلوبONLINE | OFFLINEMeeting type.
startTimeمطلوبstringStart time, ISO 8601 UTC.
startTimeLocalمطلوبstringStart time as picked locally (no TZ offset), ISO 8601.
timezoneمطلوبstringIANA timezone identifier.
durationMinutesمطلوبnumberDuration in minutes.
contactIdstringAssociated contact.
linkstringMeeting link, for ONLINE meetings.
locationstringPhysical location, for OFFLINE meetings.
notesstringFree-text notes.
attendeesobject[]Team members and/or external attendees.
curl -X POST "https://api.inboxy.chat/api/v1/meetings" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "Product demo",
  "type": "ONLINE",
  "startTime": "2026-09-20T10:00:00.000Z",
  "startTimeLocal": "2026-09-20T13:00:00",
  "timezone": "Asia/Riyadh",
  "durationMinutes": 30,
  "contactId": "contactId",
  "link": "link",
  "location": "location",
  "notes": "notes",
  "attendees": [
    {
      "type": "TEAM",
      "userId": "userId",
      "name": "name",
      "email": "customer@example.com",
      "phone": "966500000000"
    }
  ]
}'
GET/api/v1/meetings/weekmeetings:read

List meetings in a calendar week

Requires meetings:read permission.

معاملات الاستعلام

dateمطلوبstringAny date in the week to return (ISO date).
curl -X GET "https://api.inboxy.chat/api/v1/meetings/week" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/meetings/contact/{contactId}meetings:read

List meetings for a contact

Requires meetings:read permission.

معاملات المسار

contactIdمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/meetings/contact/{contactId}" \
  -H "Authorization: Bearer inboxy_your_token"
GET/api/v1/meetings/{id}meetings:read

Get a meeting

Requires meetings:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/meetings/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/meetings/{id}meetings:write

Update a meeting

Requires meetings:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

reasonstringMeeting reason/title.
typeONLINE | OFFLINE
startTimestringISO 8601 UTC.
startTimeLocalstringISO 8601 local.
timezonestringIANA timezone identifier.
durationMinutesnumber
contactIdstringOr null to clear.
linkstringOr null to clear.
locationstringOr null to clear.
notesstringOr null to clear.
attendeesobject[]
curl -X PUT "https://api.inboxy.chat/api/v1/meetings/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "reason",
  "type": "ONLINE",
  "startTime": "startTime",
  "startTimeLocal": "startTimeLocal",
  "timezone": "timezone",
  "durationMinutes": 1,
  "contactId": "contactId",
  "link": "link",
  "location": "location",
  "notes": "notes",
  "attendees": [
    {
      "type": "TEAM",
      "userId": "userId",
      "name": "name",
      "email": "customer@example.com",
      "phone": "966500000000"
    }
  ]
}'
DELETE/api/v1/meetings/{id}meetings:write

Delete a meeting

Requires meetings:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/meetings/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/meetings/{id}/completemeetings:write

Mark a meeting completed

Requires meetings:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/meetings/{id}/complete" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/meetings/{id}/cancelmeetings:write

Mark a meeting cancelled

Requires meetings:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/meetings/{id}/cancel" \
  -H "Authorization: Bearer inboxy_your_token"

Account

GET/api/v1/public/usageanalytics:read

Get plan usage

Plan, billing period and usage against each plan limit (null limit = unlimited), plus API requests in the last 24 hours. Requires analytics:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/public/usage" \
  -H "Authorization: Bearer inboxy_your_token"

Calendar

GET/api/v1/public/appointmentsmeetings:read

List calendar appointments

Calendar appointments, newest first. Filter by status, contact or start time. Requires meetings:read permission.

معاملات الاستعلام

limitintegerPage size, 1-100 (default 20).
pageSizeintegerDeprecated alias of `limit`.
cursorstringThe `meta.nextCursor` of the previous page. Opaque.
pageintegerRemoved in favour of `cursor`. `page=1` is accepted; any other value is refused with 400.
statusscheduled | completed | cancelled
contactIdstring
startAfterstringStarts at or after.
startBeforestringStarts at or before.
curl -X GET "https://api.inboxy.chat/api/v1/public/appointments" \
  -H "Authorization: Bearer inboxy_your_token"

Knowledge Center

GET/api/v1/knowledge-center/categoriesknowledge:read

List knowledge categories

Requires knowledge:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/knowledge-center/categories" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/knowledge-center/categoriesknowledge:write

Create a knowledge category

Requires knowledge:write permission.

محتوى الطلب

nameمطلوبstringCategory name.
descriptionstringCategory description.
iconstringIcon identifier.
colorstringDisplay color.
parentIdstringParent category ID, for nesting.
sortOrdernumberSort order among siblings.
curl -X POST "https://api.inboxy.chat/api/v1/knowledge-center/categories" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "Shipping and returns",
  "description": "description",
  "icon": "icon",
  "color": "#3bc1a8",
  "parentId": "parentId",
  "sortOrder": 1
}'
PUT/api/v1/knowledge-center/categories/{id}knowledge:write

Update a knowledge category

Requires knowledge:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

namestringCategory name.
descriptionstringCategory description.
iconstringIcon identifier.
colorstringDisplay color.
parentIdstringParent category ID, or null to un-nest.
sortOrdernumberSort order among siblings.
curl -X PUT "https://api.inboxy.chat/api/v1/knowledge-center/categories/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "name",
  "description": "description",
  "icon": "icon",
  "color": "color",
  "parentId": "parentId",
  "sortOrder": 1
}'
DELETE/api/v1/knowledge-center/categories/{id}knowledge:write

Delete a knowledge category

Requires knowledge:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/knowledge-center/categories/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/knowledge-center/categories/reorderknowledge:write

Reorder knowledge categories

Requires knowledge:write permission.

محتوى الطلب

orderمطلوبobject[]Full ordered list of category IDs with their new sort positions.
curl -X PUT "https://api.inboxy.chat/api/v1/knowledge-center/categories/reorder" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "order": [
    {
      "id": "id",
      "sortOrder": 1
    }
  ]
}'
GET/api/v1/knowledge-center/articlesknowledge:read

List knowledge articles

Requires knowledge:read permission.

معاملات الاستعلام

categoryIdstring
statusDRAFT | PUBLISHED | ARCHIVED
tagstring
searchstringTitle or content.
pageintegerPage number (default 1).
limitintegerPage size (default 20).
curl -X GET "https://api.inboxy.chat/api/v1/knowledge-center/articles" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/knowledge-center/articlesknowledge:write

Create a knowledge article

Requires knowledge:write permission.

محتوى الطلب

titleمطلوبstringArticle title.
contentمطلوبstringArticle body.
categoryIdstringCategory this article belongs to.
excerptstringShort summary shown in listings.
tagsstring[]Free-text tags.
statusDRAFT | PUBLISHEDDefaults to DRAFT.
curl -X POST "https://api.inboxy.chat/api/v1/knowledge-center/articles" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "How to reset your password",
  "content": "content",
  "categoryId": "categoryId",
  "excerpt": "excerpt",
  "tags": [
    "tags"
  ],
  "status": "DRAFT"
}'
GET/api/v1/knowledge-center/articles/{id}knowledge:read

Get a knowledge article

Requires knowledge:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/knowledge-center/articles/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PUT/api/v1/knowledge-center/articles/{id}knowledge:write

Update a knowledge article

Requires knowledge:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

titlestringArticle title.
contentstringArticle body.
categoryIdstringCategory, or null to clear.
excerptstringShort summary shown in listings.
tagsstring[]Free-text tags.
statusDRAFT | PUBLISHED | ARCHIVEDArticle status.
curl -X PUT "https://api.inboxy.chat/api/v1/knowledge-center/articles/{id}" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "title": "title",
  "content": "content",
  "categoryId": "categoryId",
  "excerpt": "excerpt",
  "tags": [
    "tags"
  ],
  "status": "DRAFT"
}'
DELETE/api/v1/knowledge-center/articles/{id}knowledge:write

Delete a knowledge article

Requires knowledge:write permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/knowledge-center/articles/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/knowledge-center/articles/{id}/publishknowledge:write

Publish a knowledge article

Requires knowledge:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/knowledge-center/articles/{id}/publish" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/knowledge-center/articles/{id}/archiveknowledge:write

Archive a knowledge article

Requires knowledge:write permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/knowledge-center/articles/{id}/archive" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/knowledge-center/articles/{id}/feedbackknowledge:write

Submit article feedback

Requires knowledge:write permission.

معاملات المسار

idمطلوبstring

محتوى الطلب

isHelpfulمطلوبbooleanWhether the article was helpful.
commentstringOptional free-text comment.
curl -X POST "https://api.inboxy.chat/api/v1/knowledge-center/articles/{id}/feedback" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "isHelpful": true,
  "comment": "comment"
}'

Channels

GET/api/v1/me/channelschannels:read

Connection status of every channel (WhatsApp, Instagram, Messenger, Telegram, website chat)

Aggregate connection state for all channels (WhatsApp, Instagram, Messenger, Telegram, Widget). One request, parallel-fetched. Requires channels:read permission.

curl -X GET "https://api.inboxy.chat/api/v1/me/channels" \
  -H "Authorization: Bearer inboxy_your_token"

Scheduled messages

GET/api/v1/scheduled-messagesmessages:read

List scheduled messages

Requires messages:read permission.

معاملات الاستعلام

statusPENDING | SENT | FAILED | CANCELLED | PAUSED | DEAD_LETTER
channelWHATSAPP | INSTAGRAM | MESSENGER | TELEGRAM | WIDGET
conversationIdstringOnly this conversation.
contactIdstringOnly this contact (through its conversations).
limitinteger1–200 (default 50); out of range is a 400.
offsetintegerRows to skip (default 0).
curl -X GET "https://api.inboxy.chat/api/v1/scheduled-messages" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/scheduled-messagesmessages:send

Schedule a message

Requires messages:send permission.

محتوى الطلب

channelمطلوبWHATSAPP | INSTAGRAM | MESSENGER | TELEGRAM | WIDGET
recipientRefstringPhone number (WhatsApp) or the channel’s recipient id. Required without `conversationId`; with one, the recipient is the conversation’s customer and this field is ignored.
scheduledForمطلوبstring
conversationIdstring
recurrenceNONE | DAILY | WEEKLY | MONTHLY
payloadمطلوبobject`{kind:"text", text}` or `{kind:"template", templateName, languageCode, bodyVariables?, components?}`. Outside the 24-hour window WhatsApp needs a template (`details.reason = window_requires_template`); a repeating message on WhatsApp, Messenger or Instagram must be a template.
curl -X POST "https://api.inboxy.chat/api/v1/scheduled-messages" \
  -H "Authorization: Bearer inboxy_your_token" \
  -H "Content-Type: application/json" \
  -d '{
  "channel": "WHATSAPP",
  "recipientRef": "966500000000",
  "scheduledFor": "2026-09-20T09:00:00Z",
  "conversationId": "conversationId",
  "recurrence": "NONE",
  "payload": {
    "kind": "template",
    "templateName": "order_shipped",
    "languageCode": "ar",
    "bodyVariables": {
      "1": "Sara"
    }
  }
}'
GET/api/v1/scheduled-messages/{id}messages:read

Get one scheduled message

Requires messages:read permission.

معاملات المسار

idمطلوبstring
curl -X GET "https://api.inboxy.chat/api/v1/scheduled-messages/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
PATCH/api/v1/scheduled-messages/{id}messages:send

Reschedule or edit a scheduled message

Requires messages:send permission.

معاملات المسار

idمطلوبstring
curl -X PATCH "https://api.inboxy.chat/api/v1/scheduled-messages/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
DELETE/api/v1/scheduled-messages/{id}messages:send

Delete a scheduled message

Requires messages:send permission.

معاملات المسار

idمطلوبstring
curl -X DELETE "https://api.inboxy.chat/api/v1/scheduled-messages/{id}" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/scheduled-messages/{id}/cancelmessages:send

Cancel a scheduled message

Requires messages:send permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/scheduled-messages/{id}/cancel" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/scheduled-messages/{id}/pausemessages:send

Pause a recurring message

Requires messages:send permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/scheduled-messages/{id}/pause" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/scheduled-messages/{id}/resumemessages:send

Resume a paused message

Requires messages:send permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/scheduled-messages/{id}/resume" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/scheduled-messages/{id}/send-nowmessages:send

Send a scheduled message now

Requires messages:send permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/scheduled-messages/{id}/send-now" \
  -H "Authorization: Bearer inboxy_your_token"
POST/api/v1/scheduled-messages/{id}/retrymessages:send

Retry a failed scheduled message

Requires messages:send permission.

معاملات المسار

idمطلوبstring
curl -X POST "https://api.inboxy.chat/api/v1/scheduled-messages/{id}/retry" \
  -H "Authorization: Bearer inboxy_your_token"