WordPress website screenshot

WordPress

WordPress is an open-source content management system (CMS) that powers a significant portion of websites on the internet. Its REST API enables applications to interact with WordPress sites by sending and receiving data as JSON, allowing developers to build decoupled frontends, mobile apps, and integrations in any language. The extensive plugin and theme ecosystem, block editor, and AI capabilities make it accessible for building everything from personal blogs to complex enterprise websites.

4 APIs 8 Features
CMSContent ManagementOpen SourceWordPress

APIs

WordPress REST API

The WordPress REST API provides endpoints for WordPress data types that allow developers to interact with sites remotely by sending and receiving JSON objects. The REST API is t...

WP-CLI

WP-CLI is the command-line interface for WordPress. It provides commands for managing WordPress installations, plugins, themes, users, content, and more without using a web brow...

WordPress Block Editor API

The Block Editor API (Gutenberg) enables developers to create custom blocks, block patterns, block templates, and editor plugins for the WordPress Block Editor. It includes Java...

WordPress AI API

WordPress AI API provides a provider-agnostic interface for integrating generative AI capabilities into WordPress plugins and themes. It supports multiple AI providers (OpenAI, ...

Agent Skills

blueprint

AGENT SKILL

wordpress-router

AGENT SKILL

wp-abilities-api

AGENT SKILL

wp-abilities-audit

AGENT SKILL

wp-abilities-verify

AGENT SKILL

wp-block-development

AGENT SKILL

wp-block-themes

AGENT SKILL

wp-interactivity-api

AGENT SKILL

wp-performance

AGENT SKILL

wp-phpstan

AGENT SKILL

wp-playground

AGENT SKILL

wp-plugin-development

AGENT SKILL

wp-project-triage

AGENT SKILL

wp-rest-api

AGENT SKILL

wp-wpcli-and-ops

AGENT SKILL

wpds

AGENT SKILL

Collections

Arazzo Workflows

WordPress Assign Post to Author

Resolve a user by role, confirm them, and publish a post under their byline.

ARAZZO

WordPress Attach Featured Media to Post

Find an image in the media library and publish a post that features it.

ARAZZO

WordPress Categorize and Publish Post

Create a category, publish a post into it, then read the post back.

ARAZZO

WordPress Comment on Found Post

Search for a post, post a comment on it, then list comments to confirm.

ARAZZO

WordPress Create Subpage Under Parent

Find a parent page by title and create a child page nested beneath it.

ARAZZO

WordPress Draft Then Publish Post

Create a draft post, revise it, then flip it to published.

ARAZZO

WordPress Tag an Existing Post

Find a tag by name and apply it to an existing post.

ARAZZO

WordPress Unpublish Post to Draft

Find a published post by search and revert it to draft.

ARAZZO

GraphQL

WordPress GraphQL API

WordPress supports a full-featured GraphQL API through the [WPGraphQL plugin](https://www.wpgraphql.com/), an open-source WordPress plugin that provides an extendable GraphQL sc...

GRAPHQL

Pricing Plans

Wordpress Plans Pricing

3 plans

PLANS

Rate Limits

Wordpress Rate Limits

5 limits

RATE LIMITS

FinOps

Features

REST API

JSON-based REST API for interacting with WordPress content including posts, pages, media, users, and custom post types

Block Editor

Gutenberg block editor with JavaScript and PHP APIs for creating custom blocks and extending the editing experience

Application Passwords

Built-in authentication mechanism for third-party applications using per-application passwords with granular scoping

WP-CLI

Command-line interface for managing WordPress installations, automating tasks, and running deployments

Plugin API

Hooks and filters system for extending WordPress functionality through plugins without modifying core code

Multisite

WordPress Multisite enables running a network of sites from a single WordPress installation with shared users and plugins

WordPress Playground

Run WordPress in the browser via WebAssembly PHP for development, testing, and demonstrations

AI Integration

Provider-agnostic PHP AI client SDK and MCP adapter for integrating generative AI capabilities into WordPress

Use Cases

Headless CMS

Use WordPress as a headless CMS with the REST API to deliver content to any frontend framework like Next.js, Nuxt, or React

Mobile Applications

Build iOS and Android apps that read and write WordPress content using the REST API

Content Automation

Automate content creation, publishing, and management using WP-CLI in CI/CD pipelines

Custom Block Development

Create custom Gutenberg blocks for unique editorial experiences and complex page layouts

Third-Party Integrations

Connect WordPress to external services like CRMs, analytics platforms, and e-commerce systems via the REST API

AI-Powered Content

Enhance WordPress with AI content generation, writing assistance, and intelligent recommendations

Integrations

WooCommerce

E-commerce plugin with its own REST API that extends WordPress for online stores

Jetpack

WordPress.com connectivity plugin providing security, performance, and marketing tools

Advanced Custom Fields

Custom field framework for extending WordPress content models with structured data

Elementor

Visual page builder with REST API extensions for custom integrations

OpenAI

AI provider integration via WordPress AI API for content generation and assistance

Anthropic

AI provider integration via WordPress AI API using Claude models

Google AI

AI provider integration via WordPress AI API for Gemini models

Semantic Vocabularies

Wordpress Context

18 classes · 62 properties

JSON-LD

API Governance Rules

WordPress API Rules

41 rules · 10 errors 18 warnings 13 info

SPECTRAL

JSON Structure

Wordpress Block Structure

5 properties

JSON STRUCTURE

Wordpress Block Type Structure

6 properties

JSON STRUCTURE

Wordpress Comment Input Structure

5 properties

JSON STRUCTURE

Wordpress Comment Structure

10 properties

JSON STRUCTURE

Wordpress Media Item Structure

10 properties

JSON STRUCTURE

Wordpress Page Input Structure

5 properties

JSON STRUCTURE

Wordpress Page Structure

12 properties

JSON STRUCTURE

Wordpress Plugin Structure

8 properties

JSON STRUCTURE

Wordpress Post Input Structure

8 properties

JSON STRUCTURE

Wordpress Post Structure

20 properties

JSON STRUCTURE

Wordpress Post Type Structure

7 properties

JSON STRUCTURE

Wordpress Rendered Content Structure

2 properties

JSON STRUCTURE

Wordpress Search Result Structure

5 properties

JSON STRUCTURE

Wordpress Settings Structure

12 properties

JSON STRUCTURE

Wordpress Term Input Structure

4 properties

JSON STRUCTURE

Wordpress Term Structure

8 properties

JSON STRUCTURE

Wordpress Theme Structure

9 properties

JSON STRUCTURE

Wordpress User Structure

7 properties

JSON STRUCTURE

Example Payloads

Wordpress Block Example

5 fields

EXAMPLE

Wordpress Block Type Example

6 fields

EXAMPLE

Wordpress Comment Example

10 fields

EXAMPLE

Wordpress Media Item Example

10 fields

EXAMPLE

Wordpress Page Example

12 fields

EXAMPLE

Wordpress Page Input Example

5 fields

EXAMPLE

Wordpress Plugin Example

8 fields

EXAMPLE

Wordpress Post Example

20 fields

EXAMPLE

Wordpress Post Input Example

8 fields

EXAMPLE

Wordpress Post Type Example

7 fields

EXAMPLE

Wordpress Settings Example

12 fields

EXAMPLE

Wordpress Term Example

8 fields

EXAMPLE

Wordpress Term Input Example

4 fields

EXAMPLE

Wordpress Theme Example

9 fields

EXAMPLE

Wordpress User Example

7 fields

EXAMPLE

Resources

🔗
PostmanWorkspace
PostmanWorkspace
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🔗
Arazzo
Arazzo
🌐
Portal
Portal
👥
GitHubOrganization
GitHubOrganization
👥
GitHubRepository
GitHubRepository
🔗
Documentation
Documentation
🚀
GettingStarted
GettingStarted
📰
Blog
Blog
📄
ChangeLog
ChangeLog
💬
Support
Support
🟢
StatusPage
StatusPage
📜
TermsOfService
TermsOfService
📜
PrivacyPolicy
PrivacyPolicy
🔗
Security
Security
🎓
Training
Training
💬
Support
Support
👥
StackOverflow
StackOverflow
📦
PHP Toolkit
SDKs
🔗
SpectralRules
SpectralRules
🔗
Vocabulary
Vocabulary
🔗
JSONLD
JSONLD
🔗
MCPServer
MCPServer
🔗
AgentSkills
AgentSkills

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: WordPress REST API
  version: v2
request:
  auth:
    type: apikey
    key: wordpress_logged_in
    value: '{{wordpress_logged_in}}'
    placement: query
items:
- info:
    name: Posts
    type: folder
  items:
  - info:
      name: WordPress List Posts
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/posts
      params:
      - name: context
        value: view
        type: query
        description: Scope under which the request is made; determines fields present in response.
      - name: page
        value: '1'
        type: query
        description: Current page of the collection.
      - name: per_page
        value: '10'
        type: query
        description: Maximum number of items to be returned in result set.
      - name: search
        value: WordPress tutorial
        type: query
        description: Limit results to those matching a string.
      - name: status
        value: publish
        type: query
        description: Limit result set to posts assigned one or more statuses.
      - name: author
        value: '1'
        type: query
        description: Limit result set to posts assigned to specific authors.
      - name: categories
        value: '5'
        type: query
        description: Limit result set to items with specific terms assigned in the categories taxonomy.
      - name: tags
        value: '12'
        type: query
        description: Limit result set to items with specific terms assigned in the tags taxonomy.
      - name: orderby
        value: date
        type: query
        description: Sort collection by object attribute.
      - name: order
        value: desc
        type: query
        description: Order sort attribute ascending or descending.
    docs: Retrieves a collection of posts from the WordPress site. Supports filtering, ordering, and pagination.
  - info:
      name: WordPress Create Post
      type: http
    http:
      method: POST
      url: https://{site}/wp-json/wp/v2/posts
      body:
        type: json
        data: '{}'
    docs: Creates a new post on the WordPress site. Requires authentication with appropriate user capabilities.
  - info:
      name: WordPress Get Post
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/posts/:id
      params:
      - name: id
        value: '123'
        type: path
        description: Unique identifier for the post.
      - name: context
        value: view
        type: query
        description: Scope under which the request is made.
    docs: Retrieves a single post by ID from the WordPress site.
  - info:
      name: WordPress Update Post
      type: http
    http:
      method: PUT
      url: https://{site}/wp-json/wp/v2/posts/:id
      params:
      - name: id
        value: '123'
        type: path
        description: Unique identifier for the post.
      body:
        type: json
        data: '{}'
    docs: Updates an existing post by ID. Requires authentication.
  - info:
      name: WordPress Delete Post
      type: http
    http:
      method: DELETE
      url: https://{site}/wp-json/wp/v2/posts/:id
      params:
      - name: id
        value: '123'
        type: path
        description: Unique identifier for the post.
      - name: force
        value: 'false'
        type: query
        description: Whether to bypass trash and force deletion.
    docs: Deletes a post by ID. Requires authentication with appropriate user capabilities.
- info:
    name: Pages
    type: folder
  items:
  - info:
      name: WordPress List Pages
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/pages
      params:
      - name: page
        value: '1'
        type: query
        description: Current page of the collection.
      - name: per_page
        value: '10'
        type: query
        description: Maximum number of items to be returned.
      - name: status
        value: publish
        type: query
        description: Limit result set to pages with a specific status.
      - name: parent
        value: '0'
        type: query
        description: Limit result set to pages with a specific parent ID.
    docs: Retrieves a collection of pages from the WordPress site.
  - info:
      name: WordPress Create Page
      type: http
    http:
      method: POST
      url: https://{site}/wp-json/wp/v2/pages
      body:
        type: json
        data: '{}'
    docs: Creates a new page. Requires authentication.
  - info:
      name: WordPress Get Page
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/pages/:id
      params:
      - name: id
        value: '2'
        type: path
        description: Unique identifier for the page.
    docs: Retrieves a single page by ID.
- info:
    name: Media
    type: folder
  items:
  - info:
      name: WordPress List Media
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/media
      params:
      - name: page
        value: '1'
        type: query
        description: Current page of the collection.
      - name: per_page
        value: '10'
        type: query
        description: Maximum number of items to be returned.
      - name: media_type
        value: image
        type: query
        description: Limit result set to attachments of a particular media type.
      - name: mime_type
        value: image/jpeg
        type: query
        description: Limit result set to attachments of a specific MIME type.
    docs: Retrieves a collection of media items from the media library.
  - info:
      name: WordPress Get Media Item
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/media/:id
      params:
      - name: id
        value: '45'
        type: path
        description: Unique identifier for the media item.
    docs: Retrieves a single media item by ID.
- info:
    name: Comments
    type: folder
  items:
  - info:
      name: WordPress List Comments
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/comments
      params:
      - name: page
        value: '1'
        type: query
        description: Current page of the collection.
      - name: per_page
        value: '10'
        type: query
        description: Maximum number of items to be returned.
      - name: post
        value: '123'
        type: query
        description: Limit result set to comments assigned to specific post IDs.
      - name: status
        value: approve
        type: query
        description: Limit result set to comments assigned a specific status.
    docs: Retrieves a collection of comments. Public endpoint returns approved comments.
  - info:
      name: WordPress Create Comment
      type: http
    http:
      method: POST
      url: https://{site}/wp-json/wp/v2/comments
      body:
        type: json
        data: '{}'
    docs: Creates a new comment on a post.
- info:
    name: Users
    type: folder
  items:
  - info:
      name: WordPress List Users
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/users
      params:
      - name: page
        value: '1'
        type: query
        description: Current page of the collection.
      - name: per_page
        value: '10'
        type: query
        description: Maximum number of items to be returned.
      - name: roles
        value: administrator,editor
        type: query
        description: Limit result set to users matching at least one specific role.
    docs: Retrieves a collection of users. Requires authentication for most contexts.
  - info:
      name: WordPress Get User
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/users/:id
      params:
      - name: id
        value: '1'
        type: path
        description: Unique identifier for the user.
    docs: Retrieves a single user by ID.
- info:
    name: Categories
    type: folder
  items:
  - info:
      name: WordPress List Categories
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/categories
      params:
      - name: page
        value: '1'
        type: query
        description: Current page of the collection.
      - name: per_page
        value: '10'
        type: query
        description: Maximum number of items.
      - name: search
        value: technology
        type: query
        description: Limit results to matching categories.
      - name: hide_empty
        value: 'false'
        type: query
        description: Whether to hide terms not assigned to any posts.
    docs: Retrieves a collection of post categories.
  - info:
      name: WordPress Create Category
      type: http
    http:
      method: POST
      url: https://{site}/wp-json/wp/v2/categories
      body:
        type: json
        data: '{}'
    docs: Creates a new category. Requires authentication.
- info:
    name: Tags
    type: folder
  items:
  - info:
      name: WordPress List Tags
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/tags
      params:
      - name: page
        value: '1'
        type: query
        description: Current page of the collection.
      - name: per_page
        value: '10'
        type: query
        description: Maximum number of items.
      - name: search
        value: api
        type: query
        description: Limit results to matching tags.
      - name: hide_empty
        value: 'false'
        type: query
        description: Whether to hide terms not assigned to any posts.
    docs: Retrieves a collection of post tags.
- info:
    name: Search
    type: folder
  items:
  - info:
      name: WordPress Search Content
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/search
      params:
      - name: search
        value: WordPress API
        type: query
        description: Limit results to those matching a string.
      - name: type
        value: post
        type: query
        description: Limit results to items of an object type.
      - name: subtype
        value: post
        type: query
        description: Limit results to items of one or more object subtypes.
      - name: page
        value: '1'
        type: query
        description: Current page of the collection.
      - name: per_page
        value: '10'
        type: query
        description: Maximum number of items to return.
    docs: Searches across WordPress content types including posts, pages, and other objects.
- info:
    name: Settings
    type: folder
  items:
  - info:
      name: WordPress Get Settings
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/settings
    docs: Retrieves registered site settings. Requires authentication.
- info:
    name: Themes
    type: folder
  items:
  - info:
      name: WordPress List Themes
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/themes
      params:
      - name: status
        value: active
        type: query
        description: Limit result set to themes assigned one or more statuses.
    docs: Retrieves a collection of installed themes. Requires authentication.
- info:
    name: Plugins
    type: folder
  items:
  - info:
      name: WordPress List Plugins
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/plugins
    docs: Retrieves a collection of installed plugins. Requires administrator authentication.
- info:
    name: Post Types
    type: folder
  items:
  - info:
      name: WordPress List Post Types
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/types
    docs: Retrieves a collection of all registered post types.
- info:
    name: Blocks
    type: folder
  items:
  - info:
      name: WordPress List Reusable Blocks
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/blocks
      params:
      - name: page
        value: '1'
        type: query
        description: Current page of the collection.
      - name: per_page
        value: '10'
        type: query
        description: Maximum number of items.
    docs: Retrieves a collection of reusable blocks.
- info:
    name: Block Types
    type: folder
  items:
  - info:
      name: WordPress List Block Types
      type: http
    http:
      method: GET
      url: https://{site}/wp-json/wp/v2/block-types
    docs: Retrieves all registered block types with their attributes and supports.
bundled: true