Skip to main content
Content API endpoints were added in v2.3.0.
Base path: /wp-json/wp-manager-pro/v1/content All endpoints require X-WP-Nonce header with a wp_rest nonce and the manage_options capability.

GET /content/post-types

Returns all registered public post types.
curl https://example.com/wp-json/wp-manager-pro/v1/content/post-types \
  -H "X-WP-Nonce: YOUR_NONCE"

Response

Returns an array of objects:
slug
string
Post type slug (e.g. post, page, product).
label
string
Human-readable post type label.

GET /content/authors

Returns users who have the edit_posts capability (up to 200).
curl https://example.com/wp-json/wp-manager-pro/v1/content/authors \
  -H "X-WP-Nonce: YOUR_NONCE"

Response

id
integer
WordPress user ID.
name
string
User display name.

GET /content/posts

Paginated list of posts with optional filters.
curl "https://example.com/wp-json/wp-manager-pro/v1/content/posts?post_type=post&status=publish&per_page=20&page=1" \
  -H "X-WP-Nonce: YOUR_NONCE"

Parameters

post_type
string
Post type slug. Defaults to any.
status
string
Post status filter. Defaults to any. Accepted: publish, draft, pending, private, future, any.
Filter by post title substring.
per_page
integer
Results per page. Min 1, max 100. Defaults to 20.
page
integer
Page number. Defaults to 1.

Response

posts
array
Array of post objects.
total
integer
Total number of matching posts.
total_pages
integer
Total pages available.
page
integer
Current page number.

POST /content/posts/bulk-edit

Bulk-edit status or author for multiple posts.
curl -X POST https://example.com/wp-json/wp-manager-pro/v1/content/posts/bulk-edit \
  -H "X-WP-Nonce: YOUR_NONCE" \
  -H "Content-Type: application/json" \
  -d '{"ids": [1, 2, 3], "action": "change_status", "value": "draft"}'

Parameters

ids
array
required
Array of post IDs to edit.
action
string
required
Action to perform: change_status or change_author.
value
string
required
New value — a status string (publish, draft, pending, private) for change_status, or a user ID string for change_author.

Response

updated
integer
Number of posts successfully updated.

POST /content/posts/duplicate

Duplicate a single post as a draft.
curl -X POST https://example.com/wp-json/wp-manager-pro/v1/content/posts/duplicate \
  -H "X-WP-Nonce: YOUR_NONCE" \
  -H "Content-Type: application/json" \
  -d '{"id": 42}'

Parameters

id
integer
required
ID of the post to duplicate.

Response

new_id
integer
ID of the newly created draft.
URL to the edit screen for the new draft.

GET /content/scheduled

Returns all posts with a future (scheduled) status, sorted by scheduled date.
curl https://example.com/wp-json/wp-manager-pro/v1/content/scheduled \
  -H "X-WP-Nonce: YOUR_NONCE"

Response

Returns an array of scheduled post objects:
id
integer
Post ID.
title
string
Post title.
post_type
string
Post type slug.
scheduled_fmt
string
Formatted scheduled date string.
scheduled_local
string
ISO 8601 scheduled date in local timezone.
author
string
Author display name.
URL to the WordPress edit screen.
Preview URL.

GET /content/options

Paginated list of wp_options rows.
curl "https://example.com/wp-json/wp-manager-pro/v1/content/options?search=woocommerce&per_page=50&page=1" \
  -H "X-WP-Nonce: YOUR_NONCE"

Parameters

search
string
Filter by option_name substring.
per_page
integer
Results per page. Defaults to 50.
page
integer
Page number. Defaults to 1.

Response

options
array
total
integer
Total matching options.
total_pages
integer
Total pages.

GET /content/options/

Get the full value of a single option by name.
curl "https://example.com/wp-json/wp-manager-pro/v1/content/options/blogname" \
  -H "X-WP-Nonce: YOUR_NONCE"

Response

option_name
string
Option key.
option_value
string
Full option value.

POST /content/options

Update an existing option.
curl -X POST https://example.com/wp-json/wp-manager-pro/v1/content/options \
  -H "X-WP-Nonce: YOUR_NONCE" \
  -H "Content-Type: application/json" \
  -d '{"option_name": "blogdescription", "option_value": "Just another WordPress site"}'

Parameters

option_name
string
required
The option key to update.
option_value
string
required
The new option value (as a string; will be stored as-is).

Response

success
boolean
Always true on success.

DELETE /content/options

Delete an option by name.
Deleting WordPress core options can break your site. Only delete custom plugin or theme options.
curl -X DELETE https://example.com/wp-json/wp-manager-pro/v1/content/options \
  -H "X-WP-Nonce: YOUR_NONCE" \
  -H "Content-Type: application/json" \
  -d '{"option_name": "my_plugin_option"}'

Parameters

option_name
string
required
The option key to delete.

Response

success
boolean
Always true on success.

Build docs developers (and LLMs) love