Developers
Zinn® Chat abilities reference
Zinn® Chat registers its actions with the WordPress Abilities API. The same abilities are MCP tools on the site's own server and REST routes under /wp-json/wp-abilities/v1. This page is generated from the plugin's own registry.
Endpoints
MCP over HTTP (streamable)
https://example.com/wp-json/zinn-chat/v1/mcpMCP over WP-CLI (standard input and output)
wp mcp-adapter serve --server=zinn-chat --user=<login>REST: list the abilities
/wp-json/wp-abilities/v1/abilities?category=zinn-chatREST: run an ability
/wp-json/wp-abilities/v1/abilities/<name>/runAuthentication and permissions
HTTP requests authenticate with a WordPress application password (HTTP Basic). Connecting to the MCP server needs the capability shown below; every ability then checks its own permission, per object. Read-only abilities run with GET and their input in the query string; the others with POST and a JSON body {"input": {…}}.
Examples
# REST: run an ability
curl -u your-username:your-application-password \
"https://example.com/wp-json/wp-abilities/v1/abilities/zinn-chat/get-overview/run"# MCP (JSON-RPC over HTTP, after "initialize")
{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"zinn-chat-get-overview","arguments":{}}}All abilities
Generated from the plugin's abilities.json, which is itself generated from a running site; a test fails when the two disagree.
| Ability | What it does | Edition | REST | Permission | Parameters |
|---|---|---|---|---|---|
zinn-chat/answer-ticketzinn-chat-answer-ticket | Answer a ticket Replies to the customer by email (text), or adds an internal note (note: true); status optionally changes the ticket's status. | Free edition | POST …/abilities/zinn-chat/answer-ticket/run | the REST route's own per-item permission check | id: string (required) |
zinn-chat/ask-assistantzinn-chat-ask-assistant | Ask the assistant Asks the site's AI assistant a question and returns its answer with every source it found. | Free edition | POST …/abilities/zinn-chat/ask-assistant/run | the REST route's own per-item permission check | none |
zinn-chat/bulk-update-ticketszinn-chat-bulk-update-tickets | Change many tickets at once (Pro) Changes the status, priority or assignee of up to 100 tickets (ids). Each ticket goes through the same checks as changing it on its own; the result lists each one. | Pro edition | POST …/abilities/zinn-chat/bulk-update-tickets/run | zinn_chat_answer | ids: array (required), status: open|pending|solved|closed, priority: low|normal|high|urgent, assignee_id: integer |
zinn-chat/chat-to-ticketzinn-chat-chat-to-ticket | Turn a chat into a ticket Opens a ticket from a chat so it can be answered by email (needs the visitor's email address). | Free edition | POST …/abilities/zinn-chat/chat-to-ticket/run | the REST route's own per-item permission check | id: string (required) |
zinn-chat/close-chatzinn-chat-close-chat | Close a chat Ends a chat; the visitor can still ask for the transcript. | Free edition | POST …/abilities/zinn-chat/close-chat/run | the REST route's own per-item permission check | id: string (required) |
zinn-chat/create-ticketzinn-chat-create-ticket | Open a ticket Opens a ticket on a customer's behalf (their email, a subject and the first message). | Free edition | POST …/abilities/zinn-chat/create-ticket/run | the REST route's own per-item permission check | none |
zinn-chat/delete-canned-replyzinn-chat-delete-canned-reply | Delete a saved reply (Pro) Deletes a saved reply. | Pro edition | POST …/abilities/zinn-chat/delete-canned-reply/run | the REST route's own per-item permission check | id: string (required) |
zinn-chat/delete-ticketzinn-chat-delete-ticket | Delete a ticket Deletes a ticket and its conversation for good (managers only). | Free edition | POST …/abilities/zinn-chat/delete-ticket/run | the REST route's own per-item permission check | id: string (required) |
zinn-chat/draft-kb-articlezinn-chat-draft-kb-article | Draft a help article from a ticket (Pro) Writes a draft knowledge-base article from a solved ticket; it stays a draft until a person publishes it. | Pro edition | POST …/abilities/zinn-chat/draft-kb-article/run | edit_posts (the REST route's own check) | none |
zinn-chat/draft-kb-from-gapszinn-chat-draft-kb-from-gaps | Draft help articles for unanswered questions (Pro) Writes draft knowledge-base articles answering the chosen questions (ids); they stay drafts. | Pro edition | POST …/abilities/zinn-chat/draft-kb-from-gaps/run | edit_posts (the REST route's own check) | none |
zinn-chat/fill-canned-replyzinn-chat-fill-canned-reply | Fill in a saved reply (Pro) Returns a saved reply's text with its placeholders filled for one chat or ticket. | Pro edition | POST …/abilities/zinn-chat/fill-canned-reply/run | the REST route's own per-item permission check | id: string (required) |
zinn-chat/get-chatzinn-chat-get-chat | Read a chat Returns one chat's messages and visitor details (after: only messages newer than this id). | Free edition | GET …/abilities/zinn-chat/get-chat/run | the REST route's own per-item permission check | id: string (required) |
zinn-chat/get-overviewzinn-chat-get-overview | Read the support overview Returns how many tickets are in each status and how many chats are waiting for a person (and their unread messages), and whether the chat, the assistant and tickets are switched on. | Free edition | GET …/abilities/zinn-chat/get-overview/run | zinn_chat_answer | none |
zinn-chat/get-settingszinn-chat-get-settings | Read the chat settings Returns every chat setting: the widget, the assistant, people and opening hours, tickets and email, the site index, privacy and spam. | Free edition | GET …/abilities/zinn-chat/get-settings/run | zinn_chat_manage | none |
zinn-chat/get-statszinn-chat-get-stats | Read support statistics (Pro) Returns chat and ticket numbers, response times and ratings for the last N days (days). | Pro edition | GET …/abilities/zinn-chat/get-stats/run | the REST route's own per-item permission check | none |
zinn-chat/get-ticketzinn-chat-get-ticket | Read a ticket Returns one ticket with its whole conversation, status, priority and assignee. | Free edition | GET …/abilities/zinn-chat/get-ticket/run | the REST route's own per-item permission check | id: string (required) |
zinn-chat/hand-chat-to-assistantzinn-chat-hand-chat-to-assistant | Hand a chat back to the assistant Returns a chat to the AI assistant, which answers the visitor from the site's content. | Free edition | POST …/abilities/zinn-chat/hand-chat-to-assistant/run | the REST route's own per-item permission check | id: string (required) |
zinn-chat/list-canned-replieszinn-chat-list-canned-replies | List saved replies (Pro) Lists the saved replies agents can insert, with their shortcuts. | Pro edition | GET …/abilities/zinn-chat/list-canned-replies/run | the REST route's own per-item permission check | none |
zinn-chat/list-chatszinn-chat-list-chats | List live chats Lists the chats waiting, in progress and recently closed, with who is handling each. | Free edition | GET …/abilities/zinn-chat/list-chats/run | the REST route's own per-item permission check | none |
zinn-chat/list-indexed-contentzinn-chat-list-indexed-content | List what the assistant knows Lists the content the assistant answers from, with its index status, a page at a time. | Free edition | GET …/abilities/zinn-chat/list-indexed-content/run | the REST route's own per-item permission check | none |
zinn-chat/list-kb-gapszinn-chat-list-kb-gaps | List unanswered questions (Pro) Lists the questions visitors asked that the knowledge base could not answer. | Pro edition | GET …/abilities/zinn-chat/list-kb-gaps/run | the REST route's own per-item permission check | none |
zinn-chat/list-ticketszinn-chat-list-tickets | List tickets Lists support tickets, filtered by status or a search, a page at a time. | Free edition | GET …/abilities/zinn-chat/list-tickets/run | the REST route's own per-item permission check | none |
zinn-chat/reembed-contentzinn-chat-reembed-content | Rebuild the assistant's search index Rebuilds the search vectors for one item (item_id) or everything (all: true) (managers only). | Free edition | POST …/abilities/zinn-chat/reembed-content/run | the REST route's own per-item permission check | none |
zinn-chat/reindex-contentzinn-chat-reindex-content | Re-read content into the assistant Re-reads one item (item_id) or everything (all: true) into the assistant's index (managers only). | Free edition | POST …/abilities/zinn-chat/reindex-content/run | the REST route's own per-item permission check | none |
zinn-chat/reply-chatzinn-chat-reply-chat | Reply in a chat Sends a message to the visitor (text), or adds an internal note only agents see (note: true). | Free edition | POST …/abilities/zinn-chat/reply-chat/run | the REST route's own per-item permission check | id: string (required) |
zinn-chat/save-canned-replyzinn-chat-save-canned-reply | Save a saved reply (Pro) Creates or changes a saved reply (title, shortcut, body, department; id to change one). | Pro edition | POST …/abilities/zinn-chat/save-canned-reply/run | the REST route's own per-item permission check | none |
zinn-chat/save-kb-articlezinn-chat-save-kb-article | Write a help article (Pro) Creates a knowledge-base article, or changes one (id): title, content, excerpt, categories and status (draft, or publish when you may publish). | Pro edition | POST …/abilities/zinn-chat/save-kb-article/run | edit_posts | id: integer, title: string, content: string, excerpt: string, categories: array, status: draft|publish |
zinn-chat/search-kbzinn-chat-search-kb | Search the knowledge base (Pro) Finds help articles to link in a reply (q: the search). | Pro edition | GET …/abilities/zinn-chat/search-kb/run | the REST route's own per-item permission check | none |
zinn-chat/set-conversation-detailszinn-chat-set-conversation-details | Set a conversation's department and tags (Pro) Sets the department and tags of a chat or ticket (kind: chat or ticket; id). | Pro edition | POST …/abilities/zinn-chat/set-conversation-details/run | the REST route's own per-item permission check | none |
zinn-chat/set-kb-gap-statuszinn-chat-set-kb-gap-status | Mark unanswered questions (Pro) Marks unanswered questions as open, planned or dismissed (ids, status). | Pro edition | POST …/abilities/zinn-chat/set-kb-gap-status/run | the REST route's own per-item permission check | none |
zinn-chat/set-presencezinn-chat-set-presence | Set your availability Marks the signed-in agent available or away for new chats (away: true or false). | Free edition | POST …/abilities/zinn-chat/set-presence/run | the REST route's own per-item permission check | none |
zinn-chat/suggest-replyzinn-chat-suggest-reply | Draft a reply with AI (Pro) Drafts a reply to a chat or ticket from the site's content; nothing is sent. | Pro edition | POST …/abilities/zinn-chat/suggest-reply/run | the REST route's own per-item permission check | none |
zinn-chat/summarise-conversationzinn-chat-summarise-conversation | Summarise a conversation with AI (Pro) Summarises a chat or ticket in a few lines. | Pro edition | POST …/abilities/zinn-chat/summarise-conversation/run | the REST route's own per-item permission check | none |
zinn-chat/take-chatzinn-chat-take-chat | Take a chat Assigns a waiting chat to the signed-in agent, so the visitor talks to a person. | Free edition | POST …/abilities/zinn-chat/take-chat/run | the REST route's own per-item permission check | id: string (required) |
zinn-chat/update-settingszinn-chat-update-settings | Change the chat settings Changes the settings you send (settings: key to value) and keeps the rest. Each value is checked exactly as on the settings screen; get-settings lists the keys. | Free edition | POST …/abilities/zinn-chat/update-settings/run | zinn_chat_manage | settings: object (required) |
zinn-chat/update-ticketzinn-chat-update-ticket | Change a ticket Changes a ticket's status, priority or assignee. | Free edition | POST …/abilities/zinn-chat/update-ticket/run | the REST route's own per-item permission check | id: string (required) |