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.

User guide: connect an AI app

Endpoints

MCP over HTTP (streamable)

https://example.com/wp-json/zinn-chat/v1/mcp

MCP 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-chat

REST: run an ability

/wp-json/wp-abilities/v1/abilities/<name>/run

Authentication 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.

AbilityWhat it doesEditionRESTPermissionParameters
zinn-chat/answer-ticket
zinn-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 editionPOST …/abilities/zinn-chat/answer-ticket/runthe REST route's own per-item permission checkid: string (required)
zinn-chat/ask-assistant
zinn-chat-ask-assistant
Ask the assistant
Asks the site's AI assistant a question and returns its answer with every source it found.
Free editionPOST …/abilities/zinn-chat/ask-assistant/runthe REST route's own per-item permission checknone
zinn-chat/bulk-update-tickets
zinn-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 editionPOST …/abilities/zinn-chat/bulk-update-tickets/runzinn_chat_answerids: array (required), status: open|pending|solved|closed, priority: low|normal|high|urgent, assignee_id: integer
zinn-chat/chat-to-ticket
zinn-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 editionPOST …/abilities/zinn-chat/chat-to-ticket/runthe REST route's own per-item permission checkid: string (required)
zinn-chat/close-chat
zinn-chat-close-chat
Close a chat
Ends a chat; the visitor can still ask for the transcript.
Free editionPOST …/abilities/zinn-chat/close-chat/runthe REST route's own per-item permission checkid: string (required)
zinn-chat/create-ticket
zinn-chat-create-ticket
Open a ticket
Opens a ticket on a customer's behalf (their email, a subject and the first message).
Free editionPOST …/abilities/zinn-chat/create-ticket/runthe REST route's own per-item permission checknone
zinn-chat/delete-canned-reply
zinn-chat-delete-canned-reply
Delete a saved reply (Pro)
Deletes a saved reply.
Pro editionPOST …/abilities/zinn-chat/delete-canned-reply/runthe REST route's own per-item permission checkid: string (required)
zinn-chat/delete-ticket
zinn-chat-delete-ticket
Delete a ticket
Deletes a ticket and its conversation for good (managers only).
Free editionPOST …/abilities/zinn-chat/delete-ticket/runthe REST route's own per-item permission checkid: string (required)
zinn-chat/draft-kb-article
zinn-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 editionPOST …/abilities/zinn-chat/draft-kb-article/runedit_posts (the REST route's own check)none
zinn-chat/draft-kb-from-gaps
zinn-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 editionPOST …/abilities/zinn-chat/draft-kb-from-gaps/runedit_posts (the REST route's own check)none
zinn-chat/fill-canned-reply
zinn-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 editionPOST …/abilities/zinn-chat/fill-canned-reply/runthe REST route's own per-item permission checkid: string (required)
zinn-chat/get-chat
zinn-chat-get-chat
Read a chat
Returns one chat's messages and visitor details (after: only messages newer than this id).
Free editionGET …/abilities/zinn-chat/get-chat/runthe REST route's own per-item permission checkid: string (required)
zinn-chat/get-overview
zinn-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 editionGET …/abilities/zinn-chat/get-overview/runzinn_chat_answernone
zinn-chat/get-settings
zinn-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 editionGET …/abilities/zinn-chat/get-settings/runzinn_chat_managenone
zinn-chat/get-stats
zinn-chat-get-stats
Read support statistics (Pro)
Returns chat and ticket numbers, response times and ratings for the last N days (days).
Pro editionGET …/abilities/zinn-chat/get-stats/runthe REST route's own per-item permission checknone
zinn-chat/get-ticket
zinn-chat-get-ticket
Read a ticket
Returns one ticket with its whole conversation, status, priority and assignee.
Free editionGET …/abilities/zinn-chat/get-ticket/runthe REST route's own per-item permission checkid: string (required)
zinn-chat/hand-chat-to-assistant
zinn-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 editionPOST …/abilities/zinn-chat/hand-chat-to-assistant/runthe REST route's own per-item permission checkid: string (required)
zinn-chat/list-canned-replies
zinn-chat-list-canned-replies
List saved replies (Pro)
Lists the saved replies agents can insert, with their shortcuts.
Pro editionGET …/abilities/zinn-chat/list-canned-replies/runthe REST route's own per-item permission checknone
zinn-chat/list-chats
zinn-chat-list-chats
List live chats
Lists the chats waiting, in progress and recently closed, with who is handling each.
Free editionGET …/abilities/zinn-chat/list-chats/runthe REST route's own per-item permission checknone
zinn-chat/list-indexed-content
zinn-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 editionGET …/abilities/zinn-chat/list-indexed-content/runthe REST route's own per-item permission checknone
zinn-chat/list-kb-gaps
zinn-chat-list-kb-gaps
List unanswered questions (Pro)
Lists the questions visitors asked that the knowledge base could not answer.
Pro editionGET …/abilities/zinn-chat/list-kb-gaps/runthe REST route's own per-item permission checknone
zinn-chat/list-tickets
zinn-chat-list-tickets
List tickets
Lists support tickets, filtered by status or a search, a page at a time.
Free editionGET …/abilities/zinn-chat/list-tickets/runthe REST route's own per-item permission checknone
zinn-chat/reembed-content
zinn-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 editionPOST …/abilities/zinn-chat/reembed-content/runthe REST route's own per-item permission checknone
zinn-chat/reindex-content
zinn-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 editionPOST …/abilities/zinn-chat/reindex-content/runthe REST route's own per-item permission checknone
zinn-chat/reply-chat
zinn-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 editionPOST …/abilities/zinn-chat/reply-chat/runthe REST route's own per-item permission checkid: string (required)
zinn-chat/save-canned-reply
zinn-chat-save-canned-reply
Save a saved reply (Pro)
Creates or changes a saved reply (title, shortcut, body, department; id to change one).
Pro editionPOST …/abilities/zinn-chat/save-canned-reply/runthe REST route's own per-item permission checknone
zinn-chat/save-kb-article
zinn-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 editionPOST …/abilities/zinn-chat/save-kb-article/runedit_postsid: integer, title: string, content: string, excerpt: string, categories: array, status: draft|publish
zinn-chat/search-kb
zinn-chat-search-kb
Search the knowledge base (Pro)
Finds help articles to link in a reply (q: the search).
Pro editionGET …/abilities/zinn-chat/search-kb/runthe REST route's own per-item permission checknone
zinn-chat/set-conversation-details
zinn-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 editionPOST …/abilities/zinn-chat/set-conversation-details/runthe REST route's own per-item permission checknone
zinn-chat/set-kb-gap-status
zinn-chat-set-kb-gap-status
Mark unanswered questions (Pro)
Marks unanswered questions as open, planned or dismissed (ids, status).
Pro editionPOST …/abilities/zinn-chat/set-kb-gap-status/runthe REST route's own per-item permission checknone
zinn-chat/set-presence
zinn-chat-set-presence
Set your availability
Marks the signed-in agent available or away for new chats (away: true or false).
Free editionPOST …/abilities/zinn-chat/set-presence/runthe REST route's own per-item permission checknone
zinn-chat/suggest-reply
zinn-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 editionPOST …/abilities/zinn-chat/suggest-reply/runthe REST route's own per-item permission checknone
zinn-chat/summarise-conversation
zinn-chat-summarise-conversation
Summarise a conversation with AI (Pro)
Summarises a chat or ticket in a few lines.
Pro editionPOST …/abilities/zinn-chat/summarise-conversation/runthe REST route's own per-item permission checknone
zinn-chat/take-chat
zinn-chat-take-chat
Take a chat
Assigns a waiting chat to the signed-in agent, so the visitor talks to a person.
Free editionPOST …/abilities/zinn-chat/take-chat/runthe REST route's own per-item permission checkid: string (required)
zinn-chat/update-settings
zinn-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 editionPOST …/abilities/zinn-chat/update-settings/runzinn_chat_managesettings: object (required)
zinn-chat/update-ticket
zinn-chat-update-ticket
Change a ticket
Changes a ticket's status, priority or assignee.
Free editionPOST …/abilities/zinn-chat/update-ticket/runthe REST route's own per-item permission checkid: string (required)