openapi: 3.1.0 info: title: WordPress.com REST API v1.2 version: v1.2 description: 'The WordPress.com REST API, operated by Automattic. Derived by API Evangelist from Automattic''s own self-describing help document at https://public-api.wordpress.com/rest/v1.2/help (Accept: application/json), which publishes every endpoint''s method, path, description, path/query/body parameters and response fields. Security schemes come from https://public-api.wordpress.com/.well-known/openid-configuration. The error envelope was observed live.' termsOfService: https://wordpress.com/tos/ contact: name: WordPress.com Developer Resources url: https://developer.wordpress.com/docs/api/ x-derived-from: https://public-api.wordpress.com/rest/v1.2/help x-derived-by: API Evangelist enrichment pipeline servers: - url: https://public-api.wordpress.com/rest/v1.2 tags: - name: alternates - name: batch - name: comments - name: comments-tree - name: media - name: posts - name: read - name: sites - name: tests - name: users paths: /batch/: get: operationId: getBatch summary: Run several GET endpoints and return them as an array. description: Run several GET endpoints and return them as an array. tags: - batch responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: urls in: query required: false schema: type: array items: {} description: Array of endpoints to call /me/settings/profile-links/new: post: operationId: postMeSettingsProfileLinksNew summary: Add one or more links to current user's profile. description: Add one or more links to current user's profile. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: added: type: array items: {} description: A list of just the profile links that were added. malformed: type: array items: {} description: A list of links that were not added because they were missing a title or value or had a bad scheme in the value. duplicate: type: array items: {} description: A list of the links that were already in the user's profile thus skipped. profile_links: type: array items: {} description: A complete list of user's profile links. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: links: type: array items: {} description: An array of links to add to the current user, with each link specifying title and value.` /me/sites: get: operationId: getMeSites summary: Get a list of the current user's sites. description: Get a list of the current user's sites. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: sites: type: array items: {} description: List of sites. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: source in: query required: false schema: type: string description: Optional. Identifier for the caller; used for perf tracking. - name: site_visibility in: query required: false schema: type: string enum: - all - visible - hidden - deleted description: 'all: (default) Return all sites user is a member of, both visible and hidden.; visible: Only return sites set to visible for the user.; hidden: Only return sites set to hidden for the user.; deleted: Only return sites set to deleted for the user.' - name: options in: query required: false schema: type: string description: 'Optional. Returns specified options only. Comma-separated list. Example: options=login_url,timezone' - name: include_domain_only in: query required: false schema: type: boolean description: Optional. Whether to include domain-only sites - name: include_redirect in: query required: false schema: type: boolean description: 'Optional. Whether to include redirect sites. Default: true.' - name: include_a8c_owned in: query required: false schema: type: boolean description: 'Optional. Whether to include A8C owned sites. Default: true.' - name: include_staging in: query required: false schema: type: boolean description: 'Optional. Whether to include staging sites. Default: true.' - name: site_activity in: query required: false schema: type: string enum: - all - active - inactive description: 'all: (default) Return all sites both active or inactive.; active: Only return active sites.; inactive: Only return inactive sites.' - name: filters in: query required: false schema: type: string description: 'Optional. Returns sites that satisfy the given filters only. Example: filters=jetpack,atomic,wpcom' /read/feed/{feed_url_or_id}/posts/{feed_item_id}: get: operationId: getReadFeedByFeedUrlOrIdPostsByFeedItemId summary: Get a single post from a feed (by ID). description: Get a single post from a feed (by ID). tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. post: type: array items: {} description: A post object. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: feed_url_or_id in: path required: true schema: type: string description: The URL for the feed you would like more details on, or the id of the Feed. If a URL is passed, it MUST be URL-encoded. - name: feed_item_id in: path required: true schema: type: string description: The feed item ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/following/mine: get: operationId: getReadFollowingMine summary: Get a list of the feeds the user is following. description: Get a list of the feeds the user is following. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. subscriptions: type: array items: {} description: An array of the feeds the user subscribes to. page: type: integer description: The current page number of results number: type: integer description: The number of results returned total_subscriptions: type: integer description: Total subscription count for the user '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: page in: query required: false schema: type: integer description: Page number - name: number in: query required: false schema: type: integer description: Number of items to page - name: q in: query required: false schema: type: string description: Query text - name: filter in: query required: false schema: type: string description: filter the list /read/following/mine/export: get: operationId: getReadFollowingMineExport summary: Export the current user's Reader subscriptions in OPML format. description: Export the current user's Reader subscriptions in OPML format. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. success: type: boolean description: Was the operation successful? opml: type: string description: User subscriptions in OPML format '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/following/mine/import: post: operationId: postReadFollowingMineImport summary: Import an OPML file to the current user's Reader subscriptions. description: Import an OPML file to the current user's Reader subscriptions. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. success: type: boolean description: Was the operation successful? job_id: type: integer description: The job ID for the queued import '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: import: type: string description: 'An OPML import file. The entire request should be multipart/form-data encoded.Example:curl \--form ''import=@/path/to/file.jpg'' \-H ''Authorization: BEARER your-token'' \''https://public-api.wordpress.com/rest/v1.2/read/import''' /read/lists: get: operationId: getReadLists summary: Get an array of Reader lists the current user is following. description: Get an array of Reader lists the current user is following. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. lists: type: array items: {} description: An array of Reader lists number: type: integer description: The number of Reader lists returned '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: create_recommended_blogs_list in: query required: false schema: type: boolean description: Should a recommended blogs list be created for the user if none exists? /read/lists/{user_slug}: get: operationId: getReadListsByUserSlug summary: Get an array of Reader lists by user slug. description: Get an array of Reader lists by user slug. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. lists: type: array items: {} description: An array of Reader lists number: type: integer description: The number of Reader lists returned '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: user_slug in: path required: true schema: type: string description: The slug of the user whose lists to retrieve. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/lists/{username}/{list}: get: operationId: getReadListsByUsernameByList summary: Get a description of a Reader list. description: Get a description of a Reader list. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. list: type: object description: A Reader list '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: username in: path required: true schema: type: string description: The username of the owner of the list. - name: list in: path required: true schema: type: string description: The specific list to retrieve. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/lists/{username}/{list}/follow: post: operationId: postReadListsByUsernameByListFollow summary: Follow a specific Reader List. description: Follow a specific Reader List. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. following: type: boolean description: Whether the user is following the List. list: type: array items: {} description: List details '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: username in: path required: true schema: type: string description: The username of the owner of the list. - name: list in: path required: true schema: type: string description: The specific list to retrieve. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/lists/{username}/{list}/unfollow: post: operationId: postReadListsByUsernameByListUnfollow summary: Unfollow a specific Reader List. description: Unfollow a specific Reader List. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. following: type: boolean description: Whether the user is following the List. list: type: array items: {} description: List details '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: username in: path required: true schema: type: string description: The username of the owner of the list. - name: list in: path required: true schema: type: string description: The specific list to retrieve. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/lists/{username}/{list}/update: post: operationId: postReadListsByUsernameByListUpdate summary: Update an existing Reader list for the current user. description: Update an existing Reader list for the current user. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. success: type: boolean description: Was the response successful? list: type: object description: The updated Reader list '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: username in: path required: true schema: type: string description: The username of the owner of the list. - name: list in: path required: true schema: type: string description: The specific list to retrieve. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: title: type: string description: The list title description: type: string description: The list description - optional is_public: type: boolean description: Should the list be public? /read/menu/: get: operationId: getReadMenu summary: Get default reader menu. description: Get default reader menu. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: default: type: array items: {} description: Default list of endpoints for the reader. subscribed: type: array items: {} description: List of the user's subscribed topics. recommended: type: array items: {} description: A list of recommended topics. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/onboarding/welcome-digest/flush: post: operationId: postReadOnboardingWelcomeDigestFlush summary: Flush the pending Reader onboarding welcome digest for the current user. description: Flush the pending Reader onboarding welcome digest for the current user. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Whether the request succeeded. sent: type: boolean description: Whether a digest email was sent. blog_count: type: integer description: Number of sites included in the digest when sent. in_progress: type: boolean description: True when another flush for this user is already running. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/site/{site}/comment_email_subscriptions/delete: post: operationId: postReadSiteBySiteCommentEmailSubscriptionsDelete summary: Remove an existing email subscription to a site's comments. description: Remove an existing email subscription to a site's comments. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. success: type: boolean description: Was the operation successful? subscribed: type: boolean description: Is the user subscribed? subscription: type: object description: An object containing the updated subscription. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: post_id in: query required: false schema: type: integer description: Post ID (optional) /read/site/{site}/comment_email_subscriptions/new: post: operationId: postReadSiteBySiteCommentEmailSubscriptionsNew summary: Create a new email subscription to a site's comments. description: Create a new email subscription to a site's comments. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. success: type: boolean description: Was the operation successful? subscribed: type: boolean description: Is the user subscribed? subscription: type: object description: An object containing the updated subscription. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: post_id in: query required: false schema: type: integer description: Post ID (optional) /read/site/{site}/post_email_subscriptions/delete: post: operationId: postReadSiteBySitePostEmailSubscriptionsDelete summary: Remove an existing email subscription to a site's posts. description: Remove an existing email subscription to a site's posts. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. success: type: boolean description: Was the operation successful? subscribed: type: boolean description: Is the user subscribed? subscription: type: object description: An object containing the updated subscription. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: email_id: type: string description: Tracks email id /read/site/{site}/post_email_subscriptions/new: post: operationId: postReadSiteBySitePostEmailSubscriptionsNew summary: Create a new email subscription to a site's posts. description: Create a new email subscription to a site's posts. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. success: type: boolean description: Was the operation successful? subscribed: type: boolean description: Is the user subscribed? subscription: type: object description: An object containing the updated subscription. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: delivery_frequency: type: string description: Delivery frequency - instantly, daily or weekly track_source: type: string description: Track event source /read/site/{site}/post_email_subscriptions/update: post: operationId: postReadSiteBySitePostEmailSubscriptionsUpdate summary: Update the delivery frequency for an existing email subscription. description: Update the delivery frequency for an existing email subscription. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. success: type: boolean description: Was the operation successful? subscribed: type: boolean description: Is the user subscribed? subscription: type: object description: An object containing the updated subscription. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: delivery_frequency: type: string description: Delivery frequency - instantly, daily or weekly track_source: type: string description: Track event source /read/sites/{site}/posts/{post_ID}: get: operationId: getReadSitesBySitePostsByPostId summary: Get a single post (by ID). description: Get a single post (by ID). tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/tags: get: operationId: getReadTags summary: Get a list of tags subscribed to by the user. description: Get a list of tags subscribed to by the user. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: tags: type: array items: {} description: The list of subscribed tags. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/tags/alphabetic: get: operationId: getReadTagsAlphabetic summary: Get a filtered list of top tags, grouped by letter. description: Get a filtered list of top tags, grouped by letter. tags: - read responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: lang in: query required: false schema: type: string description: The language code for the tags /read/trending/tags: get: operationId: getReadTrendingTags summary: Get a list of trending tags. description: Get a list of trending tags. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: tags: type: array items: {} description: The list of subscribed tags. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: lang in: query required: false schema: type: string description: The language code for the tags - name: count in: query required: false schema: type: integer description: 'The number of topics to fetch Default: 20.' /sites/{site}: get: operationId: getSitesBySite summary: Get information about a site. description: Get information about a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: Site ID name: type: string description: Title of site description: type: string description: Tagline or description of site URL: type: string description: Full URL to the site capabilities: type: array items: {} description: Array of capabilities for the current user on this site. jetpack: type: boolean description: Whether the site is a Jetpack site or not jetpack_connection: type: boolean description: Whether the site is connected to WP.com via `jetpack-connection` is_multisite: type: boolean description: Whether the site is a Multisite site or not. Always true for WP.com sites. site_owner: type: integer description: User ID of the site owner post_count: type: integer description: The number of posts the site has subscribers_count: type: integer description: The number of subscribers the site has locale: type: string description: Primary locale code of the site icon: type: array items: {} description: An array of icon formats for the site logo: type: array items: {} description: The site logo, set in the Customizer visible: type: boolean description: If this site is visible in the user's site list is_private: type: boolean description: If the site is a private site or not is_coming_soon: type: boolean description: If the site is a "coming soon" site or not single_user_site: type: boolean description: Whether the site is single user. Only returned for WP.com sites and for Jetpack sites with version 3.4 or higher. is_vip: type: boolean description: If the site is a VIP site or not. is_following: type: boolean description: If the current user is subscribed to this site in the reader organization_id: type: integer description: P2 Organization identifier. options: type: array items: {} description: 'An array of options/settings for the blog. Only viewable by users with post editing rights to the site. Note: Post formats is deprecated, please see /sites/$id/post-formats/' plan: type: array items: {} description: Details of the current plan for this site. products: type: array items: {} description: Details of the current products for this site. zendesk_site_meta: type: array items: {} description: Site meta data for Zendesk. updates: type: array items: {} description: An array of available updates for plugins, themes, wordpress, and languages. jetpack_modules: type: array items: {} description: A list of active Jetpack modules. meta: type: object description: Meta data quota: type: array items: {} description: An array describing how much space a user has left for uploads launch_status: type: string description: A string describing the launch status of a site site_migration: type: array items: {} description: Data about any migration into the site. is_fse_active: type: boolean description: If the site has Full Site Editing active or not. is_fse_eligible: type: boolean description: If the site is capable of Full Site Editing or not is_core_site_editor_enabled: type: boolean description: If the site has the core site editor enabled. is_wpcom_atomic: type: boolean description: If the site is a WP.com Atomic one. is_wpcom_staging_site: type: boolean description: If the site is a WP.com staging site. was_ecommerce_trial: type: boolean description: If the site ever used an eCommerce trial. was_upgraded_from_trial: type: boolean description: If the site ever upgraded to a paid plan from a trial. was_migration_trial: type: boolean description: If the site ever used a migration trial. was_hosting_trial: type: boolean description: If the site ever used a hosting trial. is_deleted: type: boolean description: If the site flagged as deleted. is_a4a_client: type: boolean description: If the site is an A4A client site. is_a4a_dev_site: type: boolean description: If the site is an A4A dev site. is_garden: type: boolean description: If the site is a Garden site. hosting_provider_guess: type: string description: Guess of the hosting provider. WordPress.com platform only; only returned when explicitly requested via the fields parameter. environment_type: type: string description: The WP_ENVIRONMENT_TYPE of the site as synced by Jetpack. WordPress.com platform only; only returned when explicitly requested via the fields parameter. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: filters in: query required: false schema: type: string description: 'Optional. Returns sites that satisfy the given filters only. Example: filters=jetpack,atomic,wpcom' /sites/{site}/comments-tree: get: operationId: getSitesBySiteCommentsTree summary: Get a comments tree for site. description: Get a comments tree for site. tags: - comments-tree responses: '200': description: OK content: application/json: schema: type: object properties: comments_tree: type: array items: {} description: Array of post IDs representing the comments tree for given site or post (max 50000) trackbacks_tree: type: array items: {} description: Array of post IDs representing the trackbacks tree for given site or post (max 50000) pingbacks_tree: type: array items: {} description: Array of post IDs representing the pingbacks tree for given site or post (max 50000) '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: post_id in: query required: false schema: type: integer description: Filter returned comments by a post. - name: status in: query required: false schema: type: string description: 'Filter returned comments based on this value (allowed values: all, approved, pending, trash, spam).' /sites/{site}/comments/{comment_ID}/likes/: get: operationId: getSitesBySiteCommentsByCommentIdLikes summary: Get the likes for a comment. Results are ordered newest to oldest. description: Get the likes for a comment. Results are ordered newest to oldest. tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The total number of likes for this comment. i_like: type: boolean description: If authenticated, this returns the current like status for the user on this comment. likes: type: array items: {} description: An array of users who liked this comment. meta: type: object description: Metadata '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: comment_ID in: path required: true schema: type: integer description: The comment ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'The number of likes to return. Limit: 90 Default: 20.' - name: before in: query required: false schema: type: string format: date-time description: Filter results to likes before the specified datetime. - name: exclude in: query required: false schema: type: array items: {} description: An array of liker user ids to exclude from the response. /sites/{site}/media/: get: operationId: getSitesBySiteMedia summary: Get a list of items in the media library. description: Get a list of items in the media library. tags: - media responses: '200': description: OK content: application/json: schema: type: object properties: media: type: array items: {} description: Array of media objects found: type: integer description: The number of total results found meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'The number of media items to return. Limit: 100. Default: 20.' - name: offset in: query required: false schema: type: integer description: 0-indexed offset. - name: page in: query required: false schema: type: integer description: Return the Nth 1-indexed page of posts. Takes precedence over the offset parameter. - name: page_handle in: query required: false schema: type: string description: A page handle, returned from a previous API call as a meta.next_page property. This is the most efficient way to fetch the next page of results. - name: order in: query required: false schema: type: string enum: - DESC - ASC description: 'DESC: (default) Return files in descending order. For dates, that means newest to oldest.; ASC: Return files in ascending order. For dates, that means oldest to newest.' - name: order_by in: query required: false schema: type: string enum: - date - title - ID description: 'date: (default) Order by the uploaded time of each file.; title: Order lexicographically by file titles.; ID: Order by media ID.' - name: search in: query required: false schema: type: string description: Search query. - name: post_ID in: query required: false schema: type: integer description: Default is showing all items. The post where the media item is attached. 0 shows unattached media items. - name: mime_type in: query required: false schema: type: string description: Default is empty. Filter by mime type (e.g., 'image/jpeg', 'application/pdf'). Partial searches also work (e.g. passing 'image' will search for all image files). - name: after in: query required: false schema: type: string format: date-time description: Return media items uploaded after the specified datetime. - name: before in: query required: false schema: type: string format: date-time description: Return media items uploaded before the specified datetime. /sites/{site}/media/{media_ID}: get: operationId: getSitesBySiteMediaByMediaId summary: Get a single media item (by ID). description: Get a single media item (by ID). tags: - media responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the media item date: type: string format: date-time description: The date the media was uploaded post_ID: type: integer description: ID of the post this media is attached to author_ID: type: integer description: ID of the user who uploaded the media URL: type: string description: URL to the file guid: type: string description: Unique identifier file: type: string description: Filename extension: type: string description: File extension mime_type: type: string description: File MIME type title: type: string description: Filename caption: type: string description: User-provided caption of the file description: type: string description: Description of the file alt: type: string description: Alternative text for image files. thumbnails: type: object description: Media item thumbnail URL options height: type: integer description: (Image & video only) Height of the media item width: type: integer description: (Image & video only) Width of the media item length: type: integer description: (Video & audio only) Duration of the media item, in seconds exif: type: array items: {} description: (Image & audio only) Exif (meta) information about the media item rating: type: string description: (Video only) VideoPress rating of the video display_embed: type: string description: Video only. Whether to share or not the video. allow_download: type: string description: Video only. Whether the video can be downloaded or not. videopress_guid: type: string description: (Video only) VideoPress GUID of the video when uploaded on a blog with VideoPress videopress_processing_done: type: boolean description: (Video only) If the video is uploaded on a blog with VideoPress, this will return the status of processing on the video. revision_history: type: object description: An object with `items` and `original` keys. `original` is an object with data about the original image. `items` is an array of snapshots of the previous images of this Media. Each item has the `URL`, `file, `extension`, `date`, and `mime_type` fields. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: media_ID in: path required: true schema: type: integer description: The ID of the media item - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/media/{media_ID}/edit: post: operationId: postSitesBySiteMediaByMediaIdEdit summary: Edit a media item. description: Edit a media item. tags: - media responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the media item date: type: string format: date-time description: The date the media was uploaded post_ID: type: integer description: ID of the post this media is attached to author_ID: type: integer description: ID of the user who uploaded the media URL: type: string description: URL to the file guid: type: string description: Unique identifier file: type: string description: File name extension: type: string description: File extension mime_type: type: string description: File mime type title: type: string description: File name caption: type: string description: User provided caption of the file description: type: string description: Description of the file alt: type: string description: Alternative text for image files. thumbnails: type: object description: Media item thumbnail URL options height: type: integer description: (Image & video only) Height of the media item width: type: integer description: (Image & video only) Width of the media item length: type: integer description: (Video & audio only) Duration of the media item, in seconds exif: type: array items: {} description: (Image & audio only) Exif (meta) information about the media item videopress_guid: type: string description: (Video only) VideoPress GUID of the video when uploaded on a blog with VideoPress videopress_processing_done: type: boolean description: (Video only) If the video is uploaded on a blog with VideoPress, this will return the status of processing on the video. revision_history: type: object description: An object with `items` and `original` keys. `original` is an object with data about the original image. `items` is an array of snapshots of the previous images of this Media. Each item has the `URL`, `file, `extension`, `date`, and `mime_type` fields. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: media_ID in: path required: true schema: type: integer description: The ID of the media item - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: parent_id: type: integer description: ID of the post this media is attached to title: type: string description: The file name. caption: type: string description: File caption. description: type: string description: Description of the file. alt: type: string description: Alternative text for image files. artist: type: string description: Audio Only. Artist metadata for the audio track. album: type: string description: Audio Only. Album metadata for the audio track. media: type: string description: 'An object file to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See allowed_file_types in the options response of the site endpoint. Example:curl \--form ''title=Image'' \--form ''media=@/path/to/file.jpg'' \-H ''Authorization: BEARER your-token'' \''https://public-api.wordpress.com/rest/v1/sites/123/media/new''' attrs: type: object description: An Object of attributes (`title`, `description` and `caption`) are supported to assign to the media uploaded via the `media` or `media_url` media_url: type: string description: An URL of the image to attach to a post. /sites/{site}/post-counts/{post_type}: get: operationId: getSitesBySitePostCountsByPostType summary: Get number of posts in the post type groups by post status description: Get number of posts in the post type groups by post status tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: counts: type: string description: 'all: (array) Number of posts by any author in the post type grouped by post status; mine: (array) Number of posts by the current user in the post type grouped by post status' enum: - all - mine '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_type in: path required: true schema: type: string description: Post Type - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: author in: query required: false schema: type: integer description: author ID /sites/{site}/posts/: get: operationId: getSitesBySitePosts summary: Get a list of matching posts. description: Get a list of matching posts. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The total number of posts found that match the request (ignoring limits, offsets, and pagination). posts: type: array items: {} description: An array of post objects. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'The number of posts to return. Limit: 100. Default: 20.' - name: offset in: query required: false schema: type: integer description: 0-indexed offset. - name: page in: query required: false schema: type: integer description: Return the Nth 1-indexed page of posts. Takes precedence over the offset parameter. - name: page_handle in: query required: false schema: type: string description: A page handle, returned from a previous API call as a meta.next_page property. This is the most efficient way to fetch the next page of results. - name: order in: query required: false schema: type: string enum: - DESC - ASC description: 'DESC: (default) Return posts in descending order. For dates, that means newest to oldest.; ASC: Return posts in ascending order. For dates, that means oldest to newest.' - name: order_by in: query required: false schema: type: string enum: - date - modified - title - comment_count - ID description: 'date: (default) Order by the created time of each post.; modified: Order by the modified time of each post.; title: Order lexicographically by the posts'' titles.; comment_count: Order by the number of comments for each post.; ID: Order by post ID.' - name: after in: query required: false schema: type: string format: date-time description: Return posts dated after the specified datetime. - name: before in: query required: false schema: type: string format: date-time description: Return posts dated before the specified datetime. - name: modified_after in: query required: false schema: type: string format: date-time description: Return posts modified after the specified datetime. - name: modified_before in: query required: false schema: type: string format: date-time description: Return posts modified before the specified datetime. - name: tag in: query required: false schema: type: string description: Specify the tag name or slug. - name: category in: query required: false schema: type: string description: Specify the category name or slug. - name: term in: query required: false schema: type: object description: Specify comma-separated term slugs to search within, indexed by taxonomy slug. - name: type in: query required: false schema: type: string description: Specify the post type. Defaults to 'post', use 'any' to query for both posts and pages. Post types besides post and page need to be whitelisted using the rest_api_allowed_post_types filter. - name: exclude_private_types in: query required: false schema: type: boolean description: 'Use this flag together with `type=any` to get only publicly accessible posts. Default: false.' - name: parent_id in: query required: false schema: type: integer description: Returns only posts which are children of the specified post. Applies only to hierarchical post types. - name: include in: query required: false schema: type: string description: Includes the specified post ID(s) in the response - name: exclude in: query required: false schema: type: string description: Excludes the specified post ID(s) from the response - name: exclude_tree in: query required: false schema: type: integer description: Excludes the specified post and all of its descendants from the response. Applies only to hierarchical post types. - name: status in: query required: false schema: type: string description: 'Comma-separated list of statuses for which to query, including any of: "publish", "private", "draft", "pending", "future", and "trash", or simply "any". Defaults to "publish"' - name: sticky in: query required: false schema: type: string enum: - include - exclude - require description: 'include: (default) Sticky posts are not excluded from the list.; exclude: Sticky posts are excluded from the list.; require: Only include sticky posts' - name: author in: query required: false schema: type: integer description: Author's user ID - name: search in: query required: false schema: type: string description: Search query - name: meta_key in: query required: false schema: type: string description: Metadata key that the post should contain - name: meta_value in: query required: false schema: type: string description: Metadata value that the post should contain. Will only be applied if a `meta_key` is also given /sites/{site}/posts/new: post: operationId: postSitesBySitePostsNew summary: Create a post. description: Create a post. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: autosave in: query required: false schema: type: boolean description: True if the post was saved automatically. requestBody: required: false content: application/json: schema: type: object properties: date: type: string format: date-time description: The post's creation time. title: type: string description: The post title. content: type: string description: The post content. excerpt: type: string description: An optional post excerpt. slug: type: string description: The name (slug) for the post, used in URLs. author: type: string description: The username or ID for the user to assign the post to. publicize: type: string description: True or false if the post be shared to external services. An array of services if we only want to share to a select few. Defaults to true. publicize_message: type: string description: Custom message to be shared to external services. status: type: string description: 'publish: (default) Publish the post.; private: Privately publish the post.; draft: Save the post as a draft.; pending: Mark the post as pending editorial approval.; future: Schedule the post (alias for publish; you must also set a future date).; auto-draft: Save a placeholder for a newly created post, with no content.' enum: - publish - private - draft - pending - future - auto-draft sticky: type: boolean description: 'false: (default) Post is not marked as sticky.; true: Stick the post to the front page.' password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. parent: type: integer description: The post ID of the new post's parent. type: type: string description: The post type. Defaults to 'post'. Post types besides post and page need to be whitelisted using the rest_api_allowed_post_types filter. terms: type: object description: Mapping of taxonomy to comma-separated list or array of term names categories: type: string description: Comma-separated list or array of category names tags: type: string description: Comma-separated list or array of tag names terms_by_id: type: object description: Mapping of taxonomy to comma-separated list or array of term IDs categories_by_id: type: string description: Comma-separated list or array of category IDs tags_by_id: type: string description: Comma-separated list or array of tag IDs format: type: string description: 'default: (default) Use default post format; standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - default - standard - aside - chat - gallery - link - image - quote - status - video - audio featured_image: type: string description: The post ID of an existing attachment to set as the featured image. Pass an empty string to delete the existing image. media: type: string description: 'An array of files to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See allowed_file_types in the options response of the site endpoint. Errors produced by media uploads, if any, will be in `media_errors` in the response. Example:curl \--form ''title=Image Post'' \--form ''media[0]=@/path/to/file.jpg'' \--form ''media_attrs[0][caption]=My Great Photo'' \-H ''Authorization: BEARER your-token'' \''https://public-api.wordpress.com/rest/v1/sites/123/posts/new''' media_urls: type: array items: {} description: An array of URLs for images to attach to a post. Sideloads the media in for a post. Errors produced by media sideloading, if any, will be in `media_errors` in the response. media_attrs: type: array items: {} description: 'An array of attributes (`title`, `description` and `caption`) are supported to assign to the media uploaded via the `media` or `media_urls` properties. You must use a numeric index for the keys of `media_attrs` which follow the same sequence as `media` and `media_urls`. Example:curl \--form ''title=Gallery Post'' \--form ''media[]=@/path/to/file1.jpg'' \--form ''media_urls[]=http://exapmple.com/file2.jpg'' \ \--form ''media_attrs[0][caption]=This will be the caption for file1.jpg'' \--form ''media_attrs[1][title]=This will be the title for file2.jpg'' \-H ''Authorization: BEARER your-token'' \''https://public-api.wordpress.com/rest/v1/sites/123/posts/new''' metadata: type: array items: {} description: 'Array of metadata objects containing the following properties: `key` (metadata key), `id` (meta ID), `previous_value` (if set, the action will only occur for the provided previous value), `value` (the new value to set the meta to), `operation` (the operation to perform: `update` or `add`; defaults to `update`). All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are avaiable for authenticated requests with proper capabilities. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter.' discussion: type: object description: 'A hash containing one or more of the following boolean values, which default to the blog''s discussion preferences: `comments_open`, `pings_open`' likes_enabled: type: boolean description: Should the post be open to likes? Defaults to the blog's preference. sharing_enabled: type: boolean description: Should sharing buttons show on this post? Defaults to true. menu_order: type: integer description: (Pages Only) the order pages should appear in. Use 0 to maintain alphabetical order. page_template: type: string description: (Pages Only) The page template this page should use. /sites/{site}/posts/{post_ID}: post: operationId: postSitesBySitePostsByPostId summary: Edit a post. description: Edit a post. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: autosave in: query required: false schema: type: boolean description: True if the post was saved automatically. requestBody: required: false content: application/json: schema: type: object properties: date: type: string format: date-time description: The post's creation time. title: type: string description: The post title. content: type: string description: The post content. excerpt: type: string description: An optional post excerpt. slug: type: string description: The name (slug) for the post, used in URLs. author: type: string description: The username or ID for the user to assign the post to. publicize: type: string description: True or false if the post be shared to external services. An array of services if we only want to share to a select few. Defaults to true. publicize_message: type: string description: Custom message to be shared to external services. status: type: string description: 'publish: (default) Publish the post.; private: Privately publish the post.; draft: Save the post as a draft.; future: Schedule the post (alias for publish; you must also set a future date).; pending: Mark the post as pending editorial approval.; trash: Set the post as trashed.' enum: - publish - private - draft - future - pending - trash sticky: type: boolean description: 'false: (default) Post is not marked as sticky.; true: Stick the post to the front page.' password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. parent: type: integer description: The post ID of the new post's parent. terms: type: object description: Mapping of taxonomy to comma-separated list or array of term names terms_by_id: type: object description: Mapping of taxonomy to comma-separated list or array of term IDs categories: type: string description: Comma-separated list or array of category names categories_by_id: type: string description: Comma-separated list or array of category IDs tags: type: string description: Comma-separated list or array of tag names tags_by_id: type: string description: Comma-separated list or array of tag IDs format: type: string description: 'default: (default) Use default post format; standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - default - standard - aside - chat - gallery - link - image - quote - status - video - audio discussion: type: object description: 'A hash containing one or more of the following boolean values, which default to the blog''s discussion preferences: `comments_open`, `pings_open`' likes_enabled: type: boolean description: Should the post be open to likes? menu_order: type: integer description: (Pages only) the order pages should appear in. Use 0 to maintain alphabetical order. page_template: type: string description: (Pages Only) The page template this page should use. sharing_enabled: type: boolean description: Should sharing buttons show on this post? featured_image: type: string description: The post ID of an existing attachment to set as the featured image. Pass an empty string to delete the existing image. media: type: string description: 'An array of files to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See allowed_file_types in the options resposne of the site endpoint. Example:curl \--form ''title=Image'' \--form ''media[]=@/path/to/file.jpg'' \-H ''Authorization: BEARER your-token'' \''https://public-api.wordpress.com/rest/v1/sites/123/posts/new''' media_urls: type: array items: {} description: An array of URLs for images to attach to a post. Sideloads the media in for a post. metadata: type: array items: {} description: 'Array of metadata objects containing the following properties: `key` (metadata key), `id` (meta ID), `previous_value` (if set, the action will only occur for the provided previous value), `value` (the new value to set the meta to), `operation` (the operation to perform: `update` or `add`; defaults to `update`). All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with proper capabilities. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter.' if_not_modified_since: type: string format: date-time description: If the post has been modified since this time, the post will not be updated. /sites/{site}/posts/{post_ID}/likes/: get: operationId: getSitesBySitePostsByPostIdLikes summary: Get a list of the likes for a post. Results are ordered newest to oldest. description: Get a list of the likes for a post. Results are ordered newest to oldest. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The total number of likes for this post. i_like: type: boolean description: If authenticated, this returns the current like status for the user on this post. likes: type: array items: {} description: An array of users who liked this post. meta: type: object description: Metadata '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'The number of likes to return. Limit: 90 Default: 20.' - name: before in: query required: false schema: type: string format: date-time description: Filter results to likes before the specified datetime. - name: exclude in: query required: false schema: type: array items: {} description: An array of liker user ids to exclude from the response. /sites/{site}/search: post: operationId: postSitesBySiteSearch summary: Search within a site using an Elasticsearch Query API. description: Search within a site using an Elasticsearch Query API. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: hits: type: array items: {} description: The top level "hits" object from the Elasticsearch query response. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: size: type: integer description: Number of results to return. Max depends on whether requestor is VIP, Jetpack or others. from: type: integer description: Item number to return. Max depends on whether requestor is VIP, Jetpack or others. fields: type: array items: {} description: List of fields to return. Default is blog_id and post_id. See all fields. query: type: array items: {} description: Allows (almost) full access to the ES query DSL. See Elasticsearch Query DSL. Some filters and queries are not allowed for performance reasons, as documented here. aggregations: type: array items: {} description: Return aggregations from matches to the search. See details. sort: type: array items: {} description: How to sort results. Default is _score. See the Elasticsearch sort docs filter: type: array items: {} description: Filters applied to the search. Will be added as a part of a top level bool query suggest: type: array items: {} description: Experimental - Run suggestors on this search See Elasticsearch suggesters rescore: type: array items: {} description: Experimental - Do query rescores on the search. See Elasticsearch rescoring facets: type: array items: {} description: Deprecated. Do not use. Will be removed soon. additional_blog_ids: type: array items: {} description: List of additional blog_ids to run the search on. /support/alternates/{site}/posts/{post_ID}: get: operationId: getSupportAlternatesBySitePostsByPostId summary: Get alternates for support article (by ID). description: Get alternates for support article (by ID). tags: - alternates responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Support site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: locale in: query required: false schema: type: string description: Locale slug /test/version/{ID}: get: operationId: getTestVersionById summary: Test GET requests. description: Test GET requests. tags: - tests responses: '200': description: OK content: application/json: schema: type: object properties: method_id_matches_query_id: type: boolean description: Whether the arbitrary integer in the path matches the arbitrary integer in the query string. method_id: type: integer id: type: integer description: Another arbitrary integer default_string: type: string default_int: type: integer boolean_whitelist_defaults_to_false: type: boolean boolean_whitelist_defaults_to_true: type: boolean string_whitelist_defaults_to_foo: type: string url: type: string format: uri datetime: type: string format: date-time '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: ID in: path required: true schema: type: integer description: An arbitrary integer - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: id in: query required: false schema: type: integer description: Another arbitrary integer - name: default_string in: query required: false schema: type: string description: 'Default: ''default''.' - name: default_int in: query required: false schema: type: integer description: 'Default: 100.' - name: boolean_whitelist_defaults_to_false in: query required: false schema: type: boolean description: 'false: (default) False; true: True' - name: boolean_whitelist_defaults_to_true in: query required: false schema: type: boolean description: 'true: (default) TRUE; false: FALSE' - name: string_whitelist_defaults_to_foo in: query required: false schema: type: string enum: - foo - bar description: 'foo: (default) Foolish; bar: Barstow' - name: url in: query required: false schema: type: string format: uri - name: datetime in: query required: false schema: type: string format: date-time components: securitySchemes: oauth2: type: oauth2 description: WordPress.com OAuth 2.1 (see /.well-known/openid-configuration). flows: authorizationCode: authorizationUrl: https://public-api.wordpress.com/oauth2-1/authorize tokenUrl: https://public-api.wordpress.com/oauth2-1/token refreshUrl: https://public-api.wordpress.com/oauth2-1/token scopes: global: '' auth: '' openid: '' profile: '' email: '' users: '' sites: '' posts: '' comments: '' taxonomy: '' follow: '' sharing: '' freshly-pressed: '' notifications: '' insights: '' read: '' stats: '' media: '' menus: '' batch: '' videos: '' bearerAuth: type: http scheme: bearer description: 'Authorization: Bearer ' schemas: Error: type: object description: WordPress.com REST API error envelope (observed live). properties: error: type: string examples: - not_found message: type: string security: - bearerAuth: []