# Linkiasoft > Send and read WhatsApp, Instagram, Messenger and Telegram messages from your own systems. ## Docs - [Activity counts for a customer](https://docs.linkiasoft.com/api-reference/activities/activity-counts-for-a-customer.md) - [List a customer's activities](https://docs.linkiasoft.com/api-reference/activities/list-a-customers-activities.md) - [List a lead's activities](https://docs.linkiasoft.com/api-reference/activities/list-a-leads-activities.md) - [Log an activity or mark a follow-up](https://docs.linkiasoft.com/api-reference/activities/log-an-activity-or-mark-a-follow-up.md): Records something that happened on a lead. **Marking a lead as needing follow-up is an activity with `outcome: "follow_up_needed"`** — there is no separate follow-up flag on the lead itself. - [List your connected channels](https://docs.linkiasoft.com/api-reference/channels/list-your-connected-channels.md): Start here — the `id` of a channel is the `channelId` every other endpoint asks for. - [Create a contact](https://docs.linkiasoft.com/api-reference/contacts/create-a-contact.md): Note the missing `/v1` prefix — this is `/api/contacts`. - [Get a contact](https://docs.linkiasoft.com/api-reference/contacts/get-a-contact.md) - [List contacts for a company](https://docs.linkiasoft.com/api-reference/contacts/list-contacts-for-a-company.md): Every contact attached to one customer record. A customer is the company or account; contacts are the people at it. - [Make a contact the primary one](https://docs.linkiasoft.com/api-reference/contacts/make-a-contact-the-primary-one.md): Demotes whichever contact was previously primary at that company. - [Assign or pause the AI agent](https://docs.linkiasoft.com/api-reference/conversations/assign-or-pause-the-ai-agent.md): Sets which AI agent answers this thread. Pass `null` to hand it back — that is the "stop AI" action, after which a human is expected to reply. - [Close a conversation](https://docs.linkiasoft.com/api-reference/conversations/close-a-conversation.md): The natural pairing with a helpdesk: close the ticket, close the chat. A new inbound message reopens the thread automatically. - [Delete a sent message](https://docs.linkiasoft.com/api-reference/conversations/delete-a-sent-message.md): Your own outbound messages only. Telegram only, same ~48 hour limit. - [Edit a sent message](https://docs.linkiasoft.com/api-reference/conversations/edit-a-sent-message.md): Your own outbound messages only. **Telegram only** today, and Telegram allows roughly 48 hours — other providers answer `400`. - [Get a conversation](https://docs.linkiasoft.com/api-reference/conversations/get-a-conversation.md) - [List conversations](https://docs.linkiasoft.com/api-reference/conversations/list-conversations.md) - [List messages in a conversation](https://docs.linkiasoft.com/api-reference/conversations/list-messages-in-a-conversation.md): Newest first. Page backwards through history with `offset`. - [React to a message](https://docs.linkiasoft.com/api-reference/conversations/react-to-a-message.md): An empty `emoji` removes your reaction. WhatsApp and Telegram only. - [Reassign the owning user](https://docs.linkiasoft.com/api-reference/conversations/reassign-the-owning-user.md): Pass `null` to leave the conversation unowned. - [Reopen a conversation](https://docs.linkiasoft.com/api-reference/conversations/reopen-a-conversation.md) - [Send a message](https://docs.linkiasoft.com/api-reference/conversations/send-a-message.md): One call for a template, media, or plain text. The action is chosen by the payload: a template wins, then `media`, then `text`. - [Send a template into a conversation](https://docs.linkiasoft.com/api-reference/conversations/send-a-template-into-a-conversation.md) - [Send media into a conversation](https://docs.linkiasoft.com/api-reference/conversations/send-media-into-a-conversation.md) - [Send text into a conversation](https://docs.linkiasoft.com/api-reference/conversations/send-text-into-a-conversation.md): For when you already hold a `conversationId`. Use [`POST /v1/conversations/send`](/api-reference/conversations/send-a-message) when you only have a channel and a phone number. - [Add tags to a customer](https://docs.linkiasoft.com/api-reference/customers/add-tags-to-a-customer.md) - [Assign a customer to a user](https://docs.linkiasoft.com/api-reference/customers/assign-a-customer-to-a-user.md): Requires the `customers:manage` scope, not `customers:update`. - [Create a customer](https://docs.linkiasoft.com/api-reference/customers/create-a-customer.md) - [Customer counts by status and type](https://docs.linkiasoft.com/api-reference/customers/customer-counts-by-status-and-type.md) - [Delete a customer](https://docs.linkiasoft.com/api-reference/customers/delete-a-customer.md) - [Get a customer](https://docs.linkiasoft.com/api-reference/customers/get-a-customer.md) - [List customers](https://docs.linkiasoft.com/api-reference/customers/list-customers.md): A customer is the company or account record. The people at it are [contacts](/api-reference/contacts/list-contacts-for-a-company) — start here to get the `customerId` they hang off. - [Remove a tag from a customer](https://docs.linkiasoft.com/api-reference/customers/remove-a-tag-from-a-customer.md) - [Search customers](https://docs.linkiasoft.com/api-reference/customers/search-customers.md): Full-text search across the customer record. - [Update a customer](https://docs.linkiasoft.com/api-reference/customers/update-a-customer.md) - [Count leads per stage](https://docs.linkiasoft.com/api-reference/leads/count-leads-per-stage.md): How many leads sit in each stage — the board's column headers, without pulling every lead. - [Create a lead](https://docs.linkiasoft.com/api-reference/leads/create-a-lead.md) - [Get a lead](https://docs.linkiasoft.com/api-reference/leads/get-a-lead.md) - [List leads](https://docs.linkiasoft.com/api-reference/leads/list-leads.md): Filter by `status` to read one pipeline stage. Note that `status` holds a **stage key**, not a display name — fetch the keys from [`GET /v1/lead-stages`](/api-reference/pipeline/list-pipeline-stages) rather than hard-coding `"won"`, which tenants rename. - [Reassign a lead to another user](https://docs.linkiasoft.com/api-reference/leads/reassign-a-lead-to-another-user.md) - [Update a lead or move its stage](https://docs.linkiasoft.com/api-reference/leads/update-a-lead-or-move-its-stage.md): Send only the fields you are changing. **Moving a lead through the pipeline is a `status` update** — set it to the target stage's `key`. - [Delete a stage](https://docs.linkiasoft.com/api-reference/pipeline/delete-a-stage.md): System stages (`is_system: true`) cannot be deleted. Leads sitting in a deleted stage fall back to the default stage. - [List pipeline stages](https://docs.linkiasoft.com/api-reference/pipeline/list-pipeline-stages.md): Read this before writing any integration that moves leads. A lead's `status` holds a stage `key`, and tenants rename and reorder their stages freely. - [Rename or restyle a stage](https://docs.linkiasoft.com/api-reference/pipeline/rename-or-restyle-a-stage.md): Changing `name` is safe — integrations key off `key`. Changing `key` is not: any lead whose `status` holds the old value stops matching. - [Create a quick reply](https://docs.linkiasoft.com/api-reference/quick-replies/create-a-quick-reply.md) - [List quick replies](https://docs.linkiasoft.com/api-reference/quick-replies/list-quick-replies.md): Team-shared canned responses. Every agent on the workspace sees the same set. - [Create a tag](https://docs.linkiasoft.com/api-reference/tags/create-a-tag.md): Requires the `customers:manage` scope. - [List tags](https://docs.linkiasoft.com/api-reference/tags/list-tags.md): `Lead.tags`, `Customer.tags` and `Contact.tags` come back as bare tag IDs. This is how you resolve them to names and colors. - [List approved templates for a channel](https://docs.linkiasoft.com/api-reference/templates/list-approved-templates-for-a-channel.md): Only `APPROVED` templates can be sent. A template still `PENDING` Meta review will be rejected at send time. - [Add, promote or demote participants](https://docs.linkiasoft.com/api-reference/whatsapp-groups/add-promote-or-demote-participants.md): `action` defaults to `add`. `promote` and `demote` are unofficial-provider only. - [Approve join requests](https://docs.linkiasoft.com/api-reference/whatsapp-groups/approve-join-requests.md) - [Create a WhatsApp group](https://docs.linkiasoft.com/api-reference/whatsapp-groups/create-a-whatsapp-group.md) - [Create or rotate the invite link](https://docs.linkiasoft.com/api-reference/whatsapp-groups/create-or-rotate-the-invite-link.md): Rotating invalidates the previous link immediately. - [Delete or leave a group](https://docs.linkiasoft.com/api-reference/whatsapp-groups/delete-or-leave-a-group.md): Deletes the group on the official provider; leaves it on the unofficial one. - [Get a group and its participants](https://docs.linkiasoft.com/api-reference/whatsapp-groups/get-a-group-and-its-participants.md) - [List pending join requests](https://docs.linkiasoft.com/api-reference/whatsapp-groups/list-pending-join-requests.md) - [List WhatsApp groups](https://docs.linkiasoft.com/api-reference/whatsapp-groups/list-whatsapp-groups.md): Works for both WhatsApp providers — the provider is resolved from the channel, so the call is the same either way. - [Reject join requests](https://docs.linkiasoft.com/api-reference/whatsapp-groups/reject-join-requests.md) - [Remove participants](https://docs.linkiasoft.com/api-reference/whatsapp-groups/remove-participants.md) - [Update group subject, description or join mode](https://docs.linkiasoft.com/api-reference/whatsapp-groups/update-group-subject-description-or-join-mode.md) - [Authentication](https://docs.linkiasoft.com/authentication.md): API keys, scopes, and the two headers every request needs. - [Zoho Desk: message customers when a ticket closes](https://docs.linkiasoft.com/guides/zoho-ticket-closed.md): Fire a WhatsApp template from a Zoho Desk workflow rule, with no code on your side. - [Introduction](https://docs.linkiasoft.com/introduction.md): Send and read messages across WhatsApp, Instagram, Messenger and Telegram from your own systems. - [Working with leads](https://docs.linkiasoft.com/leads.md): Read your pipeline, move a lead between stages, and log follow-ups. - [Send your first message](https://docs.linkiasoft.com/quickstart.md): From a fresh API key to a delivered WhatsApp template in four calls. - [WhatsApp templates](https://docs.linkiasoft.com/templates.md): Approval status, placeholders, buttons, and importing from Meta's library. ## OpenAPI Specs - [public-api](https://docs.linkiasoft.com/openapi/public-api.yaml) - [openapi](https://docs.linkiasoft.com/api-reference/openapi.json)