HelpWP exposes a REST API under the namespace helpwp/v1. The full base URL is https://your-site.example/wp-json/helpwp/v1/. Authentication uses the standard WordPress REST nonce or an application password; permissions follow the role of the calling user.
Docs
| Method | Path | Notes |
|---|---|---|
| GET | /docs/ | List published docs. Accepts s (search), count, formatted. |
| GET | /docs/product/{slug} | Docs scoped to a product term slug. |
| POST | /docs/ | Create a doc. Manager role required. |
| GET | /docs/{id} | Fetch one doc. |
| PUT | /docs/{id} | Update a doc. Manager role required. |
| DELETE | /docs/{id}/delete | Delete a doc. |
| POST | /docs/{id}/vote | Up or down vote. Body {"direction":"up"} or "down". |
Tickets
| Method | Path | Notes |
|---|---|---|
| GET | /tickets/ | List tickets visible to the current user. |
| POST | /tickets/ | Create a ticket. |
| GET | /tickets/{id} | Fetch one ticket. |
| PUT | /tickets/{id} | Update meta (agent, status, priority…). Agents and managers. |
| DELETE | /tickets/{id}/delete | Move to trash. |
| GET | /tickets/{id}/comments | List the comment thread. |
| POST | /tickets/{id}/comments | Add a comment. Auto-transitions ticket status. |
| GET | /tickets/products/ | List product taxonomy terms. |
| GET | /tickets/reasons/ | List reason taxonomy terms. |
| GET | /tickets/urgencies/ | List urgency options. |
Auth
| Method | Path | Notes |
|---|---|---|
| POST | /login/ | Start the helpwplogin flow ({email}) or complete it ({email, code}). |
AI (admin only)
| Method | Path | Notes |
|---|---|---|
| POST | /ai/register | Register the site with the RAG service. Body {name, email}. |
| POST | /ai/sync | Push the latest published docs to the RAG vector store. |
| GET | /ai/site-key | Returns the site’s current site key. |
| POST | /ai/resend | Resend the AI verification email. |
| POST | /ai/auto-responder | Save auto-responder settings. |
Permissions
- Public: vote on docs.
- Logged-in client (
helpwp_user): list / read their own tickets, post comments, helpwplogin. - Agent (
helpwp_agent): full access to all tickets, read / write docs. - Manager (
helpwp_manager) and Administrator: everything, including AI endpoints.
Authentication examples
Using an Application Password:
curl -u "you:abcd 1234 efgh 5678" \
-H "Content-Type: application/json" \
-X POST \
-d '{"subject":"Login fails","description":"Steps..."}' \
https://your-site.example/wp-json/helpwp/v1/tickets/
From the front-end JS (already authenticated via cookies + nonce):
fetch( '/wp-json/helpwp/v1/tickets/', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-WP-Nonce': wpApiSettings.nonce,
},
body: JSON.stringify({ subject: 'Login fails', description: 'Steps...' })
} );
Filters worth knowing
helpwp_settings_menus– extend the settings schema (add tabs, sections, fields).helpwp_product_post_types– attach the shared product taxonomy to your own custom post types.helpwp_auto_status_transition_on_comment– skip the auto status flip for a specific comment.helpwp_rag_site_url– point the AI features at a different RAG backend (dev / staging / self-hosted).
Was this doc helpful?