Create site category
const url = 'https://example.com/wp-json/wp2/site-manager/v1/categories';const options = { method: 'POST', headers: {'X-WP-Nonce': '<X-WP-Nonce>', 'Content-Type': 'application/json'}, body: '{"name":"Training projects","slug":"training","parent_id":0}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/wp-json/wp2/site-manager/v1/categories \ --header 'Content-Type: application/json' \ --header 'X-WP-Nonce: <X-WP-Nonce>' \ --data '{ "name": "Training projects", "slug": "training", "parent_id": 0 }'Creates a category taxonomy term (wp_insert_term on the main site). Non-empty name after trim is required, otherwise 400 missing_name. Requires manage_network.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”object
Display name of the category. Required; empty after trim — 400 missing_name.
Term slug. Optional; PHP runs sanitize_title. If omitted, core generates it from name.
Parent term_id. Optional, default 0 (root).
Example
{ "name": "Training projects", "slug": "training", "parent_id": 0}Responses
Section titled “Responses”Category created.
object
Site category term_id (Site Manager taxonomy, not post categories).
Term display name. In the list PHP may rewrite default labels via translate_default_term_label.
Category term slug (sanitize_title on write).
Parent term_id (WP_Term->parent); 0 — root. PHP omits this field in SiteDto.categories.
Example
{ "id": 3, "name": "Training projects", "slug": "training", "parent": 0}Missing_name — empty name; other wp_insert_term WP_Error (except term_exists).
object
Machine-readable error or event code.
Message text (log, PIN, or password reset).
Extra WP_Error or license payload.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Not authenticated. DualRest: rest_forbidden (status 401) when there is no cookie session. Cookie + X-WP-Nonce or Application Password.
object
Machine-readable error or event code.
Message text (log, PIN, or password reset).
Extra WP_Error or license payload.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Missing manage_network or invalid REST nonce.
object
Machine-readable error or event code.
Message text (log, PIN, or password reset).
Extra WP_Error or license payload.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}Term_exists — a term with that name/slug already exists.
object
Machine-readable error or event code.
Message text (log, PIN, or password reset).
Extra WP_Error or license payload.
object
Examplegenerated
{ "code": "example", "message": "example", "data": {}}