KanbanWP exposes the same data through several interfaces. Pick the one that fits where your code runs.
| Interface | Use it when | Page |
|---|---|---|
| REST API | You are building a script, integration or custom front end, or calling from another server. | REST API |
| WP-CLI | You work on the server and want to create, move, import or export from a terminal or a cron job. | WP-CLI |
| Hooks and filters | You are writing a plugin or theme code that reacts to board events or changes behavior. | Hooks and filters |
| Outgoing webhooks | You want KanbanWP to notify another service when something happens. | Webhooks |
| MCP server | You want an AI agent to work with your boards. | Connecting an agent |
Conventions
- The REST namespace is
kanbanwp/v1, so routes sit under/wp-json/kanbanwp/v1/. - Capabilities follow the board roles: admin, member, viewer and client. View needs any role, edit needs member or admin, and manage needs admin. A user with the WordPress
kanbanwp_managecapability acts as an admin on every board. See Permissions and roles. - Plugin settings are stored in a single option,
kanbanwp_settings, grouped into sections. Read a value in PHP withkanbanwp_get_setting( 'section.key' ), for examplekanbanwp_get_setting( 'ai.ai_provider' ). A plain key such asallow_public_linksalso works. - Data lives in custom database tables with the prefix
{$wpdb->prefix}kwp_: boards, stages, tasks, comments, activity, board_members, labels, notifications, views, ai_usage and webhooks. Use the REST API or the model classes rather than writing to these tables directly. - Task priorities are
low,normal,highandurgent.
Where the plugin loads your code
The plugin fires kanbanwp_init on plugins_loaded, after its own modules are loaded. Hook there if your add-on depends on KanbanWP being ready.
A word on stability
The plugin is at version 1.0.0. The REST routes, WP-CLI commands and hooks described in this section are the ones present in that release. Internal PHP classes are not a public API and may change.