Your workspace API key. Create one in Settings → API Keys; the plaintext value
is shown once and never again.
Keys are scoped. A key needs conversations:send to send, conversations:read to
read threads and messages, templates:read to list templates, channels:read
to list channels, and channels:manage to create connect sessions. A key missing
the scope for an endpoint gets 403.
The CRM endpoints use the same resource:action form: leads:read, leads:create,
leads:update, leads:delete, customers:read, customers:create,
customers:update, customers:delete, customers:manage.
Several resources have no scope of their own and borrow one:
Resource
Governed by
Contacts
customers:*
Activities
customers:* for customer activities, leads:* for lead activities
Tags
customers:read to list, customers:manage to change
Pipeline stages
leads:*
Quick replies
quick-replies:read / quick-replies:write
WhatsApp groups
wa-groups:manage
Grant only what the integration needs — a key that only sends notifications should
hold conversations:send and nothing else.
Your workspace UUID. Required on every request in addition tox-api-key.
It does not select the workspace — data access is always scoped to the workspace
that owns the API key, and a mismatched value cannot read anyone else's data.
Body
application/json
Provide conversationId, or channelId + to. Then exactly one of a template,
media, or text.
Your own id for this message. Stored and echoed back as client_message_id, so a
message you have already drawn in your own UI can be paired with its row exactly.
Also the idempotency key: repeating it returns the message the first attempt
created instead of sending a second copy. To retry a message that came back
failed, send the same id — a failed message is genuinely re-sent.
8–64 characters of A-Z a-z 0-9 _ -. A UUID is ideal. Templates ignore it.
The clientMessageId you sent with this message, echoed back. Null for anything
with no client behind it — inbound messages, AI replies, automations, broadcasts.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Linkiasoft","description":"Send and read WhatsApp, Instagram, Messenger and Telegram messages from your own systems.","colors":{"primary":"#51d236","light":"#51d236","dark":"#348623"},"logo":{"light":"https://mintcdn.com/teqani/1BxEnIFSxLcVuzEc/logo/light.png?fit=max\u0026auto=format\u0026n=1BxEnIFSxLcVuzEc\u0026q=85\u0026s=8e294e7d811b759a636a0ed14607acbd","dark":"https://mintcdn.com/teqani/1BxEnIFSxLcVuzEc/logo/dark.png?fit=max\u0026auto=format\u0026n=1BxEnIFSxLcVuzEc\u0026q=85\u0026s=03047e2a49bfcedad47e67845218902e","href":"https://linkiasoft.com"},"favicon":"https://mintcdn.com/teqani/1BxEnIFSxLcVuzEc/favicon.svg?fit=max\u0026auto=format\u0026n=1BxEnIFSxLcVuzEc\u0026q=85\u0026s=b21e590719227f3d6cc042a01b9ffb1a","navbar":{"primary":{"type":"button","label":"Open Linkiasoft","href":"https://crm.linkiasoft.com"}},"footer":{"socials":{"website":"https://linkiasoft.com"}},"styling":{"latex":false},"navigation":{"languages":[{"language":"en","default":true,"href":"help"},{"language":"ar","href":"ar/help"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"teqani","hasAudioNarration":false,"actualSubdomain":"teqani","customDomains":["docs.linkiasoft.com"],"gitSource":{"type":"github","owner":"linkiasoft","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6af2f019e49ad3dd9a8e39dc","clientVersion":"0.0.4102","searchFilterCounts":[{"language":"ar","tag":"مركز المساعدة","count":63},{"language":"en","tag":"Help center","count":63},{"language":"en","tag":"API reference","count":61},{"language":"en","tag":"Conversations","count":14},{"language":"ar","tag":"أدلة المطورين","count":12},{"language":"en","tag":"Developer guides","count":12},{"language":"ar","tag":"ربط قناة","count":11},{"language":"en","tag":"Connect a channel","count":11},{"language":"en","tag":"WhatsApp groups","count":11},{"language":"ar","tag":"التكاملات","count":10},{"language":"en","tag":"Integrations","count":10},{"language":"en","tag":"Customers","count":10},{"language":"ar","tag":"الذكاء الاصطناعي والأتمتة","count":8},{"language":"en","tag":"AI \u0026 automation","count":8},{"language":"ar","tag":"البداية","count":7},{"language":"en","tag":"Getting started","count":7},{"language":"ar","tag":"التحليلات","count":5},{"language":"ar","tag":"الحملات","count":4},{"language":"ar","tag":"صندوق الوارد","count":4},{"language":"ar","tag":"الإعدادات","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/conversations/send-a-message","slug":"/api-reference/conversations/send-a-message","pageMetadata":{"title":"Send a message","description":"One call for a template, media, or plain text. The action is chosen by the payload:\na template wins, then `media`, then `text`.\n\nAddress the message either with `conversationId` (an existing thread) or with\n`channelId` + `to` (finds the thread, or starts one).\n\n**Outside the 24-hour customer service window, WhatsApp only accepts templates.**\nA plain-text send to a cold contact will be rejected by the platform.\n\n`to` must be in E.164 with no `+` — `201001234567`, not `01001234567`. A local\nnumber without a country code will not be delivered.\n","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/conversations/send","href":"/api-reference/conversations/send-a-message","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"One call for a template, media, or plain text. The action is chosen by the payload:\\na template wins, then \", _jsx(_components.code, {\n children: \"media\"\n }), \", then \", _jsx(_components.code, {\n children: \"text\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Address the message either with \", _jsx(_components.code, {\n children: \"conversationId\"\n }), \" (an existing thread) or with\\n\", _jsx(_components.code, {\n children: \"channelId\"\n }), \" + \", _jsx(_components.code, {\n children: \"to\"\n }), \" (finds the thread, or starts one).\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Outside the 24-hour customer service window, WhatsApp only accepts templates.\"\n }), \"\\nA plain-text send to a cold contact will be rejected by the platform.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"to\"\n }), \" must be in E.164 with no \", _jsx(_components.code, {\n children: \"+\"\n }), \" — \", _jsx(_components.code, {\n children: \"201001234567\"\n }), \", not \", _jsx(_components.code, {\n children: \"01001234567\"\n }), \". A local\\nnumber without a country code will not be delivered.\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Send a message","description":"One call for a template, media, or plain text. The action is chosen by the payload:\na template wins, then `media`, then `text`.\n\nAddress the message either with `conversationId` (an existing thread) or with\n`channelId` + `to` (finds the thread, or starts one).\n\n**Outside the 24-hour customer service window, WhatsApp only accepts templates.**\nA plain-text send to a cold contact will be rejected by the platform.\n\n`to` must be in E.164 with no `+` — `201001234567`, not `01001234567`. A local\nnumber without a country code will not be delivered.\n","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/conversations/send","href":"/api-reference/conversations/send-a-message","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Conversations"],"summary":"Send a message","operationId":"sendMessage","description":"One call for a template, media, or plain text. The action is chosen by the payload:\na template wins, then `media`, then `text`.\n\nAddress the message either with `conversationId` (an existing thread) or with\n`channelId` + `to` (finds the thread, or starts one).\n\n**Outside the 24-hour customer service window, WhatsApp only accepts templates.**\nA plain-text send to a cold contact will be rejected by the platform.\n\n`to` must be in E.164 with no `+` — `201001234567`, not `01001234567`. A local\nnumber without a country code will not be delivered.\n","requestBody":"90d762f7-cb4f-4ca3-884f-c8ea43deab99","responses":{"202":"a3ee98bb-0a47-4ac8-81cc-a01c7b9ef05a","400":"107f21c5-3051-4a42-b249-1bd26df2b889","401":"736e0cf3-d04d-47f8-99f6-f13c436b0fec","403":"46f61a7d-f057-457a-b988-e7a8c20e9386","404":"97a1860e-c16a-426b-8680-9a2255243410"},"method":"post","type":"path","servers":["e831c817-0394-4145-ac3d-e89ab56ece9e"],"security":["8f1f619d-3646-4a16-9d6c-4f42ec6a3fc1"],"path":"/v1/conversations/send","baseUrlOptions":["https://social.linkiasoft.com/api"],"title":"Send a message","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Provide `conversationId`, or `channelId` + `to`. Then exactly one of a template,\n`media`, or `text`.\n","properties":{"conversationId":{"type":"string","format":"uuid","description":"An existing thread to send into.","uniqueKey":"conversationId","typeLabel":"string\u003cuuid>"},"channelId":{"type":"string","format":"uuid","description":"Which connected account to send from. Required with `to`.","uniqueKey":"channelId","typeLabel":"string\u003cuuid>"},"to":{"type":"string","description":"Recipient in E.164 without `+`, e.g. `201001234567`.","examples":["201001234567"],"uniqueKey":"to","typeLabel":"string"},"contactName":{"type":"string","description":"Display name to store if this starts a new thread.","uniqueKey":"contactName","typeLabel":"string"},"text":{"type":"string","description":"Plain text body. Ignored when a template or `media` is present.","uniqueKey":"text","typeLabel":"string"},"clientMessageId":{"type":"string","maxLength":64,"description":"Your own id for this message. Stored and echoed back as `client_message_id`, so a\nmessage you have already drawn in your own UI can be paired with its row exactly.\n\nAlso the idempotency key: repeating it returns the message the first attempt\ncreated instead of sending a second copy. To retry a message that came back\n`failed`, send the same id — a failed message is genuinely re-sent.\n\n8–64 characters of `A-Z a-z 0-9 _ -`. A UUID is ideal. Templates ignore it.\n","examples":["018f3f2c-9a5b-7c31-8f0e-2b4d6a1e9c77"],"uniqueKey":"clientMessageId","typeLabel":"string"},"media":{"type":"object","required":["mediaUrl","type"],"properties":{"mediaUrl":{"type":"string","format":"uri","description":"Publicly reachable URL. We fetch it; it is not uploaded through this API.","isRequired":true,"uniqueKey":"media.mediaUrl","typeLabel":"string\u003curi>"},"type":{"type":"string","enum":["image","video","audio","document"],"isRequired":true,"uniqueKey":"media.type","typeLabel":"enum\u003cstring>"},"caption":{"type":"string","uniqueKey":"media.caption","typeLabel":"string"},"fileName":{"type":"string","description":"Filename shown for documents.","uniqueKey":"media.fileName","typeLabel":"string"},"clientMessageId":{"type":"string","maxLength":64,"description":"Your own id for this message. Stored and echoed back as `client_message_id`, so a\nmessage you have already drawn in your own UI can be paired with its row exactly.\n\nAlso the idempotency key: repeating it returns the message the first attempt\ncreated instead of sending a second copy. To retry a message that came back\n`failed`, send the same id — a failed message is genuinely re-sent.\n\n8–64 characters of `A-Z a-z 0-9 _ -`. A UUID is ideal. Templates ignore it.\n","examples":["018f3f2c-9a5b-7c31-8f0e-2b4d6a1e9c77"],"uniqueKey":"media.clientMessageId","typeLabel":"string"}},"uniqueKey":"media","typeLabel":"object"},"template":{"type":"object","required":["templateName","templateLanguage"],"properties":{"templateName":{"type":"string","description":"An `APPROVED` template name from `GET /v1/templates`.","isRequired":true,"uniqueKey":"template.templateName","typeLabel":"string"},"templateLanguage":{"type":"string","description":"Language code the template was approved under, e.g. `en`, `en_US`, `ar`.","isRequired":true,"uniqueKey":"template.templateLanguage","typeLabel":"string"},"templateParams":{"type":"array","items":{"type":"string","uniqueKey":"template.templateParams.items.[INDEX]","typeLabel":"string"},"description":"Values for the body placeholders `{{1}}`, `{{2}}`, … in order. The count must\nmatch the template exactly or the send is rejected.\n","uniqueKey":"template.templateParams","typeLabel":"string[]"}},"uniqueKey":"template","typeLabel":"object"},"templateName":{"type":"string","description":"Flat alias for `template.templateName`.","uniqueKey":"templateName","typeLabel":"string"},"templateLanguage":{"type":"string","description":"Flat alias for `template.templateLanguage`.","uniqueKey":"templateLanguage","typeLabel":"string"},"templateParams":{"oneOf":[{"type":"array","items":{"type":"string","uniqueKey":"templateParams.oneOf.0.items.[INDEX]","typeLabel":"string"},"description":"Flat alias for `template.templateParams`. Accepts an array, a JSON array\nstring, or a comma-separated list.\n","uniqueKey":"templateParams.oneOf.0","typeLabel":"string[]"},{"type":"string","description":"Flat alias for `template.templateParams`. Accepts an array, a JSON array\nstring, or a comma-separated list.\n","uniqueKey":"templateParams.oneOf.1","typeLabel":"string"}],"uniqueKey":"templateParams","typeLabel":"string[] | string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"template":{"title":"template","value":{"channelId":"3f2b1a9c-0d4e-4a7b-9c1e-8f6a2b3c4d5e","to":"201001234567","contactName":"Ahmed Hassan","template":{"templateName":"ticket_resolved","templateLanguage":"ar","templateParams":["Ahmed","4821"]}}},"templateFlat":{"title":"templateFlat","description":"Some integrations — Zoho Desk workflow webhooks, form posts — can only\nemit flat key/value pairs. These fields are equivalent to the nested\n`template` object. `templateParams` also accepts a JSON array string\n(`[\"a\",\"b\"]`) or a comma-separated list; use the JSON form when a value\nitself contains a comma.\n","value":{"channelId":"3f2b1a9c-0d4e-4a7b-9c1e-8f6a2b3c4d5e","to":"201001234567","templateName":"ticket_resolved","templateLanguage":"ar","templateParams":"Ahmed,4821"}},"text":{"title":"text","value":{"conversationId":"7c8d9e0f-1a2b-3c4d-5e6f-7a8b9c0d1e2f","text":"Thanks — that's all sorted."}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"a3ee98bb-0a47-4ac8-81cc-a01c7b9ef05a":{"description":"Accepted and queued for delivery.","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","format":"uuid","uniqueKey":"id","typeLabel":"string\u003cuuid>"},"conversation_id":{"type":"string","format":"uuid","uniqueKey":"conversation_id","typeLabel":"string\u003cuuid>"},"direction":{"type":"string","enum":["inbound","outbound"],"uniqueKey":"direction","typeLabel":"enum\u003cstring>"},"type":{"type":"string","description":"Drives how `text` and `media` are interpreted.","enum":["text","image","video","audio","document","sticker","location","contact","poll","reaction","template"],"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"text":{"oneOf":[{"type":"string","description":"The body for text; the caption for image/video/document; the emoji for a\nreaction; the place name for a location; null for audio and stickers.\n","uniqueKey":"text.oneOf.0","typeLabel":"string"},{"type":"null","description":"The body for text; the caption for image/video/document; the emoji for a\nreaction; the place name for a location; null for audio and stickers.\n","uniqueKey":"text.oneOf.1","typeLabel":"null"}],"uniqueKey":"text","typeLabel":"string | null"},"media":{"oneOf":[{"type":"object","description":"Type-specific metadata. Null for plain text.","additionalProperties":true,"uniqueKey":"media.oneOf.0","typeLabel":"object"},{"type":"null","description":"Type-specific metadata. Null for plain text.","additionalProperties":true,"uniqueKey":"media.oneOf.1","typeLabel":"null"}],"uniqueKey":"media","typeLabel":"object | null"},"status":{"type":"string","description":"Delivery state. `failed` is terminal and `error_reason` explains it. Read\nstatus only appears when the contact has read receipts enabled.\n","enum":["pending","sent","delivered","read","failed"],"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"error_reason":{"oneOf":[{"type":"string","uniqueKey":"error_reason.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"error_reason","typeLabel":"string | null"},"sender_name":{"oneOf":[{"type":"string","uniqueKey":"sender_name.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"sender_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"sender_name","typeLabel":"string | null"},"from_me":{"type":"boolean","description":"True when we sent it.","uniqueKey":"from_me","typeLabel":"boolean"},"platform_message_id":{"type":"string","description":"The platform's own id. Empty until the send is acknowledged.","uniqueKey":"platform_message_id","typeLabel":"string"},"client_message_id":{"oneOf":[{"type":"string","description":"The `clientMessageId` you sent with this message, echoed back. Null for anything\nwith no client behind it — inbound messages, AI replies, automations, broadcasts.\n","uniqueKey":"client_message_id.oneOf.0","typeLabel":"string"},{"type":"null","description":"The `clientMessageId` you sent with this message, echoed back. Null for anything\nwith no client behind it — inbound messages, AI replies, automations, broadcasts.\n","uniqueKey":"client_message_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"client_message_id","typeLabel":"string | null"},"created_at":{"type":"string","format":"date-time","uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","conversation_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","direction":"inbound","type":"text","text":"\u003cstring>","media":{},"status":"pending","error_reason":"\u003cstring>","sender_name":"\u003cstring>","from_me":true,"platform_message_id":"\u003cstring>","client_message_id":"\u003cstring>","created_at":"2023-11-07T05:31:56Z"}}},"exampleType":"generated"}},"exampleType":"generated"},"107f21c5-3051-4a42-b249-1bd26df2b889":{"description":"The request was malformed. The `message` says what to fix.","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","uniqueKey":"statusCode","typeLabel":"integer"},"message":{"oneOf":[{"type":"string","description":"A sentence explaining the failure, or a list of field errors.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"A sentence explaining the failure, or a list of field errors.","uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"examples":[{"statusCode":403,"message":"API key missing required scope(s): conversations:read","error":"Forbidden"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":403,"message":"API key missing required scope(s): conversations:read","error":"Forbidden"}}},"exampleType":"generated"}},"exampleType":"generated"},"736e0cf3-d04d-47f8-99f6-f13c436b0fec":{"description":"The API key is missing, invalid, revoked, or expired.","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","uniqueKey":"statusCode","typeLabel":"integer"},"message":{"oneOf":[{"type":"string","description":"A sentence explaining the failure, or a list of field errors.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"A sentence explaining the failure, or a list of field errors.","uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"examples":[{"statusCode":403,"message":"API key missing required scope(s): conversations:read","error":"Forbidden"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":403,"message":"API key missing required scope(s): conversations:read","error":"Forbidden"}}},"exampleType":"generated"}},"exampleType":"generated"},"46f61a7d-f057-457a-b988-e7a8c20e9386":{"description":"The key is valid but lacks the scope for this endpoint, or the workspace has hit a\nplan limit (for example its monthly active-contact quota).\n","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","uniqueKey":"statusCode","typeLabel":"integer"},"message":{"oneOf":[{"type":"string","description":"A sentence explaining the failure, or a list of field errors.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"A sentence explaining the failure, or a list of field errors.","uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"examples":[{"statusCode":403,"message":"API key missing required scope(s): conversations:read","error":"Forbidden"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":403,"message":"API key missing required scope(s): conversations:read","error":"Forbidden"}}},"exampleType":"generated"}},"exampleType":"generated"},"97a1860e-c16a-426b-8680-9a2255243410":{"description":"No such record in your workspace. Records belonging to another workspace are\nreported as not found rather than forbidden.\n","content":{"application/json":{"schema":{"type":"object","properties":{"statusCode":{"type":"integer","uniqueKey":"statusCode","typeLabel":"integer"},"message":{"oneOf":[{"type":"string","description":"A sentence explaining the failure, or a list of field errors.","uniqueKey":"message.oneOf.0","typeLabel":"string"},{"type":"array","items":{"type":"string","uniqueKey":"message.oneOf.1.items.[INDEX]","typeLabel":"string"},"description":"A sentence explaining the failure, or a list of field errors.","uniqueKey":"message.oneOf.1","typeLabel":"string[]"}],"uniqueKey":"message","typeLabel":"string | string[]"},"error":{"type":"string","uniqueKey":"error","typeLabel":"string"}},"examples":[{"statusCode":403,"message":"API key missing required scope(s): conversations:read","error":"Forbidden"}],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"statusCode":403,"message":"API key missing required scope(s): conversations:read","error":"Forbidden"}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"8f1f619d-3646-4a16-9d6c-4f42ec6a3fc1":{"apiKey":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your workspace API key. Create one in **Settings → API Keys**; the plaintext value\nis shown once and never again.\n\nKeys are scoped. A key needs `conversations:send` to send, `conversations:read` to\nread threads and messages, `templates:read` to list templates, `channels:read`\nto list channels, and `channels:manage` to create connect sessions. A key missing\nthe scope for an endpoint gets `403`.\n\nThe CRM endpoints use the same `resource:action` form: `leads:read`, `leads:create`,\n`leads:update`, `leads:delete`, `customers:read`, `customers:create`,\n`customers:update`, `customers:delete`, `customers:manage`.\n\nSeveral resources have no scope of their own and borrow one:\n\n| Resource | Governed by |\n|---|---|\n| Contacts | `customers:*` |\n| Activities | `customers:*` for customer activities, `leads:*` for lead activities |\n| Tags | `customers:read` to list, `customers:manage` to change |\n| Pipeline stages | `leads:*` |\n| Quick replies | `quick-replies:read` / `quick-replies:write` |\n| WhatsApp groups | `wa-groups:manage` |\n\nGrant only what the integration needs — a key that only sends notifications should\nhold `conversations:send` and nothing else.\n","scopes":[],"schemeName":"apiKey"},"tenantId":{"type":"apiKey","in":"header","name":"X-Tenant-Id","description":"Your workspace UUID. Required on every request **in addition to** `x-api-key`.\n\nIt does not select the workspace — data access is always scoped to the workspace\nthat owns the API key, and a mismatched value cannot read anyone else's data.\n","scopes":[],"schemeName":"tenantId"}}},"servers":{"e831c817-0394-4145-ac3d-e89ab56ece9e":{"url":"https://social.linkiasoft.com/api","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","description":"Your workspace API key. Create one in **Settings → API Keys**; the plaintext value\nis shown once and never again.\n\nKeys are scoped. A key needs `conversations:send` to send, `conversations:read` to\nread threads and messages, `templates:read` to list templates, `channels:read`\nto list channels, and `channels:manage` to create connect sessions. A key missing\nthe scope for an endpoint gets `403`.\n\nThe CRM endpoints use the same `resource:action` form: `leads:read`, `leads:create`,\n`leads:update`, `leads:delete`, `customers:read`, `customers:create`,\n`customers:update`, `customers:delete`, `customers:manage`.\n\nSeveral resources have no scope of their own and borrow one:\n\n| Resource | Governed by |\n|---|---|\n| Contacts | `customers:*` |\n| Activities | `customers:*` for customer activities, `leads:*` for lead activities |\n| Tags | `customers:read` to list, `customers:manage` to change |\n| Pipeline stages | `leads:*` |\n| Quick replies | `quick-replies:read` / `quick-replies:write` |\n| WhatsApp groups | `wa-groups:manage` |\n\nGrant only what the integration needs — a key that only sends notifications should\nhold `conversations:send` and nothing else.\n","scopes":[],"schemeName":"apiKey"},"schema":{"title":"x-api-key","type":"string","description":"Your workspace API key. Create one in **Settings → API Keys**; the plaintext value\nis shown once and never again.\n\nKeys are scoped. A key needs `conversations:send` to send, `conversations:read` to\nread threads and messages, `templates:read` to list templates, `channels:read`\nto list channels, and `channels:manage` to create connect sessions. A key missing\nthe scope for an endpoint gets `403`.\n\nThe CRM endpoints use the same `resource:action` form: `leads:read`, `leads:create`,\n`leads:update`, `leads:delete`, `customers:read`, `customers:create`,\n`customers:update`, `customers:delete`, `customers:manage`.\n\nSeveral resources have no scope of their own and borrow one:\n\n| Resource | Governed by |\n|---|---|\n| Contacts | `customers:*` |\n| Activities | `customers:*` for customer activities, `leads:*` for lead activities |\n| Tags | `customers:read` to list, `customers:manage` to change |\n| Pipeline stages | `leads:*` |\n| Quick replies | `quick-replies:read` / `quick-replies:write` |\n| WhatsApp groups | `wa-groups:manage` |\n\nGrant only what the integration needs — a key that only sends notifications should\nhold `conversations:send` and nothing else.\n","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"x-api-key"},{"scheme":{"type":"apiKey","in":"header","name":"X-Tenant-Id","description":"Your workspace UUID. Required on every request **in addition to** `x-api-key`.\n\nIt does not select the workspace — data access is always scoped to the workspace\nthat owns the API key, and a mismatched value cannot read anyone else's data.\n","scopes":[],"schemeName":"tenantId"},"schema":{"title":"X-Tenant-Id","type":"string","description":"Your workspace UUID. Required on every request **in addition to** `x-api-key`.\n\nIt does not select the workspace — data access is always scoped to the workspace\nthat owns the API key, and a mismatched value cannot read anyone else's data.\n","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"tenantId","name":"X-Tenant-Id"}],"title":"apiKey \u0026 tenantId"}]},"originalFileLocation":"openapi/public-api.yaml"},"subdomain":"teqani","siteName":"Linkiasoft","title":"Send a message - Linkiasoft","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/api-reference/conversations/send-a-message","matchLevel":0},"ar":{"href":"/ar/help","matchLevel":4}}},"lastModified":"2026-10-24T01:00:39.685Z","originalFileLocation":"api-reference/conversations/send-a-message.mdx","locale":"en"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"One call for a template, media, or plain text. The action is chosen by the payload: a template wins, then media, then text. Address the message either with conversationId (an existing thread) or with channelId + to (finds the thread, or starts one). Outside the 24-hour customer service window, WhatsApp only accepts templates. A plain-text send to a cold contact will be rejected by the platform. to must be in E.164 with no + — 201001234567, not 01001234567. A local number without a country code will not be delivered.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Linkiasoft\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/teqani/KFZrf8GZkaUAWM8c/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/teqani/KFZrf8GZkaUAWM8c/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/teqani/KFZrf8GZkaUAWM8c/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/teqani/KFZrf8GZkaUAWM8c/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/teqani/KFZrf8GZkaUAWM8c/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/teqani/KFZrf8GZkaUAWM8c/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/teqani/KFZrf8GZkaUAWM8c/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/teqani/KFZrf8GZkaUAWM8c/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/teqani/KFZrf8GZkaUAWM8c/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Send a message - Linkiasoft\">\u003cmeta data-mint-head property=\"og:description\" content=\"One call for a template, media, or plain text. The action is chosen by the payload: a template wins, then media, then text. Address the message either with conversationId (an existing thread) or with channelId + to (finds the thread, or starts one). Outside the 24-hour customer service window, WhatsApp only accepts templates. A plain-text send to a cold contact will be rejected by the platform. to must be in E.164 with no + — 201001234567, not 01001234567. A local number without a country code will not be delivered.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Linkiasoft\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.linkiasoft.com/api-reference/conversations/send-a-message\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://teqani.mintlify.site/_mintlify/api/og/v2?division=Conversations\u0026amp;title=Send+a+message\u0026amp;description=One+call+for+a+template%2C+media%2C+or+plain+text.+The+action+is+chosen+by+the+payload%3A%0Aa+template+wins%2C+then+%60media%60%2C+then+%60text%60.%0A%0AAddress+the+message+either+with\u0026amp;theme=24eec47bfb28bfbac79a9fa2\u0026amp;signature=efdfca1ee073f2c38a61261af6cb301f3c8775bc815fd2f3b7cd460423796d5c\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Send a message - Linkiasoft\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"One call for a template, media, or plain text. The action is chosen by the payload: a template wins, then media, then text. Address the message either with conversationId (an existing thread) or with channelId + to (finds the thread, or starts one). Outside the 24-hour customer service window, WhatsApp only accepts templates. A plain-text send to a cold contact will be rejected by the platform. to must be in E.164 with no + — 201001234567, not 01001234567. A local number without a country code will not be delivered.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://teqani.mintlify.site/_mintlify/api/og/v2?division=Conversations\u0026amp;title=Send+a+message\u0026amp;description=One+call+for+a+template%2C+media%2C+or+plain+text.+The+action+is+chosen+by+the+payload%3A%0Aa+template+wins%2C+then+%60media%60%2C+then+%60text%60.%0A%0AAddress+the+message+either+with\u0026amp;theme=24eec47bfb28bfbac79a9fa2\u0026amp;signature=efdfca1ee073f2c38a61261af6cb301f3c8775bc815fd2f3b7cd460423796d5c\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/teqani/KFZrf8GZkaUAWM8c/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Linkiasoft\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#51d236\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.linkiasoft.com/api-reference/conversations/send-a-message\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/conversations/send-a-message.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.linkiasoft.com/#organization\",\"name\":\"Linkiasoft\",\"url\":\"https://docs.linkiasoft.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/teqani/1BxEnIFSxLcVuzEc/logo/light.png?fit=max\u0026auto=format\u0026n=1BxEnIFSxLcVuzEc\u0026q=85\u0026s=8e294e7d811b759a636a0ed14607acbd\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.linkiasoft.com#website\",\"name\":\"Linkiasoft\",\"url\":\"https://docs.linkiasoft.com\",\"publisher\":{\"@id\":\"https://docs.linkiasoft.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.linkiasoft.com/api-reference/conversations/send-a-message#webpage\",\"url\":\"https://docs.linkiasoft.com/api-reference/conversations/send-a-message\",\"name\":\"Send a message\",\"description\":\"One call for a template, media, or plain text. The action is chosen by the payload: a template wins, then media, then text. Address the message either with conversationId (an existing thread) or with channelId + to (finds the thread, or starts one). Outside the 24-hour customer service window, WhatsApp only accepts templates. A plain-text send to a cold contact will be rejected by the platform. to must be in E.164 with no + — 201001234567, not 01001234567. A local number without a country code will not be delivered.\",\"dateModified\":\"2026-10-24T01:00:39.685Z\",\"isPartOf\":{\"@id\":\"https://docs.linkiasoft.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.linkiasoft.com/api-reference/conversations/send-a-message#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.linkiasoft.com/api-reference/conversations/send-a-message#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Linkiasoft\",\"item\":\"https://docs.linkiasoft.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Send a message\",\"item\":\"https://docs.linkiasoft.com/api-reference/conversations/send-a-message\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.linkiasoft.com/api-reference/conversations/send-a-message#apireference\",\"headline\":\"Send a message\",\"name\":\"Send a message\",\"description\":\"One call for a template, media, or plain text. The action is chosen by the payload: a template wins, then media, then text. Address the message either with conversationId (an existing thread) or with channelId + to (finds the thread, or starts one). Outside the 24-hour customer service window, WhatsApp only accepts templates. A plain-text send to a cold contact will be rejected by the platform. to must be in E.164 with no + — 201001234567, not 01001234567. A local number without a country code will not be delivered.\",\"url\":\"https://docs.linkiasoft.com/api-reference/conversations/send-a-message\",\"mainEntityOfPage\":{\"@id\":\"https://docs.linkiasoft.com/api-reference/conversations/send-a-message#webpage\"},\"dateModified\":\"2026-10-24T01:00:39.685Z\",\"publisher\":{\"@id\":\"https://docs.linkiasoft.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.linkiasoft.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Linkiasoft\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Linkiasoft\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/conversations/send-a-message.md","siteName":"Linkiasoft","nav":{"global":null,"languages":[{"language":"en","default":true,"tabs":[{"tab":"Help center","pages":[{"title":"Help center","href":"/help"}]},{"tab":"Developer guides","pages":[{"title":"Developer guides","href":"/introduction"}]},{"tab":"API reference","groups":[{"group":"Conversations","pages":[{"title":"Send a message","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/conversations/send","href":"/api-reference/conversations/send-a-message"},{"title":"List conversations","description":null,"deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/conversations","href":"/api-reference/conversations/list-conversations"},{"title":"Get a conversation","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/conversations/{id}","href":"/api-reference/conversations/get-a-conversation"},{"title":"List messages in a conversation","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/conversations/{id}/messages","href":"/api-reference/conversations/list-messages-in-a-conversation"},{"title":"Send text into a conversation","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/conversations/{id}/messages","href":"/api-reference/conversations/send-text-into-a-conversation"},{"title":"Send media into a conversation","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/conversations/{id}/messages/media","href":"/api-reference/conversations/send-media-into-a-conversation"},{"title":"Send a template into a conversation","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/conversations/{id}/template","href":"/api-reference/conversations/send-a-template-into-a-conversation"},{"title":"React to a message","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/conversations/{id}/messages/{messageId}/reaction","href":"/api-reference/conversations/react-to-a-message"},{"title":"Delete a sent message","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml delete /v1/conversations/{id}/messages/{messageId}","href":"/api-reference/conversations/delete-a-sent-message"},{"title":"Edit a sent message","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/conversations/{id}/messages/{messageId}","href":"/api-reference/conversations/edit-a-sent-message"},{"title":"Close a conversation","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/conversations/{id}/close","href":"/api-reference/conversations/close-a-conversation"},{"title":"Reopen a conversation","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/conversations/{id}/reopen","href":"/api-reference/conversations/reopen-a-conversation"},{"title":"Assign or pause the AI agent","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/conversations/{id}/assign","href":"/api-reference/conversations/assign-or-pause-the-ai-agent"},{"title":"Reassign the owning user","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/conversations/{id}/assign-owner","href":"/api-reference/conversations/reassign-the-owning-user"}]},{"group":"Templates","pages":[{"title":"List approved templates for a channel","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/templates","href":"/api-reference/templates/list-approved-templates-for-a-channel"}]},{"group":"Channels","pages":[{"title":"List your connected channels","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/connect/channels","href":"/api-reference/channels/list-your-connected-channels"}]},{"group":"Connect sessions","pages":[{"title":"Create a connect link","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/connect-sessions","href":"/api-reference/connect-sessions/create-a-connect-link"},{"title":"Get a connect session","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/connect-sessions/{id}","href":"/api-reference/connect-sessions/get-a-connect-session"},{"title":"Cancel a connect session","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/connect-sessions/{id}/cancel","href":"/api-reference/connect-sessions/cancel-a-connect-session"}]},{"group":"Leads","pages":[{"title":"List leads","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/leads","href":"/api-reference/leads/list-leads"},{"title":"Create a lead","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/leads","href":"/api-reference/leads/create-a-lead"},{"title":"Count leads per stage","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/leads/stage-counts","href":"/api-reference/leads/count-leads-per-stage"},{"title":"Get a lead","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/leads/{id}","href":"/api-reference/leads/get-a-lead"},{"title":"Update a lead or move its stage","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/leads/{id}","href":"/api-reference/leads/update-a-lead-or-move-its-stage"},{"title":"Reassign a lead to another user","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/leads/{id}/reassign","href":"/api-reference/leads/reassign-a-lead-to-another-user"}]},{"group":"Pipeline","pages":[{"title":"List pipeline stages","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/lead-stages","href":"/api-reference/pipeline/list-pipeline-stages"},{"title":"Delete a stage","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml delete /v1/lead-stages/{id}","href":"/api-reference/pipeline/delete-a-stage"},{"title":"Rename or restyle a stage","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/lead-stages/{id}","href":"/api-reference/pipeline/rename-or-restyle-a-stage"}]},{"group":"Contacts","pages":[{"title":"List contacts for a company","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /contacts/customer/{customerId}","href":"/api-reference/contacts/list-contacts-for-a-company"},{"title":"Get a contact","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /contacts/{id}","href":"/api-reference/contacts/get-a-contact"},{"title":"Create a contact","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /contacts","href":"/api-reference/contacts/create-a-contact"},{"title":"Make a contact the primary one","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /contacts/{id}/set-primary","href":"/api-reference/contacts/make-a-contact-the-primary-one"}]},{"group":"Activities","pages":[{"title":"List a lead's activities","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /activities/lead/{leadId}","href":"/api-reference/activities/list-a-leads-activities"},{"title":"Log an activity or mark a follow-up","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /activities/lead/{leadId}","href":"/api-reference/activities/log-an-activity-or-mark-a-follow-up"},{"title":"List a customer's activities","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /activities/customer/{customerId}","href":"/api-reference/activities/list-a-customers-activities"},{"title":"Activity counts for a customer","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /activities/customer/{customerId}/stats","href":"/api-reference/activities/activity-counts-for-a-customer"}]},{"group":"Customers","pages":[{"title":"List customers","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/customers","href":"/api-reference/customers/list-customers"},{"title":"Create a customer","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/customers","href":"/api-reference/customers/create-a-customer"},{"title":"Search customers","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/customers/search","href":"/api-reference/customers/search-customers"},{"title":"Customer counts by status and type","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/customers/stats","href":"/api-reference/customers/customer-counts-by-status-and-type"},{"title":"Get a customer","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/customers/{id}","href":"/api-reference/customers/get-a-customer"},{"title":"Delete a customer","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml delete /v1/customers/{id}","href":"/api-reference/customers/delete-a-customer"},{"title":"Update a customer","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml patch /v1/customers/{id}","href":"/api-reference/customers/update-a-customer"},{"title":"Assign a customer to a user","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/customers/{id}/assign","href":"/api-reference/customers/assign-a-customer-to-a-user"},{"title":"Add tags to a customer","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/customers/{id}/tags","href":"/api-reference/customers/add-tags-to-a-customer"},{"title":"Remove a tag from a customer","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml delete /v1/customers/{id}/tags/{tagId}","href":"/api-reference/customers/remove-a-tag-from-a-customer"}]},{"group":"Tags","pages":[{"title":"List tags","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /tags","href":"/api-reference/tags/list-tags"},{"title":"Create a tag","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /tags","href":"/api-reference/tags/create-a-tag"}]},{"group":"Quick replies","pages":[{"title":"List quick replies","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/quick-replies","href":"/api-reference/quick-replies/list-quick-replies"},{"title":"Create a quick reply","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/quick-replies","href":"/api-reference/quick-replies/create-a-quick-reply"}]},{"group":"WhatsApp groups","pages":[{"title":"List WhatsApp groups","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/whatsapp/wa-groups","href":"/api-reference/whatsapp-groups/list-whatsapp-groups"},{"title":"Create a WhatsApp group","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/whatsapp/wa-groups","href":"/api-reference/whatsapp-groups/create-a-whatsapp-group"},{"title":"Get a group and its participants","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/whatsapp/wa-groups/{groupId}","href":"/api-reference/whatsapp-groups/get-a-group-and-its-participants"},{"title":"Update group subject, description or join mode","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/whatsapp/wa-groups/{groupId}","href":"/api-reference/whatsapp-groups/update-group-subject-description-or-join-mode"},{"title":"Delete or leave a group","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml delete /v1/whatsapp/wa-groups/{groupId}","href":"/api-reference/whatsapp-groups/delete-or-leave-a-group"},{"title":"Add, promote or demote participants","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/whatsapp/wa-groups/{groupId}/participants","href":"/api-reference/whatsapp-groups/add-promote-or-demote-participants"},{"title":"Remove participants","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml delete /v1/whatsapp/wa-groups/{groupId}/participants","href":"/api-reference/whatsapp-groups/remove-participants"},{"title":"Create or rotate the invite link","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/whatsapp/wa-groups/{groupId}/invite-link","href":"/api-reference/whatsapp-groups/create-or-rotate-the-invite-link"},{"title":"List pending join requests","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml get /v1/whatsapp/wa-groups/{groupId}/join-requests","href":"/api-reference/whatsapp-groups/list-pending-join-requests"},{"title":"Approve join requests","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml post /v1/whatsapp/wa-groups/{groupId}/join-requests","href":"/api-reference/whatsapp-groups/approve-join-requests"},{"title":"Reject join requests","deprecated":null,"version":null,"openapi":"/openapi/public-api.yaml delete /v1/whatsapp/wa-groups/{groupId}/join-requests","href":"/api-reference/whatsapp-groups/reject-join-requests"}]}]}]},{"language":"ar","pages":[{"title":"ar","href":"/ar/help"}]}]},"basePath":"","title":"Send a message - Linkiasoft","buildId":"dpl_596ePT575z4qnAFksq1biRW97aLY","deploymentId":"dpl_596ePT575z4qnAFksq1biRW97aLY","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-C9Wu0MeN.js","utils-jWgu-6Qf.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DBD8f9qn.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BGuX1ui5.js","snippetPresets-Evy63nQB.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BQHO1lnV.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B6C8m-t_.js","shallow-BG4cT0fH.js","getApiPlaygroundDisplay-CgEPrE-D.js","CodeSnippet-CU8JyZ9N.js","CodeSnippets-BnxHU32T.js","Page-D6S0Yh6q.js","getPastedJson-CwiYOonh.js","icon-DYDpWmDf.js","MethodPill-C-J-l7_c.js","DuplicateIcon-B6ARwg9w.js","createIcon-Dsv4MtDq.js","DynamicMarkdown-CtasenyM.js","SectionHeading-YNcgYwjB.js","axios-vUo_bRtp.js","Markdown-CwLx6PAg.js","clsx-C3kuh_dz.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CmKHfscc.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-U3mI6Ljh.js"]}