openapi: 3.2.0 info: title: Automattic Read API x-derived-by: API Evangelist enrichment pipeline x-refined-note: - x-derived-from differs across the merged source definitions and was not carried version: '1.0' description: 'Operations tagged read across 4 of this provider''s published API definitions: automattic-wordpress-com-rest-v1-1-openapi.yml, automattic-wordpress-com-rest-v1-2-openapi.yml, automattic-wordpress-com-rest-v1-3-openapi.yml, automattic-wordpress-com-wpcom-v2-openapi.yml. Each path carries the servers of the definition it was published in.' servers: - url: https://public-api.wordpress.com/rest/v1.1 - url: https://public-api.wordpress.com/rest/v1.2 - url: https://public-api.wordpress.com/rest/v1.3 - url: https://public-api.wordpress.com security: - bearerAuth: [] tags: - name: read paths: /read/email-settings/: get: operationId: getReadEmailSettings summary: Returns the email settings description: Returns the email settings tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: settings: type: array items: {} description: The settings '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. post: operationId: postReadEmailSettings summary: Returns the email settings description: Returns the email settings tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: settings: type: array items: {} description: The updated settings '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: mail_option: type: string description: 'The mail format: html or text' delivery_day: type: integer description: 'The index of the day of the week to send the email: 0 = Sunday, 1 = Monday, etc.' delivery_hour: type: integer description: 'The index of the hour of the day to send the email: 0 = 12am, 1 = 1am, etc.' blocked: type: boolean description: If this user has blocked WP.com emails frequency: type: string description: The default email frequency for this user servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/feed/: get: operationId: getReadFeed summary: Get the ID and subscribe URL of one or more matching feeds by domain or URL. description: Get the ID and subscribe URL of one or more matching feeds by domain or URL. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: feeds: type: array items: {} description: Found feeds, represented by their subscribe URL and feed ID. '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: url in: query required: false schema: type: string description: The domain or URL of the site you would like to retrieve the feed(s) ID for. It MUST be URL-encoded. - name: q in: query required: false schema: type: string description: Query text - name: offset in: query required: false schema: type: integer description: offset to page results to - name: number in: query required: false schema: type: integer description: number of results to return - name: exclude_followed in: query required: false schema: type: boolean description: 'Exclude already followed sites in search results Default: true.' - name: sort in: query required: false schema: type: string description: relevance or last_updated - name: page_handle in: query required: false schema: type: string description: A handle for getting the next page of results when sorting by last_updated - name: algorithm in: query required: false schema: type: string description: Specify a particular algorithm to use to choose posts (optional) servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/feed/{feed_url_or_id}: get: operationId: getReadFeedByFeedUrlOrId summary: Get details about a feed. description: Get details about a feed. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: blog_ID: type: string description: The site ID, 0 if this not a hosted site. feed_ID: type: string description: The ID for this feed name: type: string description: The name of the site URL: type: string description: The main URL for the site feed_URL: type: string description: The feed URL that WordPress polls for changes subscribers_count: type: integer description: The number of subscribers for this feed is_following: type: boolean description: Is the current user following this feed? last_update: type: string description: The timestamp of the most recent entry in the feed last_checked: type: string description: The timestamp of when we last checked the feed marked_for_refresh: type: boolean description: Is the feed queued up to be refreshed soon? next_refresh_time: type: string description: The timestamp for when we are going to refresh this feed '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: 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. servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/following/: get: operationId: getReadFollowing summary: Get a list of posts from the blogs a user follows. description: Get a list of posts from the blogs a user follows. 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. 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. comments_open: type: boolean description: Is the post open for comments? pings_open: type: boolean description: Is the post open for pingbacks, trackbacks? likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? comment_count: type: integer description: The number of comments for 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. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. 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). 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 current_user_can: type: object description: List of permissions. Note, deprecated in favor of `capabilities` capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post date_range: type: object description: date range covered by current results. number: type: integer description: The number of posts brought back by current query. posts: type: array items: {} description: An array of post objects. '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: number in: query required: false schema: type: integer description: 'The number of posts to return. Limit: 40. Default: 10.' - name: page in: query required: false schema: type: integer description: Return the Nth 1-indexed page of posts. - 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: 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: feed_id in: query required: false schema: type: integer description: The feed_id to fetch the posts from. servers: - url: https://public-api.wordpress.com/rest/v1.1 /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: subscriptions: type: array items: {} description: An array of the feeds the user subscribes to. '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. servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/following/mine/delete: post: operationId: postReadFollowingMineDelete summary: Unfollow the specified blog. description: Unfollow the specified blog. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: subscribed: type: boolean description: Is the user subscribed to the blog? '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: sub_id in: query required: false schema: type: integer description: The subscription ID to remove - name: url in: query required: false schema: type: string description: The URL of the blog you want to unfollow, if the subscription ID is not known requestBody: required: false content: application/json: schema: type: object properties: sub_id: type: integer description: The subscription ID to remove url: type: string description: The URL of the blog you want to unfollow, if the subscription ID is not known email_id: type: string description: Tracks email id blog_id: type: string description: The blog id to unsubscribe from servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/following/mine/new: post: operationId: postReadFollowingMineNew summary: Follow the specified blog. description: Follow the specified blog. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: subscribed: type: boolean description: Is the user subscribed to the blog? '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: url in: query required: false schema: type: string description: The URL of the blog to follow. - name: source in: query required: false schema: type: string description: The source of the follow requestBody: required: false content: application/json: schema: type: object properties: url: type: string description: The URL of the blog to follow. source: type: string description: The source of the follow servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/liked/: get: operationId: getReadLiked summary: Get a list of posts from the blogs a user likes. description: Get a list of posts from the blogs a user likes. 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. 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. comments_open: type: boolean description: Is the post open for comments? pings_open: type: boolean description: Is the post open for pingbacks, trackbacks? likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? comment_count: type: integer description: The number of comments for 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. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. 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). 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 current_user_can: type: object description: List of permissions. Note, deprecated in favor of `capabilities` capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post date_range: type: object description: date range covered by current results. number: type: integer description: The number of posts brought back by current query. posts: type: array items: {} description: An array of post objects. '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: number in: query required: false schema: type: integer description: 'The number of posts to return. Limit: 40. Default: 10.' - name: page in: query required: false schema: type: integer description: Return the Nth 1-indexed page of posts. - 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: 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. servers: - url: https://public-api.wordpress.com/rest/v1.1 /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. servers: - url: https://public-api.wordpress.com/rest/v1.1 /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. servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/recommendations/mine/: get: operationId: getReadRecommendationsMine summary: Get a list of blog recommendations for the current user. description: Get a list of blog recommendations for the current user. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: blogs: type: array items: {} description: List of blogs you may like '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: exclude in: query required: false schema: type: string description: Array of blog_ids to exclude. - name: number in: query required: false schema: type: integer description: Number of blogs to return (optional, default is 4). - name: lang in: query required: false schema: type: string description: Language code for localized reason strings. - name: source in: query required: false schema: type: string description: 'The source this request comes from: ["mobile", "reader_sidebar", "reader_inline", "recap_2013"]' servers: - url: https://public-api.wordpress.com/rest/v1.1 /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. servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/subscriptions-count/: get: operationId: getReadSubscriptionsCount summary: Returns the number of blog, comment and pending subscriptions. description: Returns the number of blog, comment and pending subscriptions. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: blogs: type: integer description: The amount of blogs subscribed to comments: type: integer description: The amount of comments subscribed to pending: type: integer description: The amount of pending subscriptions '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. servers: - url: https://public-api.wordpress.com/rest/v1.1 /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. servers: - url: https://public-api.wordpress.com/rest/v1.1 /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 servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/tags/{tag}: get: operationId: getReadTagsByTag summary: Get details about a specified tag. description: Get details about a specified tag. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: tag: type: object description: An object containing the tag ID, title, and endpoint. '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: tag in: path required: true schema: type: string description: The tag name - 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. servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/tags/{tag}/mine: get: operationId: getReadTagsByTagMine summary: Get the subscribed status of the user to a given tag. description: Get the subscribed status of the user to a given tag. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: subscribed: type: boolean description: Is the user subscribed to the tag? '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: tag in: path required: true schema: type: string description: The tag name - 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. servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/tags/{tag}/mine/delete: post: operationId: postReadTagsByTagMineDelete summary: Unsubscribe from a tag. description: Unsubscribe from a tag. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: subscribed: type: boolean description: Is the user subscribed to the tag? tags: type: array items: {} description: The list of subscribed tags after removal. removed_tag: type: integer description: The ID of the removed tag '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: tag in: path required: true schema: type: string description: The name of the tag to unsubscribe from. - 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. servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/tags/{tag}/mine/new: post: operationId: postReadTagsByTagMineNew summary: Subscribe to a new tag. description: Subscribe to a new tag. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: subscribed: type: boolean description: Is the user subscribed to the tag? tags: type: array items: {} description: The list of subscribed tags after addition. added_tag: type: integer description: The ID of the added tag '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: tag in: path required: true schema: type: string description: The name of the tag to subscribe to. - 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. servers: - url: https://public-api.wordpress.com/rest/v1.1 /read/tags/{tag}/posts: get: operationId: getReadTagsByTagPosts summary: Get a list of posts from a tag. description: Get a list of posts from a tag. 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. 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. comments_open: type: boolean description: Is the post open for comments? pings_open: type: boolean description: Is the post open for pingbacks, trackbacks? likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? comment_count: type: integer description: The number of comments for 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. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. 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). 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 current_user_can: type: object description: List of permissions. Note, deprecated in favor of `capabilities` capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post date_range: type: object description: date range covered by current results. number: type: integer description: The number of posts brought back by current query. posts: type: array items: {} description: An array of post objects. '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: tag in: path required: true schema: type: string description: The tag name - 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: 40. Default: 10.' - name: page in: query required: false schema: type: integer description: Return the Nth 1-indexed page of posts. - 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: 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: lang in: query required: false schema: type: string description: Return posts in the specified language. servers: - url: https://public-api.wordpress.com/rest/v1.1 /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.' servers: - url: https://public-api.wordpress.com/rest/v1.1 /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. servers: - url: https://public-api.wordpress.com/rest/v1.2 /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. servers: - url: https://public-api.wordpress.com/rest/v1.2 /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''' servers: - url: https://public-api.wordpress.com/rest/v1.2 /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? servers: - url: https://public-api.wordpress.com/rest/v1.2 /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. servers: - url: https://public-api.wordpress.com/rest/v1.2 /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. servers: - url: https://public-api.wordpress.com/rest/v1.2 /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. servers: - url: https://public-api.wordpress.com/rest/v1.2 /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? servers: - url: https://public-api.wordpress.com/rest/v1.2 /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. servers: - url: https://public-api.wordpress.com/rest/v1.2 /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) servers: - url: https://public-api.wordpress.com/rest/v1.2 /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) servers: - url: https://public-api.wordpress.com/rest/v1.2 /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 servers: - url: https://public-api.wordpress.com/rest/v1.2 /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 servers: - url: https://public-api.wordpress.com/rest/v1.2 /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 servers: - url: https://public-api.wordpress.com/rest/v1.2 /wpcom/v2/read/interests: get: operationId: getWpcomV2ReadInterests summary: GET /wpcom/v2/read/interests tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' servers: - url: https://public-api.wordpress.com /wpcom/v2/read/lists/{list_id}/export: get: operationId: getWpcomV2ReadListsbyListIdExport summary: GET /wpcom/v2/read/lists/{list_id}/export tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: list_id in: path required: true schema: type: string servers: - url: https://public-api.wordpress.com /wpcom/v2/read/sites/{blog_id}/notification-subscriptions/delete: post: operationId: postWpcomV2ReadSitesbyBlogIdNotificationSubscriptionsDelete summary: POST /wpcom/v2/read/sites/{blog_id}/notification-subscriptions/delete tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: blog_id in: path required: true schema: type: string servers: - url: https://public-api.wordpress.com /wpcom/v2/read/sites/{blog_id}/notification-subscriptions/new: post: operationId: postWpcomV2ReadSitesbyBlogIdNotificationSubscriptionsNew summary: POST /wpcom/v2/read/sites/{blog_id}/notification-subscriptions/new tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: blog_id in: path required: true schema: type: string servers: - url: https://public-api.wordpress.com /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/follow: post: operationId: postWpcomV2ReadSitesbyBlogIdPostsbyPostIdFollow summary: POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/follow tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: blog_id in: path required: true schema: type: string - name: post_id in: path required: true schema: type: string servers: - url: https://public-api.wordpress.com /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/forget: post: operationId: postWpcomV2ReadSitesbyBlogIdPostsbyPostIdForget summary: POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/forget tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: blog_id in: path required: true schema: type: string - name: post_id in: path required: true schema: type: string servers: - url: https://public-api.wordpress.com /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/mute: post: operationId: postWpcomV2ReadSitesbyBlogIdPostsbyPostIdMute summary: POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/mute tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: blog_id in: path required: true schema: type: string - name: post_id in: path required: true schema: type: string servers: - url: https://public-api.wordpress.com /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/remember: post: operationId: postWpcomV2ReadSitesbyBlogIdPostsbyPostIdRemember summary: POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/remember tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: blog_id in: path required: true schema: type: string - name: post_id in: path required: true schema: type: string servers: - url: https://public-api.wordpress.com /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/tags/add: post: operationId: postWpcomV2ReadSitesbyBlogIdPostsbyPostIdTagsAdd summary: POST /wpcom/v2/read/sites/{blog_id}/posts/{post_id}/tags/add tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: blog_id in: path required: true schema: type: string - name: post_id in: path required: true schema: type: string requestBody: content: application/json: schema: type: object properties: tags: type: array items: {} description: Tags to save. required: - tags servers: - url: https://public-api.wordpress.com /wpcom/v2/read/sites/{blog_id}/subscription-details: get: operationId: getWpcomV2ReadSitesbyBlogIdSubscriptionDetails summary: GET /wpcom/v2/read/sites/{blog_id}/subscription-details tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: blog_id in: path required: true schema: type: string servers: - url: https://public-api.wordpress.com /wpcom/v2/read/smart-feed/user-model: get: operationId: getWpcomV2ReadSmartFeedUserModel summary: GET /wpcom/v2/read/smart-feed/user-model tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' post: operationId: postWpcomV2ReadSmartFeedUserModel summary: POST /wpcom/v2/read/smart-feed/user-model tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' requestBody: content: application/json: schema: type: object properties: abstract: type: string description: Free-form text describing the user's interests. Omit to update fingerprint/style only. fingerprint: type: object description: Optional fingerprint overrides (latitude, longitude, location_precision, ...). style: type: object description: Optional style vector overrides (intensity, verbosity, ..., links_preference). delete: operationId: deleteWpcomV2ReadSmartFeedUserModel summary: DELETE /wpcom/v2/read/smart-feed/user-model tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' servers: - url: https://public-api.wordpress.com /wpcom/v2/read/streams/on-this-day: get: operationId: getWpcomV2ReadStreamsOnThisDay summary: GET /wpcom/v2/read/streams/on-this-day tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: page in: query required: false schema: type: integer default: 1 - name: month in: query required: false schema: type: integer - name: day in: query required: false schema: type: integer servers: - url: https://public-api.wordpress.com /wpcom/v2/read/subscriptions/{subscription_id}: get: operationId: getWpcomV2ReadSubscriptionsbySubscriptionId summary: GET /wpcom/v2/read/subscriptions/{subscription_id} tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: subscription_id in: path required: true schema: type: string servers: - url: https://public-api.wordpress.com /wpcom/v2/read/tags/cards: get: operationId: getWpcomV2ReadTagsCards summary: GET /wpcom/v2/read/tags/cards tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: sort in: query required: false schema: type: string default: popularity description: Sort order. - name: page in: query required: false schema: type: integer default: 1 description: Page number of the posts to return. - name: _locale in: query required: false schema: type: string default: en description: Locale of the client. - name: page_handle in: query required: false schema: type: string description: A page handle, returned from a previous API call as a next_page_handle property. This is the most efficient way to fetch the next page of results. - name: refresh in: query required: false schema: type: integer description: The number of times the cards have been refreshed. Provided by the client to enable different results on each refresh. 0 will provide the best results from the entire index. - name: tag_recs_per_card in: query required: false schema: type: integer description: The number of tag recommendations to return in card results - name: site_recs_per_card in: query required: false schema: type: integer description: The number of site recommendations to return in card results - name: tags in: query required: true schema: type: array items: {} description: Tags to fetch cards for. servers: - url: https://public-api.wordpress.com /wpcom/v2/read/tags/posts: get: operationId: getWpcomV2ReadTagsPosts summary: GET /wpcom/v2/read/tags/posts tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: sort in: query required: false schema: type: string default: date description: Sort order. - name: number in: query required: false schema: type: integer default: 10 description: Number of posts to return. - name: page in: query required: false schema: type: integer default: 1 description: Page number of the posts to return. - name: _locale in: query required: false schema: type: string default: en description: Locale of the client. - name: page_handle in: query required: false schema: type: string description: A page handle, returned from a previous API call as a next_page_handle property. This is the most efficient way to fetch the next page of results. - name: tags in: query required: true schema: type: array items: {} description: Tags to fetch posts for. servers: - url: https://public-api.wordpress.com /wpcom/v2/read/tags/{tag}/cards: get: operationId: getWpcomV2ReadTagsbyTagCards summary: GET /wpcom/v2/read/tags/{tag}/cards tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: tag in: path required: true schema: type: string - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: sort in: query required: false schema: type: string default: popularity description: Sort order. - name: page in: query required: false schema: type: integer default: 1 description: Page number of the posts to return. - name: _locale in: query required: false schema: type: string default: en description: Locale of the client. - name: page_handle in: query required: false schema: type: string description: A page handle, returned from a previous API call as a next_page_handle property. This is the most efficient way to fetch the next page of results. - name: refresh in: query required: false schema: type: integer description: The number of times the cards have been refreshed. Provided by the client to enable different results on each refresh. 0 will provide the best results from the entire index. - name: tag_recs_per_card in: query required: false schema: type: integer description: The number of tag recommendations to return in card results - name: site_recs_per_card in: query required: false schema: type: integer description: The number of site recommendations to return in card results - name: age_based_decay in: query required: false schema: type: number description: A value above 0 and under 1 defining how much to penalize older posts. A value of 0.1 would mean that posts are devalued by 90% per day of age. servers: - url: https://public-api.wordpress.com /wpcom/v2/read/tags/{tag}/posts: get: operationId: getWpcomV2ReadTagsbyTagPosts summary: GET /wpcom/v2/read/tags/{tag}/posts tags: - read responses: '200': description: OK '401': description: Authentication required content: application/json: schema: $ref: '#/components/schemas/WPRestError' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/WPRestError' parameters: - name: tag in: path required: true schema: type: string - name: before in: query required: false schema: type: string format: date-time description: Limit response to posts published before a given ISO8601 compliant date. - name: after in: query required: false schema: type: string format: date-time description: Limit response to posts published after a given ISO8601 compliant date. - name: sort in: query required: false schema: type: string default: date description: Sort order. - name: number in: query required: false schema: type: integer default: 10 description: Number of posts to return. - name: page in: query required: false schema: type: integer default: 1 description: Page number of the posts to return. - name: _locale in: query required: false schema: type: string default: en description: Locale of the client. - name: page_handle in: query required: false schema: type: string description: A page handle, returned from a previous API call as a next_page_handle property. This is the most efficient way to fetch the next page of results. servers: - url: https://public-api.wordpress.com components: schemas: Error: type: object description: WordPress.com REST API error envelope (observed live). properties: error: type: string examples: - not_found message: type: string WPRestError: type: object description: WordPress REST API error envelope (observed on public-api.wordpress.com). properties: code: type: string example: rest_unauthorized message: type: string example: Authentication required. data: type: object properties: status: type: integer example: 401 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 ' x-refined-from: - automattic-wordpress-com-rest-v1-1-openapi.yml - automattic-wordpress-com-rest-v1-2-openapi.yml - automattic-wordpress-com-rest-v1-3-openapi.yml - automattic-wordpress-com-wpcom-v2-openapi.yml