openapi: 3.1.0 info: title: WordPress.com REST API v1.1 version: v1.1 description: 'The WordPress.com REST API, operated by Automattic. Derived by API Evangelist from Automattic''s own self-describing help document at https://public-api.wordpress.com/rest/v1.1/help (Accept: application/json), which publishes every endpoint''s method, path, description, path/query/body parameters and response fields. Security schemes come from https://public-api.wordpress.com/.well-known/openid-configuration. The error envelope was observed live.' termsOfService: https://wordpress.com/tos/ contact: name: WordPress.com Developer Resources url: https://developer.wordpress.com/docs/api/ x-derived-from: https://public-api.wordpress.com/rest/v1.1/help x-derived-by: API Evangelist enrichment pipeline servers: - url: https://public-api.wordpress.com/rest/v1.1 tags: - name: alternates - name: batch - name: comments - name: comments-tree - name: follow - name: freshly-pressed - name: general - name: import - name: insights - name: manual-payments - name: marketing - name: me - name: media - name: menus - name: notifications - name: people - name: posts - name: protect - name: read - name: sharing - name: site - name: sites - name: stats - name: taxonomy - name: tests - name: themes - name: users - name: videos - name: wrangler paths: /batch/: get: operationId: getBatch summary: Run several GET endpoints and return them as an array. description: Run several GET endpoints and return them as an array. tags: - batch responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: urls in: query required: false schema: type: array items: {} description: Array of endpoints to call /freshly-pressed/: get: operationId: getFreshlyPressed summary: Get a list of Freshly Pressed posts. description: Get a list of Freshly Pressed posts. tags: - freshly-pressed 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, with added Freshly Pressed info, in the editorial property for each post. '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. Default: 10. Limit: 40. Default: 10.' - name: after in: query required: false schema: type: string format: date-time description: Return posts picked on or after the specified datetime. - name: before in: query required: false schema: type: string format: date-time description: Return posts picked on or before the specified datetime. - name: content_width in: query required: false schema: type: integer description: 'When in context=display, images/embeds in post content will be set to the desired maximum width. Default: 480.' - name: thumb_width in: query required: false schema: type: integer description: 'Desired width of thumbnail images, in pixels. Default: 252.' - name: thumb_height in: query required: false schema: type: integer description: 'Desired height of thumbnail images, in pixels. Default: 160.' - name: format in: query required: false schema: type: string description: 'Output format. Accepts "json" or "rss". Default: json. Default: ''json''.' /insights: get: operationId: getInsights summary: Get a list of stats/metrics/insights that the current user has access to. description: Get a list of stats/metrics/insights that the current user has access to. tags: - insights responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: Unique ID for a WordPress.com Application name: type: string description: Name of WordPress.com Application insights: type: array items: {} description: List of metrics today: type: array items: {} description: A list of today's metrics has_custom: type: boolean description: Does a report have custom (whitelisted) stats? '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. /insights/{slug}: get: operationId: getInsightsBySlug summary: Get raw data for a particular graph. description: Get raw data for a particular graph. tags: - insights responses: '200': description: OK content: application/json: schema: type: object properties: points: type: integer description: The number of datapoints returned. data: type: array items: {} description: Numbers of actions by timestamp. summaries: type: array items: {} description: Summary for the current day/week/month/year/decade, including % change. started_tracking: type: string description: The date stats began collecting. '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: slug in: path required: true schema: type: string description: Report slug (rest-api-calls, rest-api-writes, etc). If a slash is present, it must be urlencoded. - 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: unit in: query required: false schema: type: string description: By default, weekly stats are provided in the data array. You can also pass daily, monthly, or cumulative to get totals for different time periods. - name: after in: query required: false schema: type: integer description: Return data only since the specified UNIX time. - name: before in: query required: false schema: type: integer description: Return data collected on or before the specified UNIX time. /jetpack-blogs/: get: operationId: getJetpackBlogs summary: Get a list of your Jetpack-enabled blogs. description: Get a list of your Jetpack-enabled blogs. tags: - site responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? blogs: type: array items: {} description: List of Jetpack-enabled blogs '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. /jetpack-blogs/{blog_id}/: get: operationId: getJetpackBlogsByBlogId summary: Get Jetpack settings. description: Get Jetpack settings. tags: - site responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? settings: type: array items: {} description: Available 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: blog_id in: path required: true schema: type: integer description: The blog 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. post: operationId: postJetpackBlogsByBlogId summary: Update Jetpack settings. description: Update Jetpack settings. tags: - site responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? message: type: string description: Message describing the error code. '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: blog_id in: path required: true schema: type: integer description: The blog 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. requestBody: required: false content: application/json: schema: type: object properties: monitor_active: type: string description: if true, monitoring will be enabled email_notifications: type: string description: If true, email notifications will be enabled wp_note_notifications: type: string description: If true, WordPress.com notifications will be enabled /jetpack-blogs/{blog_id}/mine/delete: post: operationId: postJetpackBlogsByBlogIdMineDelete summary: Disconnect a Jetpack-enabled blog from a WordPress.com user. description: Disconnect a Jetpack-enabled blog from a WordPress.com user. tags: - site responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? message: type: string description: Message describing the error code. '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: blog_id in: path required: true schema: type: integer description: The blog 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. /jetpack-blogs/{blog_id}/test-connection: get: operationId: getJetpackBlogsByBlogIdTestConnection summary: Test connection of a Jetpack blog. description: Test connection of a Jetpack blog. tags: - site responses: '200': description: OK content: application/json: schema: type: object properties: connected: type: boolean description: Is the blog connected. message: type: string description: A notice to the user. error_code: type: string description: Present only when not connected and the cause is known. "xmlrpc_request_blocked" means the connection test reached the site but was rejected (e.g. firewall/WAF), as opposed to an invalid connection token. site_http_status: type: integer description: 'Present only alongside error_code: the HTTP status (4xx/5xx) the site returned for the connection test.' '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: blog_id in: path required: true schema: type: integer description: The blog id - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: is_stale_connection_healthy in: query required: false schema: type: boolean description: The current state (possibly stale) of connection health of the Jetpack site. /jetpack-blogs/{dest_blog_id}/source/{source_blog_id}/migrate/: post: operationId: postJetpackBlogsByDestBlogIdSourceBySourceBlogIdMigrate summary: Migrate followers from a WordPress.com blog to a Jetpack-enabled blog. description: Migrate followers from a WordPress.com blog to a Jetpack-enabled blog. tags: - site responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? settings: type: array items: {} description: Available 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: dest_blog_id in: path required: true schema: type: integer description: The Jetpack-enabled blog where followers are moving. - name: source_blog_id in: path required: true schema: type: integer description: The WordPress.com blog where followers currently reside. - 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. /manual_payment: post: operationId: postManualPayment summary: Pay a manual payment description: Pay a manual payment tags: - manual-payments 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: uid in: query required: false schema: type: string description: Unique ID of payment /manual_payment/%s: get: operationId: getManualPaymentS summary: Return a payment object containing a collection of items that need to be paid for together. description: Return a payment object containing a collection of items that need to be paid for together. tags: - manual-payments 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: uid in: query required: false schema: type: string description: Unique ID of payment /marketing/survey: post: operationId: postMarketingSurvey summary: Submit a marketing survey. description: Submit a marketing survey. tags: - marketing responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the survey successfully submitted? err: type: string description: Error message if success is false. '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: site_id: type: integer description: WPCOM site ID associated with survey (if applicable) - optional survey_id: type: string description: ID of the survey that is being submitted survey_responses: type: array items: {} description: Reponses to survey /me: get: operationId: getMe summary: Get metadata about the current user. description: Get metadata about the current user. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: Numeric user ID display_name: type: string description: The name to display for a user username: type: string description: Login name of a user email: type: string description: Email address primary_blog: type: integer description: ID of a user's primary blog primary_blog_url: type: string description: URL to primary blog primary_blog_is_jetpack: type: boolean description: Is the primary blog a jetpack site has_jetpack_partner_access: type: boolean description: True if the user can access the Jetpack Partner API jetpack_partner_types: type: array items: {} description: The partner types of the partner accounts this user has access to. language: type: string description: User language setting locale_variant: type: string description: User locale variant, if any token_site_id: type: integer description: ID of the user's site that the current token provides access to token_scope: type: array items: {} description: Scopes that the current access token provides access to token_client_id: type: integer description: Client ID of the application that the current access token was issued to avatar_URL: type: string format: uri description: Gravatar image URL profile_URL: type: string format: uri description: Gravatar Profile URL verified: type: boolean description: Has the account been verified (via WordPress.com Connect)? email_verified: type: boolean description: Has the account been verified (via email)? date: type: string format: date-time description: Datetime the user joined WordPress.com site_count: type: integer description: Number of sites where the user is a member jetpack_site_count: type: integer description: Number of Jetpack sites where the user is a member atomic_site_count: type: integer description: Number of atomic sites where the user is a member garden_site_count: type: integer description: Number of garden sites where the user is a member visible_site_count: type: integer description: Number of sites where the user is a member, set to visible in user settings jetpack_visible_site_count: type: integer description: Number of Jetpack sites where the user is a member, set to visible in user settings atomic_visible_site_count: type: integer description: Number of atomic sites where the user is a member, set to visible in user settings garden_visible_site_count: type: integer description: Number of garden sites where the user is a member, set to visible in user settings has_unseen_notes: type: boolean description: Does the account have unseen notifications newest_note_type: type: string description: notification type slug for newest unseen notification or blank if no unseen notes phone_account: type: boolean description: If this is a phone account then the user doenst have a verified email address meta: type: object description: Metadata is_valid_google_apps_country: type: boolean description: Is the user somewhere where Google Workspace can be purchased? user_ip_country_code: type: string description: Country code for the user’s IP address logout_URL: type: string format: uri description: URL to sign user out of WordPress.com is_new_reader: type: boolean description: Is the user new to the Reader? social_login_connections: type: array items: {} description: Array of active social login connections social_signup_service: type: string description: The name of the social service this account is linked to abtests: type: object description: User's assigned A/B test variations, where the key is the test name and the value is the variation lasagna_jwt: type: string description: Lasagna service JWT i18n_empathy_mode: type: boolean description: Has the user enabled I18n empathy mode? use_fallback_for_incomplete_languages: type: boolean description: Should UI be displayed in default locale for languages with incomplete translations had_hosting_trial: type: boolean description: Has the user had a hosting trial is_subscription_only: type: boolean description: Is the user a subscription only user '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: 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: abtests in: query required: false schema: type: string description: Comma separated names of A/B tests the user may have an assigned variation for /me/billing-history: get: operationId: getMeBillingHistory summary: Get list of current user's billing history and upcoming charges. description: Get list of current user's billing history and upcoming charges. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: billing_history: type: array items: {} description: Limited list of current user's previous purchases. billing_history_total: type: integer description: Number of current user's previous purchases. upcoming_charges: type: array items: {} description: List of current user's upcoming charges. '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. /me/connected-applications/: get: operationId: getMeConnectedApplications summary: Get current user's connected applications. description: Get current user's connected applications. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: connected_applications: type: array items: {} description: A list of current user's connected applications. '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. /me/connected-applications/{ID}: get: operationId: getMeConnectedApplicationsById summary: Get one of current user's connected applications. description: Get one of current user's connected applications. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: connection_ID: type: integer description: The ID of the connection. title: type: string description: The name of the application. icon: type: string format: uri description: The URL the application's icon. URL: type: string format: uri description: The URL of the application. description: type: string description: The description provided by the application's creator. permissions: type: array items: {} description: An array of permissions that the application has. authorized: type: string description: The date when the application was authorized. blog: type: string description: An array of information about a blog the application has access 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: ID in: path required: true schema: type: integer description: The ID of the connected application's connection. - 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. /me/connected-applications/{ID}/delete: post: operationId: postMeConnectedApplicationsByIdDelete summary: Delete one of current user's connected application access tokens. description: Delete one of current user's connected application access tokens. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the application access token successfully deleted? '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: ID in: path required: true schema: type: integer description: The ID of the connected application's connection. - 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. /me/keyring-connections/: get: operationId: getMeKeyringConnections summary: Get a list of all the keyring connections associated with the current user. description: Get a list of all the keyring connections associated with the current user. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: connections: type: array items: {} description: List of Keyring connection. See /me/keyring-connection/%d for individual connection descriptions. '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: site in: query required: false schema: type: string description: Optional. Only return connections for the given site. - name: force_external_users_refetch in: query required: false schema: type: boolean description: True to force refetch external users, default false - name: force_connection_test in: query required: false schema: type: boolean description: True to force testing the connection and not use the cache, default false /me/keyring-connections/{keyring_connection_ID}: get: operationId: getMeKeyringConnectionsByKeyringConnectionId summary: Get a single Keyring connection that the current user has setup. description: Get a single Keyring connection that the current user has setup. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the Keyring connection. user_ID: type: integer description: The user ID that the Keyring connection belongs to. type: type: string description: The type of service that this connection belongs to (publicize or other). service: type: string description: The name of the service associated with this Keyring connection. label: type: string description: The display friendly name of the service associated with this Keyring connection. issued: type: string format: date-time description: Date when the Keyring connection was first established. expires: type: string format: date-time description: Date when the Keyring connection expires, if any. external_ID: type: string description: An identifier for the user on the third-party service. external_name: type: string description: A display friendly identifier for the user on the third-party service, usually a username or login name. external_display: type: string description: A display friendly identifier for the user on the third-party service, typically defined by the user and the one that the user has chosen as their preferred identifier. external_profile_picture: type: string description: The URL to the user's profile picture on the third-party service. additional_external_users: type: array items: {} description: Array of additional external user objects (external_ID, external_name, external_display, external_profile_picture, external_category, external_meta) available for this Keyring connection (e.g. for Facebook pages) status: type: string description: The current status of the connection to the third-party service. "ok" for connections with no problems, and "broken" for connections that need to be fixed fixed. refresh_url: type: string format: uri description: The URL to refresh the Keyring token. sites: type: array items: {} description: An array of site IDs currently using this Keyring connection. meta: type: object description: Object with links to the publicize connection, help links and related items. '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: keyring_connection_ID in: path required: true schema: type: integer description: The connection ID to take action on. - 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. /me/keyring-connections/{keyring_connection_ID}/delete: post: operationId: postMeKeyringConnectionsByKeyringConnectionIdDelete summary: Delete the Keyring connection (and associated token) with the provided ID. Also deletes all associated publicize connect description: Delete the Keyring connection (and associated token) with the provided ID. Also deletes all associated publicize connections. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the Keyring connection. deleted: type: boolean description: True if successfully deleted. '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: keyring_connection_ID in: path required: true schema: type: integer description: The connection ID to take action on. - 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. /me/likes/: get: operationId: getMeLikes summary: Get a list of the current user's likes. description: Get a list of the current user's likes. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The total number of likes for this token. likes: type: array items: {} description: An array of likes for this token. '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 likes to return. Limit: 100. Default: 20.' - name: offset in: query required: false schema: type: integer description: The index to start counting from. - name: page in: query required: false schema: type: integer description: 'Return the Nth 1-indexed page of likes. Takes precedence over the offset parameter. Limit: 10.' - name: order in: query required: false schema: type: string enum: - DESC - ASC description: 'DESC: (default) (default) Return likes newest to oldest.; ASC: Return likes oldest to newest.' - name: after in: query required: false schema: type: string format: date-time description: Return likes dated on or after the specified datetime. - name: before in: query required: false schema: type: string format: date-time description: Return likes dated on or before the specified datetime. /me/mailboxes: get: operationId: getMeMailboxes summary: List all email mailboxes the current user has access to across all manageable sites. description: List all email mailboxes the current user has access to across all manageable sites. tags: - me responses: '200': description: OK content: application/json: schema: type: object properties: mailboxes: type: array items: {} description: List of mailbox records with account_type, domain, mailbox, last_access_time '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: 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: include_all_managed_domains in: query required: false schema: type: boolean description: Include domains on managed sites that the current user does not own. Defaults to false, which returns only domains the user pays for. /me/posts: get: operationId: getMePosts summary: Get a list of posts across all the user's sites. description: Get a list of posts across all the user's sites. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: Meta information about the results. The next_page property, if present, contains a handle that will fetch the next page of results, assuming the next query uses the same criteria as the current query. 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. posts: type: array items: {} description: List of posts found: type: integer description: The total number of posts found. Decreases as you advance a list with a page_handle. '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: author in: query required: false schema: type: integer description: The ID of the author or empty for `all authors` - name: number in: query required: false schema: type: integer description: 'The number of posts to return. Limit: 20. Default: 20.' - name: offset in: query required: false schema: type: integer description: 'The index to start counting from. Limit: 199.' - name: page in: query required: false schema: type: integer description: 'Return the Nth 1-indexed page of posts. Takes precedence over the offset parameter. Limit: 10.' - name: page_handle in: query required: false schema: type: string description: A page handle, returned from a previous API call as a meta.next_page property. This is the most efficient way to fetch the next page of results. - name: order in: query required: false schema: type: string enum: - DESC - ASC description: 'DESC: (default) Return posts in descending order. For dates, that means newest to oldest.; ASC: Return posts in ascending order. For dates, that means oldest to newest.' - name: order_by in: query required: false schema: type: string enum: - date - modified description: 'date: (default) Order by the created time of each post (search queries will sort by relevance).; modified: Order by the modified time (gmt) of each post. (search queries will sort by relevance)' - name: after in: query required: false schema: type: string format: date-time description: Return posts dated after the specified datetime. - name: before in: query required: false schema: type: string format: date-time description: Return posts dated before the specified datetime. - name: modified_after in: query required: false schema: type: string format: date-time description: Return posts modified after the specified datetime. - name: modified_before in: query required: false schema: type: string format: date-time description: Return posts modified before the specified datetime. - name: type in: query required: false schema: type: string enum: - post - page description: 'post: (default) Return post objects; page: Return page objects' - name: status in: query required: false schema: type: string description: 'Comma-separated list of statuses for which to query, including any of: "publish", "private", "draft", "pending", "future", and "trash", or simply "any". Defaults to "publish"' - name: search in: query required: false schema: type: string description: 'Search query checked against `title`, `content`, `category.name`, `tag.name`, and `author`, and will return results sorted by relevance. Limit: 250 characters' - name: lang in: query required: false schema: type: string description: The search language, uses user interface language by default - name: sites in: query required: false schema: type: string description: Optional comma-separated list of specific site IDs to further limit results - name: site_visibility in: query required: false schema: type: string enum: - all - visible - hidden description: 'all: (default) Return posts from all sites user is a member of, both visible and hidden; visible: Only return posts from sites set to visible for the user; hidden: Only return posts from sites set to hidden for the user' /me/preferences/: get: operationId: getMePreferences summary: Get the current user's settings. description: Get the current user's settings. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: calypso_preferences: type: object description: Get the preferences associated with a user's WordPress.com Calypso experience. '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: postMePreferences summary: Update the current user's preferences. description: Update the current user's preferences. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: calypso_preferences: type: object description: Get the preferences associated with a user's WordPress.com Calypso experience. '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: calypso_preferences: type: object description: Set the preferences associated with a user's WordPress.com Calypso experience. /me/publicize-connections/: get: operationId: getMePublicizeConnections summary: Get a list of publicize connections that the current user has set up. description: Get a list of publicize connections that the current user has set up. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: connections: type: array items: {} description: List of publicize connections. See /me/publicize-connections/%d for individual connection descriptions. '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: service in: query required: false schema: type: string description: Optional. Only return connections for the given services. - name: keyring_connection_ID in: query required: false schema: type: integer description: Optional. Only return connections for the given keyring connection ID. - name: site in: query required: false schema: type: string description: Optional. Only return connections for the given site that the user can publicize to. Includes global connections owned by other users on the site. /me/publicize-connections/{publicize_connection_ID}: get: operationId: getMePublicizeConnectionsByPublicizeConnectionId summary: Get a single publicize connection that the current user has set up. description: Get a single publicize connection that the current user has set up. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the publicize connection. site_ID: type: integer description: The site ID that the publicize connection belongs to. user_ID: type: integer description: The user ID that the publicize connection belongs to. keyring_connection_ID: type: integer description: The ID of the associated keyring connection. keyring_connection_user_ID: type: integer description: The ID of the user who owns the associated keyring connection. shared: type: boolean description: Is this connection shared? service: type: string description: The name of the service associated with this publicize connection. label: type: string description: The display friendly name of the service associated with this publicize connection. issued: type: string format: date-time description: Date when the publicize connection was first established. expires: type: string format: date-time description: Date when the publicize connection expires, if any. external_ID: type: string description: An identifier for the user on the third-party service. external_name: type: string description: A display friendly identifier for the user on the third-party service, usually a username or login name. external_display: type: string description: A display friendly identifier for the user on the third-party service, typically defined by the user and the one that the user has chosen as their preferred identifier. external_profile_picture: type: string description: The URL to the profile picture associated with the third-party account, if the service provides one. external_profile_URL: type: string description: The URL to the external profile on the third-party website, if the service provides one. external_follower_count: type: string description: The number of followers that the user has on the third-party service, if the service returns a number. URL: type: string description: URL to the user's profile on the third-party service. NULL if there is no URL to link to. status: type: string description: The current status of the connection to the third-party service. "ok" for connections with no problems, and "broken" for connections that need to be fixed fixed. refresh_URL: type: string format: uri description: The URL to refresh the keyring token. meta: type: object description: Object with links to the publicize connection, help links and related items. '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: publicize_connection_ID in: path required: true schema: type: integer description: The publicize connection ID to fetch. - 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: postMePublicizeConnectionsByPublicizeConnectionId summary: Update a single publicize connection belonging to the current user. description: Update a single publicize connection belonging to the current user. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the publicize connection. site_ID: type: integer description: The site ID that the publicize connection belongs to. user_ID: type: integer description: The user ID that the publicize connection belongs to. keyring_connection_ID: type: integer description: The ID of the associated keyring connection. keyring_connection_user_ID: type: integer description: The ID of the user who owns the associated keyring connection. shared: type: boolean description: Is this connection shared? service: type: string description: The name of the service associated with this publicize connection. label: type: string description: The display friendly name of the service associated with this publicize connection. issued: type: string format: date-time description: Date when the publicize connection was first established. expires: type: string format: date-time description: Date when the publicize connection expires, if any. external_ID: type: string description: An identifier for the user on the third-party service. external_name: type: string description: A display friendly identifier for the user on the third-party service, usually a username or login name. external_display: type: string description: A display friendly identifier for the user on the third-party service, typically defined by the user and the one that the user has chosen as their preferred identifier. external_profile_picture: type: string description: The URL to the profile picture associated with the third-party account, if the service provides one. external_profile_URL: type: string description: The URL to the external profile on the third-party website, if the service provides one. external_follower_count: type: string description: The number of followers that the user has on the third-party service, if the service returns a number. URL: type: string description: URL to the user's profile on the third-party service. NULL if there is no URL to link to. status: type: string description: The current status of the connection to the third-party service. "ok" for connections with no problems, and "broken" for connections that need to be fixed fixed. refresh_URL: type: string format: uri description: The URL to refresh the keyring token. meta: type: object description: Object with links to the publicize connection, help links and related items. '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: publicize_connection_ID in: path required: true schema: type: integer description: The publicize connection ID to take action on. - 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: shared: type: boolean description: Optional. True to make the connection global for all users of the site. False to ungloblalize it. external_user_ID: type: string description: Optional. Use to associate a non-default external user (from the keyring connection) with this publicize connection. e.g. associate a Facebook page. False to reset to default. /me/publicize-connections/{publicize_connection_ID}/delete: post: operationId: postMePublicizeConnectionsByPublicizeConnectionIdDelete summary: Delete the specified publicize connection. description: Delete the specified publicize connection. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the publicize connection. deleted: type: boolean description: True if successfully deleted. '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: publicize_connection_ID in: path required: true schema: type: integer description: The connection ID to take action on. - 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. /me/settings/: get: operationId: getMeSettings summary: Get the current user's settings. description: Get the current user's settings. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: enable_translator: type: boolean description: Is in-page translation enabled for the current user? surprise_me: type: boolean description: Is "Surprise Me" mode enabled for the current user? post_post_flag: type: boolean description: Is Post-post is enabled for the current user? holidaysnow: type: boolean description: Is holiday snow enabled for the current user? - (deprecated) user_login: type: string description: Get the current user's username. display_name: type: string description: Get the current user's display name. first_name: type: string description: Get the current user's first name. last_name: type: string description: Get the current user's last name. description: type: string description: Get the current user's About Me HTML. user_email: type: string description: Get the current user's email address. user_email_change_pending: type: boolean description: Is an email change pending for the current user? new_user_email: type: string description: Get the email address a pending change would switch to. user_URL: type: string format: uri description: Get the current user's public profile URL setting. language: type: string description: Get the current user's interface language code. avatar_URL: type: string format: uri description: Get the current user's Gravatar image URL. primary_site_ID: type: integer description: Get the current user's primary site ID. comment_like_notification: type: boolean description: Are comment likes notification emails enabled for the current user? mentions_notification: type: boolean description: Are mentions notification emails enabled for the current user? subscription_delivery_email_default: type: string description: Get the default email delivery frequency for new subscriptions (never, instantly, daily or weekly). subscription_delivery_jabber_default: type: boolean description: Will new follows include jabber subscription? subscription_delivery_mail_option: type: string description: 'Get how subscription emails should be formatted: as HTML (html) or as plain text (text).' subscription_delivery_day: type: integer description: 'Get when subscription emails should be delivered: 0: Sunday, 1: Monday, etc. (Applies when subscription_delivery_email_default equals weekly.)' subscription_delivery_hour: type: integer description: Get at what UTC hour of the day subscription emails should be delivered (0 = midnight, 1 = 1am, etc.). Must be between 0 and 23, inclusive. (Applies when subscription_delivery_email_default equals daily or weekly.) subscription_delivery_email_blocked: type: boolean description: Are all WordPress.com subscription emails blocked for the current user? two_step_enabled: type: boolean description: Is two-step enabled for the current user? two_step_sms_enabled: type: boolean description: Is the user using SMS as their second factor (instead of a code generating app)? two_step_backup_codes_printed: type: boolean description: Has the current user printed their backup codes? two_step_sms_country: type: string description: Get the country for SMS backup for the current user (e.g. "US"). two_step_sms_phone_number: type: string description: Get the phone number for SMS backup for the current user (should not include + or country code). two_step_app_enabled: type: boolean description: Is the user using an authenticator app as their second factor? two_step_security_key_enabled: type: boolean description: Is the user using a security key (passkey) as a second factor? two_step_enhanced_security: type: boolean description: Did the user opted in for enhanced two step account protection? calypso_preferences: type: object description: Get the preferences associated with a user's WordPress.com Calypso experience. jetpack_connect: type: array items: {} description: Get the urls of the jetpack sites the user have attempted to connect from Calypso locale_variant: type: string description: The locale variant locale code, if any. tracks_opt_out: type: boolean description: Did the user opted out of Tracks? woomobile_crash_reporting_opt_out: type: string description: Has the user opted out of crash reporting? null = no choice recorded. i18n_empathy_mode: type: boolean description: Has the user enabled I18n empathy mode? use_fallback_for_incomplete_languages: type: boolean description: Should UI be displayed in default locale for languages with incomplete translations gravatar_profile_hidden: type: boolean description: Is the gravatar profile hidden for this user? is_dev_account: type: boolean description: Is this a developer account? last_admin_activity_timestamp: type: string description: Get Unix timestamp the user was last seen in the admin. advertising_targeting_opt_out: type: boolean description: Did the user opt out of advertising targeting? p2_disable_autofollow_on_comment: type: boolean description: Don't automatically subscribe to notifications for a P2 post whenever you leave a comment on it. mcp_abilities: type: array items: {} description: List of MCP Abilities enabled. ai_assistant: type: boolean description: User-level AI assistant override. True if explicitly enabled, false if explicitly disabled, null if not set (falls back to site-level). '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: postMeSettings summary: Update the current user's settings. description: Update the current user's settings. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: enable_translator: type: boolean description: Is in-page translation enabled for the current user? surprise_me: type: boolean description: Is "Surprise Me" mode enabled for the current user? post_post_flag: type: boolean description: Is Post-post enabled for the current user? holidaysnow: type: boolean description: Is holiday snow enabled for the current user? - (deprecated) password: type: string description: Always an empty string. display_name: type: string description: Get the current user's display name. first_name: type: string description: Get the current user's first name. last_name: type: string description: Get the current user's last name. description: type: string description: Get the current user's About Me HTML. user_email: type: string description: Get the current user's email address. user_email_change_pending: type: boolean description: Is an email change pending for the current user? new_user_email: type: string description: Get the email address a pending change would switch to. user_URL: type: string format: uri description: Get the current user's public profile URL setting. language: type: string description: Get the current user's interface language code. primary_site_ID: type: integer description: Get the current user's primary site ID. comment_like_notification: type: boolean description: Are comment likes notification emails enabled for the current user? mentions_notification: type: boolean description: Are mentions notification emails enabled for the current user? subscription_delivery_email_default: type: string description: Get the default email delivery frequency for new subscriptions (never, instantly, daily or weekly). subscription_delivery_jabber_default: type: boolean description: Should new follows include jabber subscription? subscription_delivery_mail_option: type: string description: 'Get how subscription emails should be formatted: as HTML (html) or as plain text (text).' subscription_delivery_day: type: integer description: 'Get when subscription emails should be delivered: 0: Sunday, 1: Monday, etc. (Applies when subscription_delivery_email_default equals weekly.)' subscription_delivery_hour: type: integer description: Get at what UTC hour of the day subscription emails should be delivered (0 = midnight, 1 = 1am, etc.). Must be between 0 and 23, inclusive. (Applies when subscription_delivery_email_default equals daily or weekly.) subscription_delivery_email_blocked: type: boolean description: Are all WordPress.com subscription emails blocked for the current user? two_step_backup_codes_printed: type: boolean description: Has the current user printed their backup codes? two_step_sms_country: type: string description: Get the country for SMS backup for the current user (e.g. "US"). two_step_sms_phone_number: type: string description: Get the phone number for SMS backup for the current user (should not include + or country code). calypso_preferences: type: object description: Get the preferences associated with a user's WordPress.com Calypso experience. jetpack_connect: type: array items: {} description: Get the urls of the jetpack sites the user have attempted to connect from Calypso locale_variant: type: string description: The locale variant locale code, if any. tracks_opt_out: type: boolean description: Did the user opted out of Tracks? woomobile_crash_reporting_opt_out: type: string description: Has the user opted out of crash reporting? null = no choice recorded. i18n_empathy_mode: type: boolean description: Has the user enabled I18n empathy mode? use_fallback_for_incomplete_languages: type: boolean description: Should UI be displayed in default locale for languages with incomplete translations gravatar_profile_hidden: type: boolean description: Is the gravatar profile hidden for this user? is_dev_account: type: boolean description: Is this a developer account? last_admin_activity_timestamp: type: string description: Get the Unix timestamp the user was last seen in the admin. advertising_targeting_opt_out: type: boolean description: Did the user opt out of advertising targeting? p2_disable_autofollow_on_comment: type: boolean description: Don't automatically subscribe to notifications for a P2 post whenever you leave a comment on it. mcp_abilities: type: array items: {} description: List of MCP Abilities enabled. ai_assistant: type: boolean description: User-level AI assistant override. True if explicitly enabled, false if explicitly disabled, null if not set (falls back to site-level). '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: enable_translator: type: boolean description: Is in-page translation enabled for the current user? surprise_me: type: boolean description: Is "Surprise Me" mode enabled for the current user? post_post_flag: type: boolean description: Is Post-post enabled for the current user? holidaysnow: type: boolean description: Is holiday snow enabled for the current user? - (deprecated) password: type: string description: Set the current user's password. display_name: type: string description: Set the current user's display name. first_name: type: string description: Set the current user's first name. last_name: type: string description: Set the current user's last name. description: type: string description: Set the current user's About Me HTML. user_email: type: string description: Set this value to initiate a change to the current user's email address. user_email_change_pending: type: boolean description: Is a change to the user's email address pending? (The client may set this to false to cancel a pending change.) user_URL: type: string format: uri description: Set the current user's public profile URL setting. language: type: string description: Set the current user's interface language code. primary_site_ID: type: integer description: Set the current user's primary site ID. comment_like_notification: type: boolean description: Are comment likes notification emails enabled for the current user? mentions_notification: type: boolean description: Are mentions notification emails enabled for the current user? subscription_delivery_email_default: type: string description: Set the default email delivery frequency for new subscriptions (never, instantly, daily or weekly). subscription_delivery_jabber_default: type: boolean description: Is jabber subscription enabled for new follows? subscription_delivery_mail_option: type: string description: 'Set how subscription emails should be formatted: as HTML (html) or as plain text (text).' subscription_delivery_day: type: integer description: 'Set when subscription emails should be delivered: 0: Sunday, 1: Monday, etc. (Applies when subscription_delivery_email_default equals weekly.)' subscription_delivery_hour: type: integer description: Set at what UTC hour of the day subscription emails should be delivered (0 = midnight, 1 = 1am, etc.). Must be between 0 and 23, inclusive. (Applies when subscription_delivery_email_default equals daily or weekly.) subscription_delivery_email_blocked: type: boolean description: Are all WordPress.com subscription emails blocked for the current user? two_step_backup_codes_printed: type: boolean description: Has the current user printed their backup codes? two_step_sms_country: type: string description: Set the country for SMS backup for the current user (e.g. "US"). two_step_sms_phone_number: type: string description: Set the phone number for SMS backup for the current user (should not include + or country code). two_step_enhanced_security: type: boolean description: Should we enforce the use of security keys (passkeys) for this account? calypso_preferences: type: object description: Set the preferences associated with a user's WordPress.com Calypso experience. jetpack_connect: type: string description: Add a new jetpack site slug to the jetpack connect sites list of the user tracks_opt_out: type: boolean description: Did the user opted out of Tracks? woomobile_crash_reporting_opt_out: type: string description: Has the user opted out of crash reporting? null = no choice recorded. i18n_empathy_mode: type: boolean description: Has the user enabled I18n empathy mode? use_fallback_for_incomplete_languages: type: boolean description: Should UI be displayed in default locale for languages with incomplete translations gravatar_profile_hidden: type: boolean description: Is the gravatar profile hidden for this user? is_dev_account: type: boolean description: Is this a developer account? advertising_targeting_opt_out: type: boolean description: Did the user opt out of advertising targeting? p2_disable_autofollow_on_comment: type: boolean description: Don't automatically subscribe to notifications for a P2 post whenever you leave a comment on it. mcp_abilities: type: array items: {} description: List of MCP Abilities enabled. ai_assistant: type: boolean description: Override the AI assistant setting at the user level. Set to true to enable, false to disable, or null to clear (fall back to site-level). /me/settings/password/validate: post: operationId: postMeSettingsPasswordValidate summary: Verify strength of a user's new password. description: Verify strength of a user's new password. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: passed: type: boolean description: Whether password validated or not. test_results: type: string description: 'passed: (array) Array of test name and test explanation.; failed: (array) Array of test name and test explanation.' enum: - passed - failed '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: password: type: string description: The users's potential new password. /me/settings/profile-links/: get: operationId: getMeSettingsProfileLinks summary: Get current user's profile links. description: Get current user's profile links. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: profile_links: type: array items: {} description: A list of current user's profile links. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /me/settings/profile-links/new: post: operationId: postMeSettingsProfileLinksNew summary: Add a link to current user's profile. description: Add a link to current user's profile. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the link successfully added to the current user's profile? title: type: string description: The description of the link added. value: type: string description: The link added itself. link_slug: type: string description: The slug of the new profile link. '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: value: type: string description: The profile link to add to the current user. title: type: string description: Description of the profile link. /me/settings/profile-links/{slug}/delete: post: operationId: postMeSettingsProfileLinksBySlugDelete summary: Delete a link from current user's profile. description: Delete a link from current user's profile. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the link successfully deleted from the current user's profile? '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: slug in: path required: true schema: type: string description: The URL of the profile link. - 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. /me/sites: get: operationId: getMeSites summary: Get a list of the current user's sites. description: Get a list of the current user's sites. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: sites: type: array items: {} description: List of sites. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: site_visibility in: query required: false schema: type: string enum: - all - visible - hidden description: 'all: (default) Return all sites user is a member of, both visible and hidden.; visible: Only return sites set to visible for the user.; hidden: Only return sites set to hidden for the user.' - name: options in: query required: false schema: type: string description: 'Optional. Returns specified options only. Comma-separated list. Example: options=login_url,timezone' - name: include_domain_only in: query required: false schema: type: boolean description: Optional. Whether to include domain-only sites - name: include_redirect in: query required: false schema: type: boolean description: 'Optional. Whether to include redirect sites. Default: true.' - name: include_a8c_owned in: query required: false schema: type: boolean description: 'Optional. Whether to include A8C owned sites. Default: true.' - name: site_activity in: query required: false schema: type: string enum: - all - active - inactive description: 'all: (default) Return all sites both active or inactive.; active: Only return active sites.; inactive: Only return inactive sites.' /me/sites/compact: get: operationId: getMeSitesCompact summary: Not in use description: Not in use tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: sites: type: array items: {} description: List of sites. Currently always empty. '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: options in: query required: false schema: type: string description: 'Optional. Returns specified options only. Comma-separated list. Example: options=login_url,timezone' - name: site_visibility in: query required: false schema: type: string description: 'visible: (default) Only return sites set to visible for the user.' - name: site_activity in: query required: false schema: type: string description: 'active: (default) Only return active sites.' - name: include_domain_only in: query required: false schema: type: string - name: include_redirect in: query required: false schema: type: string - name: include_a8c_owned in: query required: false schema: type: string /me/sites/features: get: operationId: getMeSitesFeatures summary: Get a list of the current user's sites features description: Get a list of the current user's sites features tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: sites: type: array items: {} description: List of current user's sites features keyed by blog_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. /me/sites/plugins: get: operationId: getMeSitesPlugins summary: Get a list of the current user's sites plugins description: Get a list of the current user's sites plugins tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: sites: type: array items: {} description: List of current user's sites plugins keyed by blog_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. /me/two-step: get: operationId: getMeTwoStep summary: Get information about current user's two factor configuration. description: Get information about current user's two factor configuration. tags: - users 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. /me/two-step/sms/new: post: operationId: postMeTwoStepSmsNew summary: Sends a two-step code via SMS to the current user. description: Sends a two-step code via SMS to the current user. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: sent: type: boolean description: Was the code sent? '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. /meta/external-services/: get: operationId: getMetaExternalServices summary: Get a list of third-party services that WordPress.com or Jetpack sites can integrate with via keyring. description: Get a list of third-party services that WordPress.com or Jetpack sites can integrate with via keyring. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: services: type: array items: {} description: List of supported services. See /meta/external-services/%s for service descriptions. '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: type in: query required: false schema: type: string description: Optional. Only return services for the given type. Currently the only supported types are `publicize` or `other`. /meta/external-services/{service}: get: operationId: getMetaExternalServicesByService summary: Get information about a single external service that WordPress.com or Jetpack sites can integrate with via keyring. description: Get information about a single external service that WordPress.com or Jetpack sites can integrate with via keyring. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: string description: Service identifier. label: type: string description: Display friendly name for the service. type: type: string description: Service type (publicize or other). description: type: string description: Explanation of what the integration with this service does. genericon: type: object description: Object containing the class name and unicode character used for the genericon or noticon icon for this service. icon: type: string description: 2x PNG of the icon if genericons cannot be used. connect_url: type: string description: The URL for connecting a new Keyring connection with this service. multiple_external_user_ID_support: type: boolean description: Does this service support setting a non-default value for the external user ID (e.g. a Facebook page or Tumblr non-default blog) to be used as the publicize connection? jetpack_support: type: boolean description: Is this service supported in Jetpack? jetpack_module_required: type: string description: The slug of the module that is required to be activated in Jetpack for this service integration to work, if any. warnings: type: array items: {} description: Any issues this type of connection may be experencing '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: service in: path required: true schema: type: string description: Which service you want information about (facebook, twitter, etc). See /meta/external-services/ for list of supported services. - 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. /meta/sharing-buttons: get: operationId: getMetaSharingButtons summary: Get a list of external services for which sharing buttons are supported. description: Get a list of external services for which sharing buttons are supported. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: services: type: array items: {} description: List of supported services with information about each more: type: string description: The Genericon unicode character for the More icon '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. /notifications/read: post: operationId: postNotificationsRead summary: Mark a set of notifications as read. description: Mark a set of notifications as read. tags: - notifications responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? updated: type: array items: {} description: IDs of any of the operated on notifications which have new, unread updates '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: counts: type: array items: {} description: Decrement the unread count for a notification. Key=note_ID, Value=decrement amount. /notifications/seen: post: operationId: postNotificationsSeen summary: Set the timestamp of the most recently seen notification. description: Set the timestamp of the most recently seen notification. tags: - notifications responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? last_seen_time: type: integer description: The UNIX timestamp of the last time the user viewed their notes. '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: time: type: integer description: The UNIX timestamp of the most recent notification seen on a client. /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 /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) /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. /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. /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. /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 /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 /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. /read/lists/{user_slug}: get: operationId: getReadListsByUserSlug summary: Get an array of Reader lists by user slug. description: Get an array of Reader lists by user slug. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. lists: type: array items: {} description: An array of Reader lists number: type: integer description: The number of Reader lists returned '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: user_slug in: path required: true schema: type: string description: The slug of the user whose lists to retrieve. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/menu/: get: operationId: getReadMenu summary: Get default reader menu. description: Get default reader menu. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: default: type: array items: {} description: Default list of endpoints for the reader. subscribed: type: array items: {} description: List of the user's subscribed topics. recommended: type: array items: {} description: A list of recommended topics. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/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"]' /read/sites/{site}/posts/{post_ID}: get: operationId: getReadSitesBySitePostsByPostId summary: Get a single post (by ID). description: Get a single post (by ID). tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/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. /read/tags: get: operationId: getReadTags summary: Get a list of tags subscribed to by the user. description: Get a list of tags subscribed to by the user. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: tags: type: array items: {} description: The list of subscribed tags. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/tags/alphabetic: get: operationId: getReadTagsAlphabetic summary: Get a filtered list of top tags, grouped by letter. description: Get a filtered list of top tags, grouped by letter. tags: - read responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: lang in: query required: false schema: type: string description: The language code for the tags /read/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. /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. /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. /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. /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. /read/trending/tags: get: operationId: getReadTrendingTags summary: Get a list of trending tags. description: Get a list of trending tags. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: tags: type: array items: {} description: The list of subscribed tags. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: lang in: query required: false schema: type: string description: The language code for the tags - name: count in: query required: false schema: type: integer description: 'The number of topics to fetch Default: 20.' /sites/{site}: get: operationId: getSitesBySite summary: Get information about a site. description: Get information about a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: Site ID slug: type: string description: Slug of site name: type: string description: Title of site description: type: string description: Tagline or description of site URL: type: string description: Full URL to the site user_can_manage: type: boolean description: The current user can manage this site capabilities: type: array items: {} description: Array of capabilities for the current user on this site. jetpack: type: boolean description: Whether the site is a Jetpack site or not jetpack_connection: type: boolean description: Whether the site is connected to WP.com via `jetpack-connection` is_multisite: type: boolean description: Whether the site is a Multisite site or not. Always true for WP.com sites. site_owner: type: integer description: User ID of the site owner post_count: type: integer description: The number of posts the site has subscribers_count: type: integer description: The number of subscribers the site has lang: type: string description: Primary language code of the site icon: type: array items: {} description: An array of icon formats for the site logo: type: array items: {} description: The site logo, set in the Customizer visible: type: boolean description: If this site is visible in the user's site list is_private: type: boolean description: If the site is a private site or not is_coming_soon: type: boolean description: If the site is marked as "coming soon" or not single_user_site: type: boolean description: Whether the site is single user. Only returned for WP.com sites and for Jetpack sites with version 3.4 or higher. is_vip: type: boolean description: If the site is a VIP site or not. is_following: type: boolean description: If the current user is subscribed to this site in the reader organization_id: type: integer description: P2 Organization identifier. options: type: array items: {} description: 'An array of options/settings for the blog. Only viewable by users with post editing rights to the site. Note: Post formats is deprecated, please see /sites/$id/post-formats/' p2_thumbnail_elements: type: array items: {} description: Details used to render a thumbnail of the site. P2020 themed sites only. plan: type: array items: {} description: Details of the current plan for this site. products: type: array items: {} description: Details of the current products for this site. zendesk_site_meta: type: array items: {} description: Site meta data for Zendesk. updates: type: array items: {} description: An array of available updates for plugins, themes, wordpress, and languages. jetpack_modules: type: array items: {} description: A list of active Jetpack modules. meta: type: object description: Meta data quota: type: array items: {} description: An array describing how much space a user has left for uploads launch_status: type: string description: A string describing the launch status of a site site_migration: type: array items: {} description: Data about any migration into the site. is_fse_active: type: boolean description: If the site has Full Site Editing active or not. is_fse_eligible: type: boolean description: If the site is capable of Full Site Editing or not is_core_site_editor_enabled: type: boolean description: If the site has the core site editor enabled. is_wpcom_atomic: type: boolean description: If the site is a WP.com Atomic one. is_wpcom_staging_site: type: boolean description: If the site is a WP.com staging site. user_interactions: type: array items: {} description: An array of user interactions with a site. was_ecommerce_trial: type: boolean description: If the site ever used an eCommerce trial. was_upgraded_from_trial: type: boolean description: If the site ever upgraded to a paid plan from a trial. was_migration_trial: type: boolean description: If the site ever used a migration trial. was_hosting_trial: type: boolean description: If the site ever used a hosting trial. wpcom_site_setup: type: string description: The WP.com site setup identifier. is_deleted: type: boolean description: If the site flagged as deleted. is_a4a_client: type: boolean description: If the site is an A4A client site. is_a4a_dev_site: type: boolean description: If the site is an A4A dev site. is_garden: type: boolean description: If the site is a Garden site. garden_name: type: string description: The name of the Garden site. garden_partner: type: string description: The partner of the Garden site. garden_is_provisioned: type: boolean description: If the Garden site is provisioned. is_wpcom_flex: type: boolean description: If the site is a Flex site big_sky_enabled: type: boolean description: Whether the Big Sky AI assistant is enabled for this site. hosting_provider_guess: type: string description: Guess of the hosting provider. WordPress.com platform only; only returned when explicitly requested via the fields parameter. environment_type: type: string description: The WP_ENVIRONMENT_TYPE of the site as synced by Jetpack. WordPress.com platform only; only returned when explicitly requested via the fields parameter. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: options in: query required: false schema: type: string description: 'Optional. Returns specified options only. Comma-separated list. Example: options=login_url,timezone' /sites/{site}/automated-transfers/status: get: operationId: getSitesBySiteAutomatedTransfersStatus summary: Returns the current status of Automated Transfer for a site. description: Returns the current status of Automated Transfer for a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: status: type: string description: The current status of the transfer. '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. /sites/{site}/categories: get: operationId: getSitesBySiteCategories summary: Get a list of a site's categories. description: Get a list of a site's categories. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The number of categories returned. categories: type: array items: {} description: Array of category 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: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'The number of categories to return. Limit: 1000. Default: 100.' - name: offset in: query required: false schema: type: integer description: 0-indexed offset. - name: page in: query required: false schema: type: integer description: Return the Nth 1-indexed page of categories. Takes precedence over the offset parameter. - name: search in: query required: false schema: type: string description: Limit response to include only categories whose names or slugs match the provided search query. - name: order in: query required: false schema: type: string enum: - ASC - DESC description: 'ASC: (default) Return categories in ascending order.; DESC: Return categories in descending order.' - name: order_by in: query required: false schema: type: string enum: - name - count description: 'name: (default) Order by the name of each category.; count: Order by the number of posts in each category.' /sites/{site}/categories/new: post: operationId: postSitesBySiteCategoriesNew summary: Create a new category. description: Create a new category. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The category ID. name: type: string description: The name of the category. slug: type: string description: The slug of the category. description: type: string description: The description of the category. post_count: type: integer description: The number of posts using this category. feed_url: type: string description: The URL of the feed for this category. parent: type: integer description: The parent ID for the category. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: Name of the category description: type: string description: A description of the category parent: type: integer description: ID of the parent category /sites/{site}/categories/slug:{category}: get: operationId: getSitesBySiteCategoriesSlugCategory summary: Get information about a single category. description: Get information about a single category. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The category ID. name: type: string description: The name of the category. slug: type: string description: The slug of the category. description: type: string description: The description of the category. post_count: type: integer description: The number of posts using this category. feed_url: type: string description: The URL of the feed for this category. parent: type: integer description: The parent ID for the category. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: category in: path required: true schema: type: string description: The category slug - 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: postSitesBySiteCategoriesSlugCategory summary: Edit a category. description: Edit a category. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The category ID. name: type: string description: The name of the category. slug: type: string description: The slug of the category. description: type: string description: The description of the category. post_count: type: integer description: The number of posts using this category. feed_url: type: string description: The URL of the feed for this category. parent: type: integer description: The parent ID for the category. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: category in: path required: true schema: type: string description: The category slug - 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: name: type: string description: Name of the category description: type: string description: A description of the category parent: type: integer description: ID of the parent category /sites/{site}/categories/slug:{category}/delete: post: operationId: postSitesBySiteCategoriesSlugCategoryDelete summary: Delete a category. description: Delete a category. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The category ID. name: type: string description: The name of the category. slug: type: string description: The slug of the category. description: type: string description: The description of the category. post_count: type: integer description: The number of posts using this category. feed_url: type: string description: The URL of the feed for this category. parent: type: integer description: The parent ID for the category. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: category in: path required: true schema: type: string description: The category slug - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/comment-counts: get: operationId: getSitesBySiteCommentCounts summary: Get comment counts for each available status description: Get comment counts for each available status tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: all: type: integer description: Combined number of approved and unapproved comments approved: type: integer description: Number of approved comments pending: type: integer description: Number of unapproved comments trash: type: integer description: Number of trash comments spam: type: integer description: Number of spam comments post_trashed: type: integer description: Number of comments whose parent post has been trashed total_comments: type: integer description: Combined number of comments in each category '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 for filtering the comment counts by post /sites/{site}/comment-history/{comment_ID}: get: operationId: getSitesBySiteCommentHistoryByCommentId summary: Get the audit history for given comment description: Get the audit history for given comment tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: comment_history: type: array items: {} description: Array of arrays representing the comment history 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: site in: path required: true schema: type: string description: Site ID or domain - name: comment_ID in: path required: true schema: type: integer description: The comment ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/comments-tree: get: operationId: getSitesBySiteCommentsTree summary: Get a comments tree for site. description: Get a comments tree for site. tags: - comments-tree responses: '200': description: OK content: application/json: schema: type: object properties: comments_count: type: integer description: Total number of comments on the site comments_tree: type: array items: {} description: Array of post IDs representing the comments tree for given site (max 50000) trackbacks_count: type: integer description: Total number of trackbacks on the site trackbacks_tree: type: array items: {} description: Array of post IDs representing the trackbacks tree for given site (max 50000) pingbacks_count: type: integer description: Total number of pingbacks on the site pingbacks_tree: type: array items: {} description: Array of post IDs representing the pingbacks tree for given site (max 50000) '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: status in: query required: false schema: type: string description: 'Filter returned comments based on this value (allowed values: all, approved, pending, trash, spam).' /sites/{site}/comments/: get: operationId: getSitesBySiteComments summary: Get a list of recent comments. description: Get a list of recent comments. tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The total number of comments found that match the request (ignoring limits, offsets, and pagination). site_ID: type: integer description: The site ID comments: type: array items: {} description: An array of comment 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: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'The number of comments to return. Limit: 100. When using hierarchical=1, number refers to the number of top-level comments returned. Default: 20.' - name: offset in: query required: false schema: type: integer description: 0-indexed offset. Not available if using hierarchical=1. - name: page in: query required: false schema: type: integer description: Return the Nth 1-indexed page of comments. Takes precedence over the offset parameter. When using hierarchical=1, pagination is a bit different. See the note on the number parameter. - name: order in: query required: false schema: type: string enum: - DESC - ASC description: 'DESC: (default) Return comments in descending order from newest to oldest.; ASC: Return comments in ascending order from oldest to newest.' - name: hierarchical in: query required: false schema: type: boolean description: 'false: (default); true: (BETA) Order the comment list hierarchically.' - name: after in: query required: false schema: type: string format: date-time description: Return comments dated on or after the specified datetime. Not available if using hierarchical=1. - name: before in: query required: false schema: type: string format: date-time description: Return comments dated on or before the specified datetime. Not available if using hierarchical=1. - name: type in: query required: false schema: type: string enum: - any - comment - trackback - pingback - pings description: 'any: (default) Return all comments regardless of type.; comment: Return only regular comments.; trackback: Return only trackbacks.; pingback: Return only pingbacks.; pings: Return both trackbacks and pingbacks.' - name: status in: query required: false schema: type: string enum: - approved - unapproved - spam - trash - all description: 'approved: (default) Return only approved comments.; unapproved: Return only comments in the moderation queue.; spam: Return only comments marked as spam.; trash: Return only comments in the trash.; all: Return comments of all statuses.' - name: author_wpcom_data in: query required: false schema: type: boolean description: 'false: (default) Do not add wpcom_id and wpcom_login fields to comment author responses (default); true: Add wpcom_id and wpcom_login fields to comment author responses' /sites/{site}/comments/{comment_ID}: get: operationId: getSitesBySiteCommentsByCommentId summary: Get a single comment. description: Get a single comment. tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The comment ID. post: type: object description: A reference to the comment's post. author: type: object description: The author of the comment. date: type: string format: date-time description: The comment's creation time. URL: type: string format: uri description: The full permalink URL to the comment. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. raw_content: type: string description: Raw comment content. status: type: string description: 'approved: The comment has been approved.; unapproved: The comment has been held for review in the moderation queue.; spam: The comment has been marked as spam.; trash: The comment is in the trash.' enum: - approved - unapproved - spam - trash parent: type: string description: A reference to the comment's parent, if it has one. type: type: string description: 'comment: The comment is a regular comment.; trackback: The comment is a trackback.; pingback: The comment is a pingback.; review: The comment is a product review.' enum: - comment - trackback - pingback - review like_count: type: integer description: The number of likes for this comment. i_like: type: boolean description: Does the current user like this comment? meta: type: object description: Meta data can_moderate: type: boolean description: Whether current user can moderate the comment. i_replied: type: boolean description: Has the current user replied to this comment? '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: comment_ID in: path required: true schema: type: integer description: The comment ID - name: 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: postSitesBySiteCommentsByCommentId summary: Edit a comment. description: Edit a comment. tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The comment ID. post: type: object description: A reference to the comment's post. author: type: object description: The author of the comment. date: type: string format: date-time description: The comment's creation time. URL: type: string format: uri description: The full permalink URL to the comment. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. raw_content: type: string description: Raw comment content. status: type: string description: 'approved: The comment has been approved.; unapproved: The comment has been held for review in the moderation queue.; spam: The comment has been marked as spam.; trash: The comment is in the trash.' enum: - approved - unapproved - spam - trash parent: type: string description: A reference to the comment's parent, if it has one. type: type: string description: 'comment: The comment is a regular comment.; trackback: The comment is a trackback.; pingback: The comment is a pingback.; review: The comment is a product review.' enum: - comment - trackback - pingback - review like_count: type: integer description: The number of likes for this comment. i_like: type: boolean description: Does the current user like this comment? meta: type: object description: Meta data can_moderate: type: boolean description: Whether current user can moderate the comment. i_replied: type: boolean description: Has the current user replied to this comment? '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: comment_ID in: path required: true schema: type: integer description: The comment ID - name: 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: author: type: string description: The comment author's name. author_email: type: string description: The comment author's email. author_url: type: string description: The comment author's URL. content: type: string description: The comment text. date: type: string format: date-time description: The comment's creation time. status: type: string description: 'approved: (default) Approve the comment.; unapproved: Remove the comment from public view and send it to the moderation queue.; spam: Mark the comment as spam.; unspam: Unmark the comment as spam. Will attempt to set it to the previous status.; trash: Send a comment to the trash if trashing is enabled (see constant: EMPTY_TRASH_DAYS).; untrash: Untrash a comment. Only works when the comment is in the trash.' enum: - approved - unapproved - spam - unspam - trash - untrash /sites/{site}/comments/{comment_ID}/delete: post: operationId: postSitesBySiteCommentsByCommentIdDelete summary: Delete a comment. description: Delete a comment. tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The comment ID. post: type: object description: A reference to the comment's post. author: type: object description: The author of the comment. date: type: string format: date-time description: The comment's creation time. URL: type: string format: uri description: The full permalink URL to the comment. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. raw_content: type: string description: Raw comment content. status: type: string description: 'approved: The comment has been approved.; unapproved: The comment has been held for review in the moderation queue.; spam: The comment has been marked as spam.; trash: The comment is in the trash.; deleted: The comment has been deleted permanently.' enum: - approved - unapproved - spam - trash - deleted parent: type: string description: A reference to the comment's parent, if it has one. type: type: string description: 'comment: The comment is a regular comment.; trackback: The comment is a trackback.; pingback: The comment is a pingback.; review: The comment is a product review.' enum: - comment - trackback - pingback - review like_count: type: integer description: The number of likes for this comment. i_like: type: boolean description: Does the current user like this comment? meta: type: object description: Meta data can_moderate: type: boolean description: Whether current user can moderate the comment. i_replied: type: boolean description: Has the current user replied to this comment? '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: comment_ID in: path required: true schema: type: integer description: The comment ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/comments/{comment_ID}/likes/: get: operationId: getSitesBySiteCommentsByCommentIdLikes summary: Get the likes for a comment. description: Get the likes for a comment. tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The total number of likes for this comment. i_like: type: boolean description: If authenticated, this returns the current like status for the user on this comment. likes: type: array items: {} description: An array of users who liked this comment. meta: type: object description: Metadata '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: comment_ID in: path required: true schema: type: integer description: The comment ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/comments/{comment_ID}/likes/mine/: get: operationId: getSitesBySiteCommentsByCommentIdLikesMine summary: Get your like status for a comment. description: Get your like status for a comment. tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: i_like: type: boolean description: Does the user like this comment? like_count: type: integer description: The number of likes for this comment. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: comment_ID in: path required: true schema: type: integer description: The comment ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/comments/{comment_ID}/likes/mine/delete: post: operationId: postSitesBySiteCommentsByCommentIdLikesMineDelete summary: Remove your like from a comment. description: Remove your like from a comment. tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? i_like: type: boolean description: Does the user like this comment? like_count: type: integer description: The number of likes for this comment. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: comment_ID in: path required: true schema: type: integer description: The comment ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/comments/{comment_ID}/likes/new: post: operationId: postSitesBySiteCommentsByCommentIdLikesNew summary: Like a comment. description: Like a comment. tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? i_like: type: boolean description: Does the user like this comment? like_count: type: integer description: The number of likes for this comment. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: comment_ID in: path required: true schema: type: integer description: The comment ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/comments/{comment_ID}/replies/new: post: operationId: postSitesBySiteCommentsByCommentIdRepliesNew summary: Create a comment as a reply to another comment. description: Create a comment as a reply to another comment. tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The comment ID. post: type: object description: A reference to the comment's post. author: type: object description: The author of the comment. date: type: string format: date-time description: The comment's creation time. URL: type: string format: uri description: The full permalink URL to the comment. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. raw_content: type: string description: Raw comment content. status: type: string description: 'approved: The comment has been approved.; unapproved: The comment has been held for review in the moderation queue.; spam: The comment has been marked as spam.; trash: The comment is in the trash.' enum: - approved - unapproved - spam - trash parent: type: string description: A reference to the comment's parent, if it has one. type: type: string description: 'comment: The comment is a regular comment.; trackback: The comment is a trackback.; pingback: The comment is a pingback.; review: The comment is a product review.' enum: - comment - trackback - pingback - review like_count: type: integer description: The number of likes for this comment. i_like: type: boolean description: Does the current user like this comment? meta: type: object description: Meta data can_moderate: type: boolean description: Whether current user can moderate the comment. i_replied: type: boolean description: Has the current user replied to this comment? '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: comment_ID in: path required: true schema: type: integer description: The comment ID - name: 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: content: type: string description: The comment text. /sites/{site}/dropdown-pages/: get: operationId: getSitesBySiteDropdownPages summary: Get a list of pages to be displayed as options in a select-a-page-dropdown. description: Get a list of pages to be displayed as options in a select-a-page-dropdown. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The number of pages found. dropdown_pages: type: array items: {} description: An array of dropdown_page 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: 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. /sites/{site}/embeds: get: operationId: getSitesBySiteEmbeds summary: 'Get a list of embeds available on a site. Note: The current user must have publishing access.' description: 'Get a list of embeds available on a site. Note: The current user must have publishing access.' tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: embeds: type: array items: {} description: A list of supported embeds by their regex pattern. '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. /sites/{site}/embeds/render: get: operationId: getSitesBySiteEmbedsRender summary: 'Get a rendered embed for a site. Note: The current user must have publishing access.' description: 'Get a rendered embed for a site. Note: The current user must have publishing access.' tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: embed_url: type: string description: The embed_url that was passed in for rendering. result: type: string description: The rendered HTML result of the embed. '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: embed_url in: query required: false schema: type: string description: The query-string encoded embed URL to render. Required. Only accepts one at a time. /sites/{site}/followers: get: operationId: getSitesBySiteFollowers summary: View a site's followers description: View a site's followers tags: - people responses: '200': description: OK content: application/json: schema: type: object properties: page: type: integer description: The current page of results returned pages: type: integer description: The total number of pages of results available total: type: integer description: The total number of followers total_email: type: integer description: The total number of email-only followers total_wpcom: type: integer description: The total number of WordPress.com followers subscribers: type: array items: {} description: An array containing the subscribers '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: The site's 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: type in: query required: false schema: type: string description: 'One of: ''wpcom'', ''email'' or ''all''. Default: ''wpcom''.' - name: page in: query required: false schema: type: integer description: 'The page of results to return. Default: 1.' - name: max in: query required: false schema: type: integer description: 'The number of results to return per page. Defaults to 20. Maximum 100. Default: 20.' - name: search in: query required: false schema: type: string description: Returns followers with matching email addresses. Only works in combination with type="email". /sites/{site}/followers/{subscriber_id}: get: operationId: getSitesBySiteFollowersBySubscriberId summary: View a site's follower or subscriber description: View a site's follower or subscriber tags: - people responses: '200': description: OK content: application/json: schema: type: object properties: avatar: type: string description: The URL of the avatar of the follower label: type: string description: A display label for the follower ID: type: string description: The ID of the follower url: type: string description: The URL of the follower's website follow_data: type: array items: {} description: A structure containing follow data for the follower date_subscribed: type: string description: The date when the follower subscribed '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: The site's id or domain - name: subscriber_id in: path required: true schema: type: integer description: The ID of the wpcom follower. - 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: type in: query required: false schema: type: string description: 'One of: ''wpcom'' or ''email''. Default: ''wpcom''.' /sites/{site}/follows/: get: operationId: getSitesBySiteFollows summary: List a site's followers in reverse chronological order. description: List a site's followers in reverse chronological order. tags: - follow responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: 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: page in: query required: false schema: type: integer description: 'page number Default: 1.' - name: number in: query required: false schema: type: integer description: 'number of followers to return Default: 20.' /sites/{site}/follows/mine: get: operationId: getSitesBySiteFollowsMine summary: Get blog following status for the current user. description: Get blog following status for the current user. tags: - follow responses: '200': description: OK content: application/json: schema: type: object properties: is_following: type: boolean description: Is the user following this blog? meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/follows/mine/delete: post: operationId: postSitesBySiteFollowsMineDelete summary: Unfollow a blog. description: Unfollow a blog. tags: - follow responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? is_following: type: boolean description: Is the user following this blog? meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/follows/new: post: operationId: postSitesBySiteFollowsNew summary: Follow a blog. description: Follow a blog. tags: - follow responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? is_following: type: boolean description: Is the user following this blog? meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: source in: query required: false schema: type: string description: The source of the follow /sites/{site}/headers/mine: get: operationId: getSitesBySiteHeadersMine summary: Get the custom header options for a site. description: Get the custom header options for a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: random_default: type: boolean description: True if the random_default setting is set. random_uploaded: type: boolean description: True if the random_uploaded setting is set. text_color: type: string description: The header text color. url: type: string description: The url of the current header image if one is set (does not include default). width: type: integer description: The width of the current header image if one is set. height: type: integer description: The height of the current header image if one is set. defaults: type: string description: 'url: (string) The url of the default header image if one exists.; text_color: (string) The default header text color.; header_text: (bool) True if the header_text default setting is set.; random_default: (bool) True if the random_default setting is the default.' enum: - url - text_color - header_text - random_default '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. post: operationId: postSitesBySiteHeadersMine summary: Set the custom header options for a site. description: Set the custom header options for a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: random_default: type: boolean description: True if the random_default setting is set. random_uploaded: type: boolean description: True if the random_uploaded setting is set. text_color: type: string description: The header text color. url: type: string description: The url of the current header image if one is set (does not include default). width: type: integer description: The width of the current header image if one is set. height: type: integer description: The height of the current header image if one is set. defaults: type: string description: 'url: (string) The url of the default header image if one exists.; text_color: (string) The default header text color.; header_text: (bool) True if the header_text default setting is set.; random_default: (bool) True if the random_default setting is the default.' enum: - url - text_color - header_text - random_default '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: remove: type: boolean description: Optional. True to remove the header image. reset: type: boolean description: Optional. True to reset the header image to the default. random_default: type: boolean description: Optional. True to set header to random default image. random_uploaded: type: boolean description: Optional. True to set header to random uploaded image. text_color: type: string description: Optional. The header text color. reset_text_color: type: boolean description: Optional. True to reset the header text color to the default. url: type: string description: Optional. A url of a custom header to set. Requires attachment_id, width, height. attachment_id: type: string description: Optional. The attachment ID of the image. Requires url, width, height. width: type: integer description: Optional. The width of the image. Requires url, attachment_id. height: type: integer description: Optional. The height of the image. Requires url, attachment_id. /sites/{site}/headers/{theme_slug}: get: operationId: getSitesBySiteHeadersByThemeSlug summary: Get the custom header options for a site with a particular theme. description: Get the custom header options for a site with a particular theme. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: random_default: type: boolean description: True if the random_default setting is set. random_uploaded: type: boolean description: True if the random_uploaded setting is set. text_color: type: string description: The header text color. url: type: string description: The url of the current header image if one is set (does not include default). width: type: integer description: The width of the current header image if one is set. height: type: integer description: The height of the current header image if one is set. defaults: type: string description: 'url: (string) The url of the default header image if one exists.; text_color: (string) The default header text color.; header_text: (bool) True if the header_text default setting is set.; random_default: (bool) True if the random_default setting is the default.' enum: - url - text_color - header_text - random_default '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: theme_slug in: path required: true schema: type: string description: The slug of the theme. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/imports/: get: operationId: getSitesBySiteImports summary: Get information about any current imports for this site. description: Get information about any current imports for this site. tags: - import responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: 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. /sites/{site}/imports/library/new: post: operationId: postSitesBySiteImportsLibraryNew summary: Prepare an import for this site. Note that only one import can be in progress at any time. description: Prepare an import for this site. Note that only one import can be in progress at any time. tags: - import responses: '200': description: OK content: application/json: schema: type: object properties: importStatus: type: object description: ImportStatus object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: 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: importStatus: type: string description: ImportStatus object as JSON blueprint: type: integer description: Blueprint library ID /sites/{site}/imports/new: post: operationId: postSitesBySiteImportsNew summary: Prepare an import for this site. Note that only one import can be in progress at any time. description: Prepare an import for this site. Note that only one import can be in progress at any time. tags: - import responses: '200': description: OK content: application/json: schema: type: object properties: importStatus: type: object description: ImportStatus object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: 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: import: type: array items: {} description: File containing data to import. The entire request should be multipart/form-data encoded. importStatus: type: string description: ImportStatus object as JSON url: type: string description: Optional original website URL for certain importers to fetch additional information from. attachmentId: type: integer description: Optional ID of a media item already in the site's library to import from, instead of uploading a new file. Only honored on WoA sites. autoStart: type: boolean description: Optional. Start the import as part of this request instead of waiting for a POST to /sites/{id}/imports/{import_id}. Only honored for Playground archives. /sites/{site}/imports/{import_id}: get: operationId: getSitesBySiteImportsByImportId summary: Get information about the state of an import. description: Get information about the state of an import. tags: - import responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: string description: The IDs for active imports. status: type: string description: The state of the importer; either "ready", "active", "finished". type: type: string description: The import type's 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: site in: path required: true schema: type: string description: Site ID or domain. - name: import_id in: path required: true schema: type: string description: The import 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. post: operationId: postSitesBySiteImportsByImportId summary: Update the import for a site. description: Update the import for a site. tags: - import responses: '200': description: OK content: application/json: schema: type: object properties: importStatus: type: string description: ImportStatus object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain. - name: import_id in: path required: true schema: type: string description: The import 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. requestBody: required: false content: application/json: schema: type: object properties: importStatus: type: string description: ImportStatus object as JSON /sites/{site}/invites/new: post: operationId: postSitesBySiteInvitesNew summary: Invite one or more users to your site. description: Invite one or more users to your site. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: sent: type: array items: {} description: A list of email addresses or wpcom usernames that were successfully invited errors: type: array items: {} description: A list of email address or wpcom usernames that were not invited. Formatted as $username_or_email => WP_Error '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: invitees: type: string description: List of email addresses or wpcom users names to invite. role: type: string description: The role of the invitees on the blog. message: type: string description: A message that will be appended to the invitation email. source: type: string description: Optional. The source of the follow e.g. calypso is_external: type: boolean description: Optional. Whether to mark the user or users as external contributors to the blog. /sites/{site}/media/: get: operationId: getSitesBySiteMedia summary: Get a list of items in the media library. description: Get a list of items in the media library. tags: - media responses: '200': description: OK content: application/json: schema: type: object properties: media: type: array items: {} description: Array of media objects found: type: integer description: The number of total results found meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'The number of media items to return. Limit: 100. Default: 20.' - name: offset in: query required: false schema: type: integer description: 0-indexed offset. - name: page in: query required: false schema: type: integer description: Return the Nth 1-indexed page of posts. Takes precedence over the offset parameter. - name: page_handle in: query required: false schema: type: string description: A page handle, returned from a previous API call as a meta.next_page property. This is the most efficient way to fetch the next page of results. - name: order in: query required: false schema: type: string enum: - DESC - ASC description: 'DESC: (default) Return files in descending order. For dates, that means newest to oldest.; ASC: Return files in ascending order. For dates, that means oldest to newest.' - name: order_by in: query required: false schema: type: string enum: - date - title - ID description: 'date: (default) Order by the uploaded time of each file.; title: Order lexicographically by file titles.; ID: Order by media ID.' - name: search in: query required: false schema: type: string description: Search query. - name: post_ID in: query required: false schema: type: integer description: Default is showing all items. The post where the media item is attached. 0 shows unattached media items. - name: mime_type in: query required: false schema: type: string description: Default is empty. Filter by mime type (e.g., 'image/jpeg', 'application/pdf'). Partial searches also work (e.g. passing 'image' will search for all image files). - name: after in: query required: false schema: type: string format: date-time description: Return media items uploaded after the specified datetime. - name: before in: query required: false schema: type: string format: date-time description: Return media items uploaded before the specified datetime. /sites/{site}/media/new: post: operationId: postSitesBySiteMediaNew summary: Upload a new piece of media. description: Upload a new piece of media. tags: - media responses: '200': description: OK content: application/json: schema: type: object properties: media: type: array items: {} description: Array of uploaded media objects errors: type: array items: {} description: Array of error messages of uploading media failures '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: media: type: string description: 'An array of media to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See allowed_file_types in the options response of the site endpoint.Example:curl \--form ''media[]=@/path/to/file.jpg'' \-H ''Authorization: BEARER your-token'' \''https://public-api.wordpress.com/rest/v1/sites/123/media/new''' media_urls: type: array items: {} description: An array of URLs to upload to the post. Errors produced by media uploads, if any, will be in `media_errors` in the response. attrs: type: array items: {} description: 'An array of attributes (`title`, `description`, `caption` `alt` for images, `artist` for audio, `album` for audio, and `parent_id`) are supported to assign to the media uploaded via the `media` or `media_urls` properties. You must use a numeric index for the keys of `attrs` which follows the same sequence as `media` and `media_urls`. Example:curl \--form ''media[]=@/path/to/file1.jpg'' \--form ''media_urls[]=http://example.com/file2.jpg'' \ \--form ''attrs[0][caption]=This will be the caption for file1.jpg'' \--form ''attrs[1][title]=This will be the title for file2.jpg'' \-H ''Authorization: BEARER your-token'' \''https://public-api.wordpress.com/rest/v1/sites/123/media/new''' /sites/{site}/media/{media_ID}: get: operationId: getSitesBySiteMediaByMediaId summary: Get a single media item (by ID). description: Get a single media item (by ID). tags: - media responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the media item date: type: string format: date-time description: The date the media was uploaded post_ID: type: integer description: ID of the post this media is attached to author_ID: type: integer description: ID of the user who uploaded the media URL: type: string description: URL to the file guid: type: string description: Unique identifier file: type: string description: Filename extension: type: string description: File extension mime_type: type: string description: File MIME type title: type: string description: Filename caption: type: string description: User-provided caption of the file description: type: string description: Description of the file alt: type: string description: Alternative text for image files. thumbnails: type: object description: Media item thumbnail URL options height: type: integer description: (Image & video only) Height of the media item width: type: integer description: (Image & video only) Width of the media item length: type: integer description: (Video & audio only) Duration of the media item, in seconds exif: type: array items: {} description: (Image & audio only) Exif (meta) information about the media item rating: type: string description: (Video only) VideoPress rating of the video display_embed: type: string description: Video only. Whether to share or not the video. allow_download: type: string description: Video only. Whether the video can be downloaded or not. videopress_guid: type: string description: (Video only) VideoPress GUID of the video when uploaded on a blog with VideoPress videopress_processing_done: type: boolean description: (Video only) If the video is uploaded on a blog with VideoPress, this will return the status of processing on the video. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: media_ID in: path required: true schema: type: integer description: The ID of the media item - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. post: operationId: postSitesBySiteMediaByMediaId summary: Edit basic information about a media item. description: Edit basic information about a media item. tags: - media responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the media item date: type: string format: date-time description: The date the media was uploaded post_ID: type: integer description: ID of the post this media is attached to author_ID: type: integer description: ID of the user who uploaded the media URL: type: string description: URL to the file guid: type: string description: Unique identifier file: type: string description: File name extension: type: string description: File extension mime_type: type: string description: File mime type title: type: string description: File name caption: type: string description: User provided caption of the file description: type: string description: Description of the file alt: type: string description: Alternative text for image files. thumbnails: type: object description: Media item thumbnail URL options height: type: integer description: (Image & video only) Height of the media item width: type: integer description: (Image & video only) Width of the media item length: type: integer description: (Video & audio only) Duration of the media item, in seconds exif: type: array items: {} description: (Image & audio only) Exif (meta) information about the media item rating: type: string description: (Video only) VideoPress rating of the video display_embed: type: string description: Video only. Whether to share or not the video. allow_download: type: string description: Video only. Whether the video can be downloaded or not. privacy_setting: type: integer description: Video only. The privacy level for the video. videopress_guid: type: string description: (Video only) VideoPress GUID of the video when uploaded on a blog with VideoPress videopress_processing_done: type: boolean description: (Video only) If the video is uploaded on a blog with VideoPress, this will return the status of processing on the video. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: media_ID in: path required: true schema: type: integer description: The ID of the media item - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: parent_id: type: integer description: ID of the post this media is attached to title: type: string description: The file name. caption: type: string description: File caption. description: type: string description: Description of the file. alt: type: string description: Alternative text for image files. rating: type: string description: Video only. Video rating. display_embed: type: string description: Video only. Whether to share or not the video. allow_download: type: string description: Video only. Whether the video can be downloaded or not. privacy_setting: type: integer description: Video only. The privacy level for the video. artist: type: string description: Audio Only. Artist metadata for the audio track. album: type: string description: Audio Only. Album metadata for the audio track. /sites/{site}/media/{media_ID}/delete: post: operationId: postSitesBySiteMediaByMediaIdDelete summary: 'Delete a piece of media. Note: Media is deleted and not trashed.' description: 'Delete a piece of media. Note: Media is deleted and not trashed.' tags: - media responses: '200': description: OK content: application/json: schema: type: object properties: status: type: string description: Returns deleted if the media was successfully deleted ID: type: integer description: The ID of the media item date: type: string format: date-time description: The date the media was uploaded post_ID: type: integer description: ID of the post this media is attached to author_ID: type: integer description: ID of the user who uploaded the media URL: type: string description: URL to the file guid: type: string description: Unique identifier file: type: string description: File name extension: type: string description: File extension mime_type: type: string description: File mime type title: type: string description: File name caption: type: string description: User-provided caption of the file description: type: string description: Description of the file alt: type: string description: Alternative text for image files. thumbnails: type: object description: Media item thumbnail URL options height: type: integer description: (Image & video only) Height of the media item width: type: integer description: (Image & video only) Width of the media item length: type: integer description: (Video & audio only) Duration of the media item, in seconds exif: type: array items: {} description: (Image & audio only) Exif (meta) information about the media item videopress_guid: type: string description: (Video only) VideoPress GUID of the video when uploaded on a blog with VideoPress videopress_processing_done: type: boolean description: (Video only) If the video is Uuploaded on a blog with VideoPress, this will return the status of processing on the Video '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: media_ID in: path required: true schema: type: integer description: The media 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. /sites/{site}/media/{media_ID}/edit: post: operationId: postSitesBySiteMediaByMediaIdEdit summary: Edit a media item. description: Edit a media item. tags: - media responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the media item date: type: string format: date-time description: The date the media was uploaded post_ID: type: integer description: ID of the post this media is attached to author_ID: type: integer description: ID of the user who uploaded the media URL: type: string description: URL to the file guid: type: string description: Unique identifier file: type: string description: File name extension: type: string description: File extension mime_type: type: string description: File mime type title: type: string description: File name caption: type: string description: User provided caption of the file description: type: string description: Description of the file alt: type: string description: Alternative text for image files. thumbnails: type: object description: Media item thumbnail URL options height: type: integer description: (Image & video only) Height of the media item width: type: integer description: (Image & video only) Width of the media item length: type: integer description: (Video & audio only) Duration of the media item, in seconds exif: type: array items: {} description: (Image & audio only) Exif (meta) information about the media item videopress_guid: type: string description: (Video only) VideoPress GUID of the video when uploaded on a blog with VideoPress videopress_processing_done: type: boolean description: (Video only) If the video is uploaded on a blog with VideoPress, this will return the status of processing on the video. revision_history: type: object description: An object with `items` and `original` keys. `original` is an object with data about the original image. `items` is an array of snapshots of the previous images of this Media. Each item has the `URL`, `file, `extension`, `date`, and `mime_type` fields. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: media_ID in: path required: true schema: type: integer description: The ID of the media item - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: parent_id: type: integer description: ID of the post this media is attached to title: type: string description: The file name. caption: type: string description: File caption. description: type: string description: Description of the file. alt: type: string description: Alternative text for image files. artist: type: string description: Audio Only. Artist metadata for the audio track. album: type: string description: Audio Only. Album metadata for the audio track. media: type: string description: 'An object file to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See allowed_file_types in the options response of the site endpoint. Example:curl \--form ''title=Image'' \--form ''media=@/path/to/file.jpg'' \-H ''Authorization: BEARER your-token'' \''https://public-api.wordpress.com/rest/v1/sites/123/media/new''' attrs: type: object description: An Object of attributes (`title`, `description` and `caption`) are supported to assign to the media uploaded via the `media` or `media_url` media_url: type: string description: An URL of the image to attach to a post. /sites/{site}/menus: get: operationId: getSitesBySiteMenus summary: Get a list of all navigation menus. description: Get a list of all navigation menus. tags: - menus responses: '200': description: OK content: application/json: schema: type: object properties: menus: type: array items: {} description: "A list of menu objects.\n\t\t\tA menu object contains a name, items, locations,\ \ etc.\n\t\t\tCheck the example response for the full structure.\n\t\t\t\n\t\t\tItem objects\ \ contain fields relating to that item, e.g. id, type, content_id,\n\t\t\tbut they can also\ \ contain other items objects - this nesting represents parents\n\t\t\tand child items in\ \ the item tree." locations: type: array items: {} description: Locations where menus can be placed. List of objects, one per location. '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. /sites/{site}/menus/new: post: operationId: postSitesBySiteMenusNew summary: Create a new navigation menu. description: Create a new navigation menu. tags: - menus responses: '200': description: OK content: application/json: schema: type: object properties: id: type: integer description: Newly created menu 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: 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: name: type: string description: Name of menu /sites/{site}/menus/{menu_id}: get: operationId: getSitesBySiteMenusByMenuId summary: Get a single navigation menu. description: Get a single navigation menu. tags: - menus responses: '200': description: OK content: application/json: schema: type: object properties: menu: type: object description: "A menu object.\n\t\t\tA menu object contains a name, items, locations, etc.\n\t\ \t\tCheck the example response for the full structure.\n\t\t\t\n\t\t\tItem objects contain\ \ fields relating to that item, e.g. id, type, content_id,\n\t\t\tbut they can also contain\ \ other items objects - this nesting represents parents\n\t\t\tand child items in the item\ \ tree." '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: menu_id in: path required: true schema: type: integer description: Menu 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. post: operationId: postSitesBySiteMenusByMenuId summary: Update a navigation menu. description: Update a navigation menu. tags: - menus responses: '200': description: OK content: application/json: schema: type: object properties: menu: type: object description: Updated menu object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: menu_id in: path required: true schema: type: integer description: Menu 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. requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: Name of menu items: type: array items: {} description: "A list of menu item objects.\n\t\t\t\n\t\t\tItem objects contain fields relating\ \ to that item, e.g. id, type, content_id,\n\t\t\tbut they can also contain other items objects\ \ - this nesting represents parents\n\t\t\tand child items in the item tree." /sites/{site}/menus/{menu_id}/delete: post: operationId: postSitesBySiteMenusByMenuIdDelete summary: Delete a navigation menu description: Delete a navigation menu tags: - menus responses: '200': description: OK content: application/json: schema: type: object properties: deleted: type: boolean description: Has the menu been deleted? '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: menu_id in: path required: true schema: type: integer description: Menu 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. /sites/{site}/page-templates: get: operationId: getSitesBySitePageTemplates summary: Get a list of page templates supported by a site. description: Get a list of page templates supported by a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: templates: type: array items: {} description: A list of supported page templates. Contains label and file. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/post-counts/{post_type}: get: operationId: getSitesBySitePostCountsByPostType summary: Get number of posts in the post type groups by post status description: Get number of posts in the post type groups by post status tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: counts: type: string description: 'all: (array) Number of posts by any author in the post type grouped by post status; mine: (array) Number of posts by the current user in the post type grouped by post status' enum: - all - mine '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_type in: path required: true schema: type: string description: Post Type - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: author in: query required: false schema: type: integer description: author ID /sites/{site}/post-types: get: operationId: getSitesBySitePostTypes summary: Get a list of post types available for a site. description: Get a list of post types available for a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The number of post types found post_types: type: array items: {} description: A list of available post types '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: api_queryable in: query required: false schema: type: boolean description: If true, only queryable post types are returned /sites/{site}/post-types/{post_type}/taxonomies: get: operationId: getSitesBySitePostTypesByPostTypeTaxonomies summary: Get a list of taxonomies associated with a post type. description: Get a list of taxonomies associated with a post type. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The number of taxonomies found taxonomies: type: array items: {} description: A list of available taxonomies '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_type in: path required: true schema: type: string description: Post type - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/posts/: get: operationId: getSitesBySitePosts summary: Get a list of matching posts. description: Get a list of matching posts. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The total number of posts found that match the request (ignoring limits, offsets, and pagination). posts: type: array items: {} description: An array of post objects. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'The number of posts to return. Limit: 100. Default: 20.' - name: offset in: query required: false schema: type: integer description: 0-indexed offset. - name: page in: query required: false schema: type: integer description: Return the Nth 1-indexed page of posts. Takes precedence over the offset parameter. - name: page_handle in: query required: false schema: type: string description: A page handle, returned from a previous API call as a meta.next_page property. This is the most efficient way to fetch the next page of results. - name: order in: query required: false schema: type: string enum: - DESC - ASC description: 'DESC: (default) Return posts in descending order. For dates, that means newest to oldest.; ASC: Return posts in ascending order. For dates, that means oldest to newest.' - name: order_by in: query required: false schema: type: string enum: - date - modified - title - comment_count - ID description: 'date: (default) Order by the created time of each post.; modified: Order by the modified time of each post.; title: Order lexicographically by the posts'' titles.; comment_count: Order by the number of comments for each post.; ID: Order by post ID.' - name: after in: query required: false schema: type: string format: date-time description: Return posts dated after the specified datetime. - name: before in: query required: false schema: type: string format: date-time description: Return posts dated before the specified datetime. - name: modified_after in: query required: false schema: type: string format: date-time description: Return posts modified after the specified datetime. - name: modified_before in: query required: false schema: type: string format: date-time description: Return posts modified before the specified datetime. - name: tag in: query required: false schema: type: string description: Specify the tag name or slug. - name: category in: query required: false schema: type: string description: Specify the category name or slug. - name: term in: query required: false schema: type: object description: Specify comma-separated term slugs to search within, indexed by taxonomy slug. - name: type in: query required: false schema: type: string description: Specify the post type. Defaults to 'post', use 'any' to query for both posts and pages. Post types besides post and page need to be whitelisted using the rest_api_allowed_post_types filter. - name: parent_id in: query required: false schema: type: integer description: Returns only posts which are children of the specified post. Applies only to hierarchical post types. - name: include in: query required: false schema: type: string description: Includes the specified post ID(s) in the response - name: exclude in: query required: false schema: type: string description: Excludes the specified post ID(s) from the response - name: exclude_tree in: query required: false schema: type: integer description: Excludes the specified post and all of its descendants from the response. Applies only to hierarchical post types. - name: status in: query required: false schema: type: string description: 'Comma-separated list of statuses for which to query, including any of: "publish", "private", "draft", "pending", "future", and "trash", or simply "any". Defaults to "publish"' - name: sticky in: query required: false schema: type: string enum: - include - exclude - require description: 'include: (default) Sticky posts are not excluded from the list.; exclude: Sticky posts are excluded from the list.; require: Only include sticky posts' - name: author in: query required: false schema: type: integer description: Author's user ID - name: search in: query required: false schema: type: string description: Search query - name: meta_key in: query required: false schema: type: string description: Metadata key that the post should contain - name: meta_value in: query required: false schema: type: string description: Metadata value that the post should contain. Will only be applied if a `meta_key` is also given /sites/{site}/posts/delete: post: operationId: postSitesBySitePostsDelete summary: 'Delete multiple posts. Note: If the trash is enabled, this request will send non-trashed posts to the trash. Trashed pos' description: 'Delete multiple posts. Note: If the trash is enabled, this request will send non-trashed posts to the trash. Trashed posts will be permanently deleted.' tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.; deleted: The post has been deleted permanently.' enum: - publish - draft - pending - private - future - trash - auto-draft - deleted 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. results: type: object description: An object containing results, '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: post_ids: type: string description: An array, or comma-separated list, of Post IDs to delete or trash. /sites/{site}/posts/new: post: operationId: postSitesBySitePostsNew summary: Create a post. description: Create a post. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: date: type: string format: date-time description: The post's creation time. title: type: string description: The post title. content: type: string description: The post content. excerpt: type: string description: An optional post excerpt. slug: type: string description: The name (slug) for the post, used in URLs. author: type: string description: The username or ID for the user to assign the post to. publicize: type: string description: True or false if the post be shared to external services. An array of services if we only want to share to a select few. Defaults to true. publicize_message: type: string description: Custom message to be shared to external services. status: type: string description: 'publish: (default) Publish the post.; private: Privately publish the post.; draft: Save the post as a draft.; pending: Mark the post as pending editorial approval.; future: Schedule the post (alias for publish; you must also set a future date).; auto-draft: Save a placeholder for a newly created post, with no content.' enum: - publish - private - draft - pending - future - auto-draft sticky: type: boolean description: 'false: (default) Post is not marked as sticky.; true: Stick the post to the front page.' password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. parent: type: integer description: The post ID of the new post's parent. type: type: string description: The post type. Defaults to 'post'. Post types besides post and page need to be whitelisted using the rest_api_allowed_post_types filter. terms: type: object description: Mapping of taxonomy to comma-separated list or array of terms (name or id) categories: type: string description: Comma-separated list or array of categories (name or id) tags: type: string description: Comma-separated list or array of tags (name or id) format: type: string description: 'default: (default) Use default post format; standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - default - standard - aside - chat - gallery - link - image - quote - status - video - audio featured_image: type: string description: The post ID of an existing attachment to set as the featured image. Pass an empty string to delete the existing image. media: type: string description: 'An array of files to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See allowed_file_types in the options response of the site endpoint. Errors produced by media uploads, if any, will be in `media_errors` in the response. Example:curl \--form ''title=Image Post'' \--form ''media[0]=@/path/to/file.jpg'' \--form ''media_attrs[0][caption]=My Great Photo'' \-H ''Authorization: BEARER your-token'' \''https://public-api.wordpress.com/rest/v1/sites/123/posts/new''' media_urls: type: array items: {} description: An array of URLs for images to attach to a post. Sideloads the media in for a post. Errors produced by media sideloading, if any, will be in `media_errors` in the response. media_attrs: type: array items: {} description: 'An array of attributes (`title`, `description` and `caption`) are supported to assign to the media uploaded via the `media` or `media_urls` properties. You must use a numeric index for the keys of `media_attrs` which follow the same sequence as `media` and `media_urls`. Example:curl \--form ''title=Gallery Post'' \--form ''media[]=@/path/to/file1.jpg'' \--form ''media_urls[]=http://exapmple.com/file2.jpg'' \ \--form ''media_attrs[0][caption]=This will be the caption for file1.jpg'' \--form ''media_attrs[1][title]=This will be the title for file2.jpg'' \-H ''Authorization: BEARER your-token'' \''https://public-api.wordpress.com/rest/v1/sites/123/posts/new''' metadata: type: array items: {} description: 'Array of metadata objects containing the following properties: `key` (metadata key), `id` (meta ID), `previous_value` (if set, the action will only occur for the provided previous value), `value` (the new value to set the meta to), `operation` (the operation to perform: `update` or `add`; defaults to `update`). All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are avaiable for authenticated requests with proper capabilities. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter.' discussion: type: object description: 'A hash containing one or more of the following boolean values, which default to the blog''s discussion preferences: `comments_open`, `pings_open`' likes_enabled: type: boolean description: Should the post be open to likes? Defaults to the blog's preference. sharing_enabled: type: boolean description: Should sharing buttons show on this post? Defaults to true. menu_order: type: integer description: (Pages Only) the order pages should appear in. Use 0 to maintain alphabetical order. page_template: type: string description: (Pages Only) The page template this page should use. /sites/{site}/posts/restore: post: operationId: postSitesBySitePostsRestore summary: Restore multiple posts. description: Restore multiple posts. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. results: type: object description: An object containing results, '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: post_ids: type: string description: An array, or comma-separated list, of Post IDs to restore. /sites/{site}/posts/slug:{post_slug}: get: operationId: getSitesBySitePostsSlugPostSlug summary: Get a single post (by slug). description: Get a single post (by slug). tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_slug in: path required: true schema: type: string description: The post slug (a.k.a. sanitized 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. /sites/{site}/posts/{post_ID}: get: operationId: getSitesBySitePostsByPostId summary: Get a single post (by ID). description: Get a single post (by ID). tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. post: operationId: postSitesBySitePostsByPostId summary: Edit a post. description: Edit a post. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: date: type: string format: date-time description: The post's creation time. title: type: string description: The post title. content: type: string description: The post content. excerpt: type: string description: An optional post excerpt. slug: type: string description: The name (slug) for the post, used in URLs. author: type: string description: The username or ID for the user to assign the post to. publicize: type: string description: True or false if the post be shared to external services. An array of services if we only want to share to a select few. Defaults to true. publicize_message: type: string description: Custom message to be shared to external services. status: type: string description: 'publish: (default) Publish the post.; private: Privately publish the post.; draft: Save the post as a draft.; future: Schedule the post (alias for publish; you must also set a future date).; pending: Mark the post as pending editorial approval.; trash: Set the post as trashed.' enum: - publish - private - draft - future - pending - trash sticky: type: boolean description: 'false: (default) Post is not marked as sticky.; true: Stick the post to the front page.' password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. parent: type: integer description: The post ID of the new post's parent. terms: type: object description: Mapping of taxonomy to comma-separated list or array of terms (name or id) categories: type: string description: Comma-separated list or array of categories (name or id) tags: type: string description: Comma-separated list or array of tags (name or id) format: type: string description: 'default: (default) Use default post format; standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - default - standard - aside - chat - gallery - link - image - quote - status - video - audio discussion: type: object description: 'A hash containing one or more of the following boolean values, which default to the blog''s discussion preferences: `comments_open`, `pings_open`' likes_enabled: type: boolean description: Should the post be open to likes? menu_order: type: integer description: (Pages only) the order pages should appear in. Use 0 to maintain alphabetical order. page_template: type: string description: (Pages Only) The page template this page should use. sharing_enabled: type: boolean description: Should sharing buttons show on this post? featured_image: type: string description: The post ID of an existing attachment to set as the featured image. Pass an empty string to delete the existing image. media: type: string description: 'An array of files to attach to the post. To upload media, the entire request should be multipart/form-data encoded. Multiple media items will be displayed in a gallery. Accepts jpg, jpeg, png, gif, pdf, doc, ppt, odt, pptx, docx, pps, ppsx, xls, xlsx, key. Audio and Video may also be available. See allowed_file_types in the options resposne of the site endpoint. Example:curl \--form ''title=Image'' \--form ''media[]=@/path/to/file.jpg'' \-H ''Authorization: BEARER your-token'' \''https://public-api.wordpress.com/rest/v1/sites/123/posts/new''' media_urls: type: array items: {} description: An array of URLs for images to attach to a post. Sideloads the media in for a post. metadata: type: array items: {} description: 'Array of metadata objects containing the following properties: `key` (metadata key), `id` (meta ID), `previous_value` (if set, the action will only occur for the provided previous value), `value` (the new value to set the meta to), `operation` (the operation to perform: `update` or `add`; defaults to `update`). All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with proper capabilities. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter.' /sites/{site}/posts/{post_ID}/delete: post: operationId: postSitesBySitePostsByPostIdDelete summary: 'Delete a post. Note: If the trash is enabled, this request will send the post to the trash. A second request will perman' description: 'Delete a post. Note: If the trash is enabled, this request will send the post to the trash. A second request will permanently delete the post.' tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.; deleted: The post has been deleted permanently.' enum: - publish - draft - pending - private - future - trash - auto-draft - deleted 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. /sites/{site}/posts/{post_ID}/likes/: get: operationId: getSitesBySitePostsByPostIdLikes summary: Get a list of the likes for a post. description: Get a list of the likes for a post. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The total number of likes for this post. i_like: type: boolean description: If authenticated, this returns the current like status for the user on this post. can_like: type: boolean description: True if this post can be liked site_ID: type: integer description: The site ID post_ID: type: integer description: The post ID likes: type: array items: {} description: An array of users who liked this post. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: chronological in: query required: false schema: type: boolean description: get likers on chronological order /sites/{site}/posts/{post_ID}/likes/mine/: get: operationId: getSitesBySitePostsByPostIdLikesMine summary: Get the current user's like status for a post. description: Get the current user's like status for a post. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: i_like: type: boolean description: Does the user like this post? like_count: type: integer description: The number of likes for this post. site_ID: type: integer description: The site ID post_ID: type: integer description: The post ID meta: type: object description: Meta data liker: type: object description: The user involved '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/posts/{post_ID}/likes/mine/delete: post: operationId: postSitesBySitePostsByPostIdLikesMineDelete summary: Unlike a post. description: Unlike a post. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? i_like: type: boolean description: Does the user like this post? like_count: type: integer description: The number of likes for this post. site_ID: type: integer description: The site ID post_ID: type: integer description: The post ID meta: type: object description: Meta data liker: type: object description: The user involved '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/posts/{post_ID}/likes/new: post: operationId: postSitesBySitePostsByPostIdLikesNew summary: Like a post. description: Like a post. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? i_like: type: boolean description: Does the user like this post? like_count: type: integer description: The number of likes for this post. site_ID: type: integer description: The site ID post_ID: type: integer description: The post ID meta: type: object description: Meta data liker: type: object description: The user involved '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/posts/{post_ID}/reblogs/mine: get: operationId: getSitesBySitePostsByPostIdReblogsMine summary: Get reblog status for a post. description: Get reblog status for a post. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: is_reblogged: type: boolean description: Has the user reblogged this post? meta: type: object description: Meta data ID: type: integer description: ID of the new post '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/posts/{post_ID}/reblogs/new: post: operationId: postSitesBySitePostsByPostIdReblogsNew summary: Reblog a post. description: Reblog a post. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the operation successful? is_reblogged: type: boolean description: Has the user reblogged this post? meta: type: object description: Meta data ID: type: integer description: ID of the new post '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: destination_site_id: type: integer description: The site ID reblogging to note: type: string description: The reblog note /sites/{site}/posts/{post_ID}/replies/: get: operationId: getSitesBySitePostsByPostIdReplies summary: Get a list of recent comments on a post. description: Get a list of recent comments on a post. tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The total number of comments found that match the request (ignoring limits, offsets, and pagination). site_ID: type: integer description: The site ID comments: type: array items: {} description: An array of comment 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: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'The number of comments to return. Limit: 100. When using hierarchical=1, number refers to the number of top-level comments returned. Default: 20.' - name: offset in: query required: false schema: type: integer description: 0-indexed offset. Not available if using hierarchical=1. - name: page in: query required: false schema: type: integer description: Return the Nth 1-indexed page of comments. Takes precedence over the offset parameter. When using hierarchical=1, pagination is a bit different. See the note on the number parameter. - name: order in: query required: false schema: type: string enum: - DESC - ASC description: 'DESC: (default) Return comments in descending order from newest to oldest.; ASC: Return comments in ascending order from oldest to newest.' - name: hierarchical in: query required: false schema: type: boolean description: 'false: (default); true: (BETA) Order the comment list hierarchically.' - name: after in: query required: false schema: type: string format: date-time description: Return comments dated on or after the specified datetime. Not available if using hierarchical=1. - name: before in: query required: false schema: type: string format: date-time description: Return comments dated on or before the specified datetime. Not available if using hierarchical=1. - name: type in: query required: false schema: type: string enum: - any - comment - trackback - pingback - pings description: 'any: (default) Return all comments regardless of type.; comment: Return only regular comments.; trackback: Return only trackbacks.; pingback: Return only pingbacks.; pings: Return both trackbacks and pingbacks.' - name: status in: query required: false schema: type: string enum: - approved - unapproved - spam - trash - all description: 'approved: (default) Return only approved comments.; unapproved: Return only comments in the moderation queue.; spam: Return only comments marked as spam.; trash: Return only comments in the trash.; all: Return comments of all statuses.' - name: author_wpcom_data in: query required: false schema: type: boolean description: 'false: (default) Do not add wpcom_id and wpcom_login fields to comment author responses (default); true: Add wpcom_id and wpcom_login fields to comment author responses' /sites/{site}/posts/{post_ID}/replies/new: post: operationId: postSitesBySitePostsByPostIdRepliesNew summary: Create a comment on a post. description: Create a comment on a post. tags: - comments responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The comment ID. post: type: object description: A reference to the comment's post. author: type: object description: The author of the comment. date: type: string format: date-time description: The comment's creation time. URL: type: string format: uri description: The full permalink URL to the comment. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. raw_content: type: string description: Raw comment content. status: type: string description: 'approved: The comment has been approved.; unapproved: The comment has been held for review in the moderation queue.; spam: The comment has been marked as spam.; trash: The comment is in the trash.' enum: - approved - unapproved - spam - trash parent: type: string description: A reference to the comment's parent, if it has one. type: type: string description: 'comment: The comment is a regular comment.; trackback: The comment is a trackback.; pingback: The comment is a pingback.; review: The comment is a product review.' enum: - comment - trackback - pingback - review like_count: type: integer description: The number of likes for this comment. i_like: type: boolean description: Does the current user like this comment? meta: type: object description: Meta data can_moderate: type: boolean description: Whether current user can moderate the comment. i_replied: type: boolean description: Has the current user replied to this comment? '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. requestBody: required: false content: application/json: schema: type: object properties: content: type: string description: The comment text. /sites/{site}/posts/{post_ID}/restore: post: operationId: postSitesBySitePostsByPostIdRestore summary: Restore a post or page from the trash to its previous status. description: Restore a post or page from the trash to its previous status. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/posts/{post}/related: post: operationId: postSitesBySitePostsByPostRelated summary: Search within a site for related posts. description: Search within a site for related posts. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: results: type: array items: {} description: The top level "hits" object from the Elasticsearch query response with post_id and blog_id fields of the related items. '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 in: path required: true schema: type: integer description: The post ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: total,max_score' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: size: type: integer description: Number of results to return filter: type: object description: Filter the search. See Elasticsearch filters algorithm: type: string description: Specify a specific algorithm to use /sites/{site}/posts/{post}/subscribers/: get: operationId: getSitesBySitePostsByPostSubscribers summary: Get a list of the specified post's subscribers. description: Get a list of the specified post's subscribers. tags: - posts responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post in: path required: true schema: type: integer description: Post ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/posts/{post}/subscribers/mine: get: operationId: getSitesBySitePostsByPostSubscribersMine summary: Get subscription status of the specified post for the current user. description: Get subscription status of the specified post for the current user. tags: - posts responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post in: path required: true schema: type: integer description: Post ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/posts/{post}/subscribers/mine/delete: post: operationId: postSitesBySitePostsByPostSubscribersMineDelete summary: Unsubscribe the current user from the specified post. description: Unsubscribe the current user from the specified post. tags: - posts responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post in: path required: true schema: type: integer description: Post ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/posts/{post}/subscribers/mine/update: post: operationId: postSitesBySitePostsByPostSubscribersMineUpdate summary: Subscribe current user to be notified of the specified post's comments. description: Subscribe current user to be notified of the specified post's comments. tags: - posts responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post in: path required: true schema: type: integer description: 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. requestBody: required: false content: application/json: schema: type: object properties: receive_notifications: type: boolean description: True if notifications should be sent for new comments. False otherwise. /sites/{site}/posts/{post}/subscribers/new: post: operationId: postSitesBySitePostsByPostSubscribersNew summary: Subscribe current user to be notified of the specified post's comments. description: Subscribe current user to be notified of the specified post's comments. tags: - posts responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: post in: path required: true schema: type: integer description: Post ID - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: receive_notifications: type: boolean description: Optional. If true notifications will be sent for new comments. To change the notification preference for an existing subscription call the /update endpoint. /sites/{site}/protect/recovery/confirm: post: operationId: postSitesBySiteProtectRecoveryConfirm summary: A site confirms that a user can bypass jetpack to try to login and login description: A site confirms that a user can bypass jetpack to try to login and login tags: - protect responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: The site's 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: user_id: type: integer description: The id of the user requesting a recovery email. ip: type: string description: The IP of the user requesting a recovery email. token: type: string description: The recovery token. /sites/{site}/protect/recovery/request: post: operationId: postSitesBySiteProtectRecoveryRequest summary: A user request an email containing a recovery url that they can use to bypass a Protect blockage description: A user request an email containing a recovery url that they can use to bypass a Protect blockage tags: - protect responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: The site's 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: user_id: type: integer description: The id of the user requesting a recovery email. ip: type: string description: The IP of the user requesting a recovery email. /sites/{site}/protect/recovery/validate/{user_id}: get: operationId: getSitesBySiteProtectRecoveryValidateByUserId summary: Validates a url emailed to a user containing a recovery toke that they can use to bypass a Protect blockage description: Validates a url emailed to a user containing a recovery toke that they can use to bypass a Protect blockage tags: - protect responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: The site's id or domain - name: user_id in: path required: true schema: type: string description: The user id - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: token in: query required: false schema: type: string description: The recovery token. - name: action in: query required: false schema: type: string description: What action to redirect the to. /sites/{site}/publicize-connections/: get: operationId: getSitesBySitePublicizeConnections summary: Get a list of publicize connections that are associated with the specified site. description: Get a list of publicize connections that are associated with the specified site. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: connections: type: array items: {} description: List of publicize connections. See /sites/%s/publicize-connections/%d for individual connection descriptions. '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: service in: query required: false schema: type: string description: Optional. Only return connections for the given services. - name: user_id in: query required: false schema: type: string description: Optional. Only return connections associated to the given user ID. - name: keyring_connection_ID in: query required: false schema: type: integer description: Optional. Only return connections for the given Keyring connection ID. /sites/{site}/publicize-connections/new: post: operationId: postSitesBySitePublicizeConnectionsNew summary: Create a new publicize connection that is associated with the specified site. description: Create a new publicize connection that is associated with the specified site. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the publicize connection. site_ID: type: integer description: The site ID that the publicize connection belongs to. user_ID: type: integer description: The user ID that the publicize connection belongs to. shared: type: boolean description: Is this connection shared? keyring_connection_ID: type: integer description: The ID of the associated Keyring connection. keyring_connection_user_ID: type: integer description: The ID of the user who owns the associated keyring connection. service: type: string description: The name of the service associated with this publicize connection. label: type: string description: The display friendly name of the service associated with this publicize connection. issued: type: string format: date-time description: Date when the publicize connection was first established. expires: type: string format: date-time description: Date when the publicize connection expires, if any. external_ID: type: string description: An identifier for the user on the third-party service. external_name: type: string description: A display friendly identifier for the user on the third-party service, usually a username or login name. external_display: type: string description: A display friendly identifier for the user on the third-party service, typically defined by the user and the one that the user has chosen as their preferred identifier. external_profile_picture: type: string description: The URL to the profile picture associated with the third-party account, if the service provides one. external_profile_URL: type: string description: The URL to the external profile on the third-party website, if the service provides one. external_follower_count: type: string description: The number of followers that the user has on the third-party service, if the service returns a number. URL: type: string description: URL to the user's profile on the third-party service. NULL if there is no URL to link to. status: type: string description: The current status of the connection to the third-party service. "ok" for connections with no problems, and "broken" for connections that need to be fixed fixed. refresh_URL: type: string format: uri description: The URL to refresh the Keyring token. meta: type: object description: Object with links to the publicize connection, help links and related items. '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: keyring_connection_ID: type: integer description: The Keyring connection ID to use for the new publicize connection. shared: type: boolean description: Optional. True to make the connection global for all users of the site. external_user_ID: type: string description: Optional. Use to associate a non-default external user (from the Keyring connection) with this publicize connection. e.g. associate a Facebook page. /sites/{site}/publicize-connections/{publicize_connection_ID}: get: operationId: getSitesBySitePublicizeConnectionsByPublicizeConnectionId summary: Get a single publicize connection that is associated with the specified site. description: Get a single publicize connection that is associated with the specified site. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the publicize connection. site_ID: type: integer description: The site ID that the publicize connection belongs to. user_ID: type: integer description: The user ID that the publicize connection belongs to. keyring_connection_ID: type: integer description: The ID of the associated keyring connection. keyring_connection_user_ID: type: integer description: The ID of the user who owns the associated keyring connection. shared: type: boolean description: Is this connection shared? service: type: string description: The name of the service associated with this publicize connection. label: type: string description: The display friendly name of the service associated with this publicize connection. issued: type: string format: date-time description: Date when the publicize connection was first established. expires: type: string format: date-time description: Date when the publicize connection expires, if any. external_ID: type: string description: An identifier for the user on the third-party service. external_name: type: string description: A display friendly identifier for the user on the third-party service, usually a username or login name. external_display: type: string description: A display friendly identifier for the user on the third-party service, typically defined by the user and the one that the user has chosen as their preferred identifier. external_profile_picture: type: string description: The URL to the profile picture associated with the third-party account, if the service provides one. external_profile_URL: type: string description: The URL to the external profile on the third-party website, if the service provides one. external_follower_count: type: string description: The number of followers that the user has on the third-party service, if the service returns a number. read_only: type: boolean description: Returns true if the connection is available as read-only for the current user. This usually means the connection is shared and owned by a different user. The current user receives a reduced amount of information about the connection and cannot update or delete it. status: type: string description: The current status of the connection to the third-party service. "ok" for connections with no problems, and "broken" for connections that need to be fixed fixed. refresh_URL: type: string format: uri description: The URL to refresh the Keyring token. meta: type: object description: Object with links to the publicize connection, help links and related items. '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: publicize_connection_ID in: path required: true schema: type: integer description: The publicize connection ID to fetch. - 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: postSitesBySitePublicizeConnectionsByPublicizeConnectionId summary: Update a single publicize connection belonging to the specified site. description: Update a single publicize connection belonging to the specified site. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the publicize connection. site_ID: type: integer description: The site ID that the publicize connection belongs to. user_ID: type: integer description: The user ID that the publicize connection belongs to. keyring_connection_ID: type: integer description: The ID of the associated Keyring connection. keyring_connection_user_ID: type: integer description: The ID of the user who owns the associated keyring connection. shared: type: boolean description: Is this connection shared? service: type: string description: The name of the service associated with this publicize connection. label: type: string description: The display friendly name of the service associated with this publicize connection. issued: type: string format: date-time description: Date when the publicize connection was first established. expires: type: string format: date-time description: Date when the publicize connection expires, if any. external_ID: type: string description: An identifier for the user on the third-party service. external_name: type: string description: A display friendly identifier for the user on the third-party service, usually a username or login name. external_display: type: string description: A display friendly identifier for the user on the third-party service, typically defined by the user and the one that the user has chosen as their preferred identifier. external_profile_picture: type: string description: The URL to the profile picture associated with the third-party account, if the service provides one. external_profile_URL: type: string description: The URL to the external profile on the third-party website, if the service provides one. external_follower_count: type: string description: The number of followers that the user has on the third-party service, if the service returns a number. URL: type: string description: URL to the user's profile on the third-party service. NULL if there is no URL to link to. status: type: string description: The current status of the connection to the third-party service. "ok" for connections with no problems, and "broken" for connections that need to be fixed fixed. refresh_URL: type: string format: uri description: The URL to refresh the Keyring token. meta: type: object description: Object with links to the publicize connection, help links and related items. '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: integer description: The site ID to take action on. - name: publicize_connection_ID in: path required: true schema: type: integer description: The publicize connection ID to take action on. - 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: shared: type: boolean description: Optional. True to make the connection global for all users of the site. False to ungloblalize it. external_user_ID: type: string description: Optional. Use to associate a non-default external user (from the Keyring connection) with this publicize connection. e.g. associate a Facebook page. False to reset to default. /sites/{site}/publicize-connections/{publicize_connection_ID}/delete: post: operationId: postSitesBySitePublicizeConnectionsByPublicizeConnectionIdDelete summary: Delete the specified publicize connection. description: Delete the specified publicize connection. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the publicize connection. deleted: type: boolean description: True if successfully deleted. '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: publicize_connection_ID in: path required: true schema: type: integer description: The connection ID to take action on. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/search: post: operationId: postSitesBySiteSearch summary: Search within a site using an Elasticsearch Query API. description: Search within a site using an Elasticsearch Query API. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: hits: type: array items: {} description: The top level "hits" object from the Elasticsearch query response. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: size: type: integer description: Number of results to return. Max depends on whether requestor is VIP, Jetpack or others. from: type: integer description: Item number to return. Max depends on whether requestor is VIP, Jetpack or others. fields: type: array items: {} description: List of fields to return. Default is blog_id and post_id. See all fields. query: type: array items: {} description: Allows (almost) full access to the ES query DSL. See Elasticsearch Query DSL. Some filters and queries are not allowed for performance reasons, as documented here. aggregations: type: array items: {} description: Return aggregations from matches to the search. See details. sort: type: array items: {} description: How to sort results. Default is _score. See the Elasticsearch sort docs filter: type: array items: {} description: Filters applied to the search. Will be added as a part of a top level bool query suggest: type: array items: {} description: Experimental - Run suggestors on this search See Elasticsearch suggesters rescore: type: array items: {} description: Experimental - Do query rescores on the search. See Elasticsearch rescoring facets: type: array items: {} description: Deprecated. Do not use. Will be removed soon. additional_blog_ids: type: array items: {} description: List of additional blog_ids to run the search on. /sites/{site}/sharing-buttons: post: operationId: postSitesBySiteSharingButtons summary: Edit all sharing buttons for a site. description: Edit all sharing buttons for a site. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Confirmation that all sharing buttons were updated as specified updated: type: array items: {} description: An array of updated sharing buttons '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: sharing_buttons: type: array items: {} description: An array of sharing button objects /sites/{site}/sharing-buttons/: get: operationId: getSitesBySiteSharingButtons summary: Get a list of a site's sharing buttons. description: Get a list of a site's sharing buttons. tags: - sharing responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The total number of sharing buttons found that match the request. sharing_buttons: type: array items: {} description: Array of sharing button 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: 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: enabled_only in: query required: false schema: type: boolean description: If true, only enabled sharing buttons are included in the response - name: visibility in: query required: false schema: type: string description: The type of enabled sharing buttons to filter by, either "visible" or "hidden" /sites/{site}/shortcodes: get: operationId: getSitesBySiteShortcodes summary: 'Get a list of shortcodes available on a site. Note: The current user must have publishing access.' description: 'Get a list of shortcodes available on a site. Note: The current user must have publishing access.' tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: shortcodes: type: array items: {} description: A list of supported shortcodes by their handle. '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. /sites/{site}/shortcodes/render: get: operationId: getSitesBySiteShortcodesRender summary: 'Get a rendered shortcode for a site. Note: The current user must have publishing access.' description: 'Get a rendered shortcode for a site. Note: The current user must have publishing access.' tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: shortcode: type: string description: The shortcode that was passed in for rendering. result: type: string description: The rendered HTML result of the shortcode. scripts: type: array items: {} description: 'An array of JavaScript files needed to render the shortcode. Returned in the format of { "script-slug" : { "src": "http://example.com/file.js", "extra" : "" } } where extra contains any neccessary extra JS for initializing the source file and src contains the script to load. Omitted if no scripts are neccessary.' styles: type: array items: {} description: 'An array of CSS files needed to render the shortcode. Returned in the format of { "style-slug" : { "src": "http://example.com/file.css", "media" : "all" } }. Omitted if no styles are neccessary.' '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: shortcode in: query required: false schema: type: string description: The query-string encoded shortcode string to render. Required. Only accepts one at a time. /sites/{site}/stats: get: operationId: getSitesBySiteStats summary: Get a site's stats description: Get a site's stats tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned stats: type: array items: {} description: Stats about the requested site visits: type: array items: {} description: Visits to the requested site '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: The site's 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. /sites/{site}/stats/archives: get: operationId: getSitesBySiteStatsArchives summary: View a site's archives description: View a site's archives tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned days: type: array items: {} description: An array of days and the views of archives pages on those days (omitted when summarize=true) summary: type: object description: Summary of archives page views over the specified period (omitted when summarize=false) period: type: string description: The period represented in the stats 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: site in: path required: true schema: type: string description: The site's 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: num in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 1.' - name: period in: query required: false schema: type: string enum: - day - week - month - year description: 'day: (default) The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years' - name: date in: query required: false schema: type: string description: The most recent day to include in results - name: start_date in: query required: false schema: type: string description: the start date to calculate days included in results - name: max in: query required: false schema: type: integer description: 'The maximum number of results to return Default: 10.' - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset - name: summarize in: query required: false schema: type: boolean description: Return summary data instead of detailed period data - name: skip_archives in: query required: false schema: type: boolean description: Skip home/archives pages from the results - name: migrate_archive_homepage in: query required: false schema: type: boolean description: Migrate archive homepage views to update the Home page / Archive display /sites/{site}/stats/clicks: get: operationId: getSitesBySiteStatsClicks summary: View a site's outbound clicks description: View a site's outbound clicks tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned days: type: array items: {} description: An array of days and the clicks that occurred on those days (omitted when summarize=true) summary: type: object description: Summary of clicks that occured over the specified period (omitted when summarize=false) period: type: string description: The period represented in the stats 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: site in: path required: true schema: type: string description: The site's 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: num in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 1.' - name: period in: query required: false schema: type: string enum: - day - week - month - year description: 'day: (default) The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years' - name: date in: query required: false schema: type: string description: The most recent day to include in results - name: start_date in: query required: false schema: type: string description: the start date to calculate days included in results - name: max in: query required: false schema: type: integer description: 'The maximum number of results to return Default: 10.' - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset - name: summarize in: query required: false schema: type: boolean description: Return summary data instead of detailed period data /sites/{site}/stats/clicks/emails/summary: get: operationId: getSitesBySiteStatsClicksEmailsSummary summary: View the total number of email clicks for each post. description: View the total number of email clicks for each post. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned period: type: string description: The period for which stats are returned posts: type: array items: {} description: An array of posts with the total views for each post '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: The site's 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: quantity in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 10.' - name: period in: query required: false schema: type: string enum: - hour - day - week - month - year - alltime description: 'hour: (default) The output will return results over the past [num] hours; day: The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years; alltime: The output will return results from all time' - name: date in: query required: false schema: type: string description: The most recent day to include in results, accepts Y-m-d format /sites/{site}/stats/clicks/emails/{post_id}: get: operationId: getSitesBySiteStatsClicksEmailsByPostId summary: View chart stats related to email clicks by period. description: View chart stats related to email clicks by period. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object description: An object containing the clicks. '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: The site's id or domain. - name: post_id in: path required: true schema: type: integer description: The post's id - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: quantity in: query required: false schema: type: integer description: Number of periods to include in the results - name: period in: query required: false schema: type: string enum: - hour - day description: 'hour: (default) The output will return results over the next [quantity] hours; day: The output will return results over the next [quantity] days' - name: date in: query required: false schema: type: string description: The most recent day to include in results, accepts Y-m-d or Y-m-d\Th:00:00 /sites/{site}/stats/clicks/emails/{post_id}/client: get: operationId: getSitesBySiteStatsClicksEmailsByPostIdClient summary: View email clicks by client. description: View email clicks by client. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: clients: type: object description: An object containing the email clicks by client. '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: The site's id or domain. - name: post_id in: path required: true schema: type: integer description: The post's 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. /sites/{site}/stats/clicks/emails/{post_id}/country: get: operationId: getSitesBySiteStatsClicksEmailsByPostIdCountry summary: View email clicks by country. description: View email clicks by country. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: countries: type: object description: An object containing the email clicks by country. '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: The site's id or domain. - name: post_id in: path required: true schema: type: integer description: The post's 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. /sites/{site}/stats/clicks/emails/{post_id}/device: get: operationId: getSitesBySiteStatsClicksEmailsByPostIdDevice summary: View email clicks by device. description: View email clicks by device. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: devices: type: object description: An object containing the email clicks by device. '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: The site's id or domain. - name: post_id in: path required: true schema: type: integer description: The post's 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. /sites/{site}/stats/clicks/emails/{post_id}/link: get: operationId: getSitesBySiteStatsClicksEmailsByPostIdLink summary: View email clicks by link. description: View email clicks by link. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: links: type: object description: An object containing the email clicks by link. '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: The site's id or domain. - name: post_id in: path required: true schema: type: integer description: The post's 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. /sites/{site}/stats/clicks/emails/{post_id}/rate: get: operationId: getSitesBySiteStatsClicksEmailsByPostIdRate summary: View email clicks rate by post. Returns mock data. description: View email clicks rate by post. Returns mock data. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: total_clicks: type: number description: Total number of email clicks for that post over the time. total_opens: type: number description: Total number of email opens for that post. unique_opens: type: number description: Number of unique users who opened the email. unique_clicks: type: number description: Number of unique users who clicked on the email. total_sends: type: number description: Total number of recipients where the email was sent. clicks_rate: type: number description: The click rate value in decimal format, result of unique_clicks / total_sends. opens_rate: type: number description: The open rate value in decimal format, result of unique_opens / total_sends. '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: The site's id or domain. - name: post_id in: path required: true schema: type: integer description: The post's 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. /sites/{site}/stats/clicks/emails/{post_id}/user-content-link: get: operationId: getSitesBySiteStatsClicksEmailsByPostIdUserContentLink summary: View email clicks by user content link. description: View email clicks by user content link. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: links: type: object description: An object containing the email clicks by user content link. '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: The site's id or domain. - name: post_id in: path required: true schema: type: integer description: The post's 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. /sites/{site}/stats/comment-followers: get: operationId: getSitesBySiteStatsCommentFollowers summary: View a site's comment followers description: View a site's comment followers tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: page: type: integer description: The current page of results returned pages: type: integer description: The total number of pages of results available total: type: integer description: The total number of results available posts: type: array items: {} description: An array containing the posts '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: The site's 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: page in: query required: false schema: type: integer description: 'The page of results to return. Default: 1.' - name: max in: query required: false schema: type: integer description: 'The number of results to return per page. Numbers larger than 20 will default to 20. Default: 20.' /sites/{site}/stats/comments: get: operationId: getSitesBySiteStatsComments summary: View a site's top comment authors and most-commented posts description: View a site's top comment authors and most-commented posts tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned authors: type: array items: {} description: An array of top comment authors posts: type: array items: {} description: Array of most-commented posts monthly_comments: type: integer description: Average number of comments per month total_comments: type: integer description: Number of total comments most_active_day: type: string description: Day with most comment-activity most_active_time: type: string description: Time with most comment-activity most_commented_post: type: array items: {} description: Most commented post '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: The site's 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. /sites/{site}/stats/country-views: get: operationId: getSitesBySiteStatsCountryViews summary: View a site's views by country description: View a site's views by country tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned days: type: array items: {} description: An array of days and the country views that occurred on those days (omitted when summarize=true) summary: type: array items: {} description: Summary of country views that occured over the specified period (omitted when summarize=false) country-info: type: array items: {} description: An array containing country info '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: The site's 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: num in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 1.' - name: period in: query required: false schema: type: string enum: - day - week - month - year description: 'day: (default) The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years' - name: date in: query required: false schema: type: string description: The most recent day to include in results - name: start_date in: query required: false schema: type: string description: the start date to calculate days included in results - name: max in: query required: false schema: type: integer description: 'the maximum number of countries to include in the results Default: 10.' - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset - name: summarize in: query required: false schema: type: boolean description: Return summary data instead of detailed period data /sites/{site}/stats/devices/{device_property_name}: get: operationId: getSitesBySiteStatsDevicesByDevicePropertyName summary: Fetch site's Device properties statistics. description: Fetch site's Device properties statistics. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: top_values: type: object description: Each key is a string with one Device property. Each value is an integer indicating how many views had this Device property(s). For screensize the integer refers to percentage. '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: device_property_name in: path required: true schema: type: string enum: - screensize - platform - browser description: 'screensize: (default) Stats for screen sizes; platform: Stats for operating systems; browser: Stats for browsers' - 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: max in: query required: false schema: type: integer description: 'The maximum number of results to return Default: 10.' - name: date in: query required: false schema: type: string description: the most recent day to include in results - name: start_date in: query required: false schema: type: string description: the start date to calculate days included in results - name: days in: query required: false schema: type: integer description: 'number of days to include in the query Default: 1.' /sites/{site}/stats/emails/summary: get: operationId: getSitesBySiteStatsEmailsSummary summary: View the total number of email opens and clicks for each post. description: View the total number of email opens and clicks for each post. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: posts: type: array items: {} description: An array of posts with the total opens/clicks for each post '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: The site's 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: quantity in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 10.' - name: sort_field in: query required: false schema: type: string enum: - opens - clicks - post_id - post_date description: 'opens: (default) Sort by the number of opens; clicks: Sort by the number of clicks; post_id: Sort by the post id; post_date: Sort by the post date' - name: sort_order in: query required: false schema: type: string enum: - asc - desc description: 'asc: (default) Sort in ascending order; desc: Sort in descending order' /sites/{site}/stats/file-downloads: get: operationId: getSitesBySiteStatsFileDownloads summary: View a site's file downloads description: View a site's file downloads tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned period: type: string description: The period (day|week|month|year) days: type: array items: {} description: An array of days and the file downloads that occurred on those days '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: The site's 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: num in: query required: false schema: type: integer description: 'number of periods to include in the query Default: 1.' - name: date in: query required: false schema: type: string description: the most recent day to include in results - name: start_date in: query required: false schema: type: string description: the start date to calculate days included in results - name: max in: query required: false schema: type: integer description: 'the maximum number of files to include for each group of results Default: 10.' - name: period in: query required: false schema: type: string enum: - day - week - month - year description: 'day: (default) The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years' - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset - name: summarize in: query required: false schema: type: boolean description: Return summary data instead of detailed period data /sites/{site}/stats/followers: get: operationId: getSitesBySiteStatsFollowers summary: View a site's followers description: View a site's followers tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: page: type: integer description: The current page of results returned pages: type: integer description: The total number of pages of results available total: type: integer description: The total number of followers total_email: type: integer description: The total number of email-only followers total_wpcom: type: integer description: The total number of WordPress.com followers subscribers: type: array items: {} description: An array containing the subscribers is_owner_subscribed: type: boolean description: Has the site owner been subscribing 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: site in: path required: true schema: type: string description: The site's 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: type in: query required: false schema: type: string description: 'One of: ''wpcom'' or ''email''. Default: ''wpcom''.' - name: page in: query required: false schema: type: integer description: 'The page of results to return. Default: 1.' - name: max in: query required: false schema: type: integer description: 'The number of results to return per page. Defaults to 20. Maximum 100. Default: 20.' - name: search in: query required: false schema: type: string description: Returns followers with matching email addresses. Only works in combination with type="email". - name: filter_admin in: query required: false schema: type: boolean description: 'Filter admin from being subscribers count if the value is true. Default: false.' /sites/{site}/stats/highlights: get: operationId: getSitesBySiteStatsHighlights summary: View highlight metrics from the last seven days. description: View highlight metrics from the last seven days. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: comments: type: integer description: The number of comments in the specified time period likes: type: integer description: The number of likes in the specified time period views: type: integer description: The number of views in the specified time period visitors: type: integer description: The number of visitors in the specified time period '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: The site's 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. /sites/{site}/stats/location-views/{geo_mode}: get: operationId: getSitesBySiteStatsLocationViewsByGeoMode summary: View a site's views by country, region and city description: View a site's views by country, region and city tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned days: type: array items: {} description: An array of days and the country views that occurred on those days (omitted when summarize=true) summary: type: array items: {} description: Summary of country views that occured over the specified period (omitted when summarize=false) country-info: type: array items: {} description: An array containing location info '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: The site's id or domain - name: geo_mode in: path required: true schema: type: string enum: - country - region - city description: 'country: (default) Stats per country; region: Stats per region; city: Stats per city' - 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: num in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 1.' - name: period in: query required: false schema: type: string enum: - day - week - month - year description: 'day: (default) The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years' - name: date in: query required: false schema: type: string description: The most recent day to include in results - name: start_date in: query required: false schema: type: string description: the start date to calculate days included in results - name: max in: query required: false schema: type: integer description: 'the maximum number of countries to include in the results Default: 10.' - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset - name: summarize in: query required: false schema: type: boolean description: Return summary data instead of detailed period data - name: filter_by_country in: query required: false schema: type: string description: The ISO-3166-1 country code to filter results with /sites/{site}/stats/opens/emails/summary: get: operationId: getSitesBySiteStatsOpensEmailsSummary summary: View the total number of email opens for each post. description: View the total number of email opens for each post. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned period: type: string description: The period for which stats are returned posts: type: array items: {} description: An array of posts with the total views for each post '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: The site's 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: quantity in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 10.' - name: period in: query required: false schema: type: string enum: - hour - day - week - month - year - alltime description: 'hour: (default) The output will return results over the past [num] hours; day: The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years; alltime: The output will return results from all time' - name: date in: query required: false schema: type: string description: The most recent day to include in results, accepts Y-m-d format /sites/{site}/stats/opens/emails/{post_id}: get: operationId: getSitesBySiteStatsOpensEmailsByPostId summary: View multiple stats related to email opens by post. description: View multiple stats related to email opens by post. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: data: type: object description: An object containing the opens rate, and the opens and sends counts. '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: The site's id or domain. - name: post_id in: path required: true schema: type: integer description: The post's id - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: quantity in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 1.' - name: period in: query required: false schema: type: string enum: - hour - day - week - month - year description: 'hour: (default) The output will return results over the past [num] hours; day: The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years' - name: date in: query required: false schema: type: string description: The most recent day to include in results, accepts Y-m-d or Y-m-d\Th:00:00 - name: stats_fields in: query required: false schema: type: string description: 'A comma-separated list of the fields requested in the response Default: ''timeline,opens_rate,client,country,device''.' /sites/{site}/stats/opens/emails/{post_id}/client: get: operationId: getSitesBySiteStatsOpensEmailsByPostIdClient summary: View email opens stats by client. description: View email opens stats by client. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: clients: type: object description: An object containing the email opens by client. '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: The site's id or domain. - name: post_id in: path required: true schema: type: integer description: The post's 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. /sites/{site}/stats/opens/emails/{post_id}/country: get: operationId: getSitesBySiteStatsOpensEmailsByPostIdCountry summary: View email opens stats by country. description: View email opens stats by country. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: countries: type: object description: An object containing the email opens by country. '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: The site's id or domain. - name: post_id in: path required: true schema: type: integer description: The post's 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. /sites/{site}/stats/opens/emails/{post_id}/device: get: operationId: getSitesBySiteStatsOpensEmailsByPostIdDevice summary: View email opens stats by device. description: View email opens stats by device. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: devices: type: object description: An object containing the email opens by device. '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: The site's id or domain. - name: post_id in: path required: true schema: type: integer description: The post's 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. /sites/{site}/stats/opens/emails/{post_id}/rate: get: operationId: getSitesBySiteStatsOpensEmailsByPostIdRate summary: View email opens rate by post. description: View email opens rate by post. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: total_opens: type: number description: Total number of email opens for that post over the time. total_sends: type: number description: Total number of recipients where the email was sent. opens_rate: type: number description: The opens rate value in decimal format, result of total_opens / total_sends. '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: The site's id or domain. - name: post_id in: path required: true schema: type: integer description: The post's 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. /sites/{site}/stats/post/{post_id}: get: operationId: getSitesBySiteStatsPostByPostId summary: View a post's views description: View a post's views tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned years: type: array items: {} description: Views grouped by years and months averages: type: array items: {} description: Per-day average of views grouped by years and months weeks: type: array items: {} description: Daily views for recent weeks like_count: type: integer description: The number of likes for this post. Null when no specific post is requested. discussion: type: object description: Discussion data for the post, currently the `comment_count`. Null when no specific post is requested. '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: The site's id or domain - name: post_id in: path required: true schema: type: integer description: The post's 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. /sites/{site}/stats/publicize: get: operationId: getSitesBySiteStatsPublicize summary: View a site's publicize follower counts description: View a site's publicize follower counts tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: services: type: array items: {} description: An array of services and follower stats '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: The site's 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. /sites/{site}/stats/referrers: get: operationId: getSitesBySiteStatsReferrers summary: View a site's referrers description: View a site's referrers tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned days: type: array items: {} description: An array of days and the referrer views that occurred on those days (omitted when summarize=true) summary: type: object description: Summary of referrer views that occured over the specified period (omitted when summarize=false) period: type: string description: The period represented in the stats 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: site in: path required: true schema: type: string description: The site's 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: num in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 1.' - name: period in: query required: false schema: type: string enum: - day - week - month - year description: 'day: (default) The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years' - name: date in: query required: false schema: type: string description: The most recent day to include in results - name: start_date in: query required: false schema: type: string description: the start date to calculate days included in results - name: max in: query required: false schema: type: integer description: 'The maximum number of results to return Default: 10.' - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset - name: summarize in: query required: false schema: type: boolean description: Return summary data instead of detailed period data /sites/{site}/stats/referrers/spam: get: operationId: getSitesBySiteStatsReferrersSpam summary: List referrers marked as spam description: List referrers marked as spam tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: domains: type: array items: {} description: List of spam-blocked referrer domains '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: The site's 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. /sites/{site}/stats/referrers/spam/delete: post: operationId: postSitesBySiteStatsReferrersSpamDelete summary: Unreport a referrer as spam description: Unreport a referrer as spam tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Whether or not the report was successful '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: The site's id or domain - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: domain in: query required: false schema: type: string description: The domain of the site being unreported as spam /sites/{site}/stats/referrers/spam/new: post: operationId: postSitesBySiteStatsReferrersSpamNew summary: Report a referrer as spam description: Report a referrer as spam tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Whether or not the report was successful '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: The site's id or domain - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: domain in: query required: false schema: type: string description: The domain of the site being reported as spam /sites/{site}/stats/search-terms: get: operationId: getSitesBySiteStatsSearchTerms summary: View search terms used to find the site description: View search terms used to find the site tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned days: type: array items: {} description: An array of days and the searches that occurred on those days (omitted when summarize=true) summary: type: object description: Summary of searches that occured over the specified period (omitted when summarize=false) period: type: string description: The period represented in the stats 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: site in: path required: true schema: type: string description: The site's 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: num in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 1.' - name: period in: query required: false schema: type: string enum: - day - week - month - year description: 'day: (default) The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years' - name: date in: query required: false schema: type: string description: The most recent day to include in results - name: start_date in: query required: false schema: type: string description: the start date to calculate days included in results - name: max in: query required: false schema: type: integer description: 'The maximum number of results to return Default: 10.' - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset - name: summarize in: query required: false schema: type: boolean description: Return summary data instead of detailed period data /sites/{site}/stats/streak: get: operationId: getSitesBySiteStatsStreak summary: Get stats for Calendar Heatmap. Returns data with each post timestamp. description: Get stats for Calendar Heatmap. Returns data with each post timestamp. tags: - stats responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: 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: startDate in: query required: false schema: type: string description: start date for query - name: endDate in: query required: false schema: type: string description: end date for query - name: max in: query required: false schema: type: integer description: maximum number of posts to return /sites/{site}/stats/summary: get: operationId: getSitesBySiteStatsSummary summary: View a site's summarized views, visitors, likes and comments description: View a site's summarized views, visitors, likes and comments tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The date that determines the most recent period for which stats are returned period: type: string description: The period for which stats are returned views: type: integer description: The number of views during the given period, up to 'date' visitors: type: integer description: The number of visitors during the given period likes: type: integer description: The number of likes during the given period reblogs: type: integer description: The number of reblogs during the given period comments: type: integer description: The number of comments during the given period followers: type: integer description: The total number of site followers '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: The site's 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: num in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 1.' - name: period in: query required: false schema: type: string enum: - day - week - month - year description: 'day: (default) The output will return results over the past [num] days, the last day being ''date''; week: The output will return results over the past [num] weeks, the last week being the one including ''date''; month: The output will return results over the past [num] months, the last month being the one including ''date''; year: The output will return results over the past [num] years, the last year being the one including ''date''' - name: date in: query required: false schema: type: string description: The date that determines the most recent period for which results are returned - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset /sites/{site}/stats/tags: get: operationId: getSitesBySiteStatsTags summary: View a site's views by tags and categories description: View a site's views by tags and categories tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned tags: type: array items: {} description: An array of tags and tag-views for the requested site '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: The site's 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: max in: query required: false schema: type: integer description: 'the maximum number of tags to include in result Default: 10.' /sites/{site}/stats/top-authors: get: operationId: getSitesBySiteStatsTopAuthors summary: View a site's top authors description: View a site's top authors tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned days: type: array items: {} description: An array of days and the author views that occurred on those days (omitted when summarize=true) summary: type: array items: {} description: Summary of author views that occured over the specified period (omitted when summarize=false) period: type: string description: The period used for the stats 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: site in: path required: true schema: type: string description: The site's 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: num in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 1.' - name: period in: query required: false schema: type: string enum: - day - week - month - year description: 'day: (default) The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years' - name: date in: query required: false schema: type: string description: The most recent day to include in results - name: start_date in: query required: false schema: type: string description: the start date to calculate days included in results - name: max in: query required: false schema: type: integer description: 'the maximum number of authors to include in results Default: 10.' - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset - name: summarize in: query required: false schema: type: boolean description: Return summary data instead of detailed period data /sites/{site}/stats/top-posts: get: operationId: getSitesBySiteStatsTopPosts summary: View a site's top posts and pages by views description: View a site's top posts and pages by views tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned days: type: array items: {} description: An array of days and the post views that occurred on those days (omitted when summarize=true) summary: type: array items: {} description: Summary of post views that occured over the specified period (omitted when summarize=false) period: type: string description: The period for which stats are 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: site in: path required: true schema: type: string description: The site's 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: num in: query required: false schema: type: integer description: 'Number of periods to include in the results Default: 1.' - name: period in: query required: false schema: type: string enum: - day - week - month - year description: 'day: (default) The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years' - name: date in: query required: false schema: type: string description: The most recent day to include in results - name: start_date in: query required: false schema: type: string description: the start date to calculate days included in results - name: max in: query required: false schema: type: integer description: 'The maximum number of results to return Default: 10.' - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset - name: summarize in: query required: false schema: type: boolean description: Return summary data instead of detailed period data - name: skip_archives in: query required: false schema: type: boolean description: Skip home/archives pages from the results - name: migrate_archive_homepage in: query required: false schema: type: boolean description: Migrate archive homepage views to update the Home page / Archive display /sites/{site}/stats/utm/{utm_param_name}: get: operationId: getSitesBySiteStatsUtmByUtmParamName summary: Fetch site's UTM param statistics. description: Fetch site's UTM param statistics. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: top_utm_values: type: object description: Each key is either a string with one UTM value, or a string with json encoded array containing multiple UTM values (when $utm_param_name contains comma). Each value is an integer indicating how many views had this UTM parameter(s). '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: utm_param_name in: path required: true schema: type: string enum: - utm_id - utm_source - utm_medium - utm_campaign - utm_term - utm_content - utm_source_platform - utm_creative_format - utm_marketing_tactic - utm_source,utm_medium - utm_campaign,utm_source,utm_medium description: 'utm_id: (default) Stats for utm_id parameter; utm_source: Stats for utm_source parameter; utm_medium: Stats for utm_medium parameter; utm_campaign: Stats for utm_campaign parameter; utm_term: Stats for utm_term parameter; utm_content: Stats for utm_content parameter; utm_source_platform: Stats for utm_source_platform parameter; utm_creative_format: Stats for utm_creative_format parameter; utm_marketing_tactic: Stats for utm_marketing_tactic parameter; utm_source,utm_medium: Stats for combinations of two UTM parameters: utm_source, utm_medium; utm_campaign,utm_source,utm_medium: Stats for combinations of three UTM parameters: utm_campaign, utm_source, utm_medium' - 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: max in: query required: false schema: type: integer description: 'The maximum number of results to return Default: 10.' - name: date in: query required: false schema: type: string description: the most recent day to include in results - name: start_date in: query required: false schema: type: string description: the start date to calculate days included in results - name: days in: query required: false schema: type: integer description: 'number of days to include in the query Default: 1.' - name: post_id in: query required: false schema: type: integer description: post's id, set this if you want to fetch stats for a specific post only - name: query_top_posts in: query required: false schema: type: boolean description: 'return top posts for utm combinations Default: false.' /sites/{site}/stats/utm/{utm_param_name}/top_posts: get: operationId: getSitesBySiteStatsUtmByUtmParamNameTopPosts summary: Fetch top posts for a given UTM parameter value. description: Fetch top posts for a given UTM parameter value. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: top_posts: type: array items: {} description: Array of objects containing `id` (post id), `href` (link to post), `title` and `views` (how many times a post was opened with given UTM values). '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: utm_param_name in: path required: true schema: type: string enum: - utm_id - utm_source - utm_medium - utm_campaign - utm_term - utm_content - utm_source_platform - utm_creative_format - utm_marketing_tactic - utm_source,utm_medium - utm_campaign,utm_source,utm_medium description: 'utm_id: (default) Stats for utm_id parameter; utm_source: Stats for utm_source parameter; utm_medium: Stats for utm_medium parameter; utm_campaign: Stats for utm_campaign parameter; utm_term: Stats for utm_term parameter; utm_content: Stats for utm_content parameter; utm_source_platform: Stats for utm_source_platform parameter; utm_creative_format: Stats for utm_creative_format parameter; utm_marketing_tactic: Stats for utm_marketing_tactic parameter; utm_source,utm_medium: Stats for combinations of two UTM parameters: utm_source, utm_medium; utm_campaign,utm_source,utm_medium: Stats for combinations of three UTM parameters: utm_campaign, utm_source, utm_medium' - 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: utm_param_values in: query required: false schema: type: string description: Required. UTM parameter values for which to fetch breakdown by posts. When $utm_param_name contains comma this should be the string containing a json-encoded array. - name: max in: query required: false schema: type: integer description: 'The maximum number of results to return Default: 10.' - name: date in: query required: false schema: type: string description: the most recent day to include in results - name: start_date in: query required: false schema: type: string description: the start date to calculate days included in results - name: days in: query required: false schema: type: integer description: 'number of days to include in the query Default: 1.' /sites/{site}/stats/video-plays: get: operationId: getSitesBySiteStatsVideoPlays summary: View a site's video plays description: View a site's video plays tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned days: type: array items: {} description: An array of days and the video plays that occurred on those days '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: The site's 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: num in: query required: false schema: type: integer description: 'number of periods to include in the query Default: 1.' - name: date in: query required: false schema: type: string description: the most recent day to include in results - name: start_date in: query required: false schema: type: string description: starting date when requesting a range of results - name: max in: query required: false schema: type: integer description: 'the maximum number of videos to include for each group of results Default: 10.' - name: period in: query required: false schema: type: string enum: - day - week - month - year description: 'day: (default) The output will return results over the past [num] days; week: The output will return results over the past [num] weeks; month: The output will return results over the past [num] months; year: The output will return results over the past [num] years' - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset - name: complete_stats in: query required: false schema: type: boolean description: 'Request complete stats (views, impressions and watch_time) instead of plays only Default: false.' - name: check_stats_module in: query required: false schema: type: boolean description: 'Check for stats module to short-circuit the request Default: true.' - name: summarize in: query required: false schema: type: boolean description: Return summary data instead of detailed period data /sites/{site}/stats/video/{post_id}: get: operationId: getSitesBySiteStatsVideoByPostId summary: View the details of a single video description: View the details of a single video tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most recent day for which stats are returned, when range parameters are used period: type: string description: The bucket granularity of the results, when range parameters are used fields: type: array items: {} description: An array containing the fields returned data: type: array items: {} description: An array containing the visits data total: type: object description: Totals over the requested window for the requested metric(s), keyed by metric name. retention_rate is play-weighted. pages: type: array items: {} description: An array of URLs of pages the video was played on pages_detail: type: array items: {} description: An array of pages the video was played on, each with url, post_id, and title (post_id and title are null for off-site pages) post: type: object description: Information about the video post object, including `poster` — the URL of the video's poster image, or null '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: The site's id or domain - name: post_id in: path required: true schema: type: integer description: The video's id - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: statType in: query required: false schema: type: string description: 'The metric to return: views|plays|impressions|watch_time|retention_rate|all. views and plays are equivalent. Default: ''views''.' - name: period in: query required: false schema: type: string description: 'The bucket granularity: day|week|month|year. Without date/start_date/num it selects the legacy trailing window instead. Default: ''day''.' - name: num in: query required: false schema: type: integer description: Number of periods to include in the results. -1 returns the full series since the video was published. - name: date in: query required: false schema: type: string description: The most recent day to include in results - name: start_date in: query required: false schema: type: string description: The start date for the results; overrides num - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset /sites/{site}/stats/views/posts: get: operationId: getSitesBySiteStatsViewsPosts summary: View the total number of views for each post. description: View the total number of views for each post. tags: - stats responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: The most-recent day for which stats are returned. posts: type: array items: {} description: An array of posts with the total views for each post. '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: The site's 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_ids in: query required: false schema: type: string description: comma separated list of post ids. Maximum of 100 post_ids per request. - name: num in: query required: false schema: type: integer description: 'number of days to include in the query. Maximum of 30. Default: 1.' - name: date in: query required: false schema: type: string description: the most recent day to include in results, in YYYY-MM-DD format. Defaults to today. - name: offset in: query required: false schema: type: integer description: The offset, in hours, from GMT for which to fetch results. If omitted, defaults to site's offset. /sites/{site}/sync/now: post: operationId: postSitesBySiteSyncNow summary: Force immediate sync of top items on a queue description: Force immediate sync of top items on a queue tags: - general responses: '200': description: OK content: application/json: schema: type: object properties: response: type: array items: {} description: The response from the server '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: The site ID, The site 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: queue: type: string description: sync or full_sync /sites/{site}/sync/status: get: operationId: getSitesBySiteSyncStatus summary: Status of the current full sync or the previous full sync description: Status of the current full sync or the previous full sync tags: - general responses: '200': description: OK content: application/json: schema: type: object properties: posts_checksum: type: string description: Posts checksum. Needs to be requested using the filter parameter. comments_checksum: type: string description: Comments checksum. Needs to be requested using the filter parameter. post_meta_checksum: type: string description: Post Meta checksum. Needs to be requested using the filter parameter. comment_meta_checksum: type: string description: Comment Meta checksum. Needs to be requested using the filter parameter. started: type: string description: The unix timestamp when the last sync started queue_finished: type: string description: The unix timestamp when the enqueuing was done for the last sync send_started: type: string description: The unix timestamp when the last sent process started finished: type: string description: The unix timestamp when the last sync finished total: type: array items: {} description: Count of actions that could be sent queue: type: array items: {} description: Count of actions that have been added to the queue sent: type: array items: {} description: Count of actions that have been sent config: type: array items: {} description: Configuration of the last full sync queue_size: type: integer description: Number of items in the sync queue queue_lag: type: number description: Time delay of the oldest item in the sync queue queue_next_sync: type: number description: Time in seconds before trying to sync again full_queue_size: type: integer description: Number of items in the full sync queue full_queue_lag: type: number description: Time delay of the oldest item in the full sync queue full_queue_next_sync: type: number description: Time in seconds before trying to sync the full sync queue again cron_size: type: integer description: Size of the current cron array next_cron: type: integer description: The number of seconds till the next item in cron. progress: type: array items: {} description: Full Sync status by module debug_details: type: array items: {} description: Details as to why Sync is disabled. '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: The site ID, The site 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: List of comma-separated fields to return (see `response_format`). - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/tags: get: operationId: getSitesBySiteTags summary: Get a list of a site's tags. description: Get a list of a site's tags. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The number of tags returned. tags: type: array items: {} description: Array of tag 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: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'The number of tags to return. Limit: 1000. Default: 100.' - name: offset in: query required: false schema: type: integer description: 0-indexed offset. - name: page in: query required: false schema: type: integer description: Return the Nth 1-indexed page of tags. Takes precedence over the offset parameter. - name: search in: query required: false schema: type: string description: Limit response to include only tags whose names or slugs match the provided search query. - name: order in: query required: false schema: type: string enum: - ASC - DESC description: 'ASC: (default) Return tags in ascending order.; DESC: Return tags in descending order.' - name: order_by in: query required: false schema: type: string enum: - name - count description: 'name: (default) Order by the name of each tag.; count: Order by the number of posts in each tag.' /sites/{site}/tags/new: post: operationId: postSitesBySiteTagsNew summary: Create a new tag. description: Create a new tag. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The tag ID. name: type: string description: The name of the tag. slug: type: string description: The slug of the tag. description: type: string description: The description of the tag. post_count: type: integer description: The number of posts using this t. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: Name of the tag description: type: string description: A description of the tag /sites/{site}/tags/slug:{tag}: get: operationId: getSitesBySiteTagsSlugTag summary: Get information about a single tag. description: Get information about a single tag. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The tag ID. name: type: string description: The name of the tag. slug: type: string description: The slug of the tag. description: type: string description: The description of the tag. post_count: type: integer description: The number of posts using this t. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: tag in: path required: true schema: type: string description: The tag slug - 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: postSitesBySiteTagsSlugTag summary: Edit a tag. description: Edit a tag. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The tag ID. name: type: string description: The name of the tag. slug: type: string description: The slug of the tag. description: type: string description: The description of the tag. post_count: type: integer description: The number of posts using this t. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: tag in: path required: true schema: type: string description: The tag slug - 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: name: type: string description: Name of the tag description: type: string description: A description of the tag /sites/{site}/tags/slug:{tag}/delete: post: operationId: postSitesBySiteTagsSlugTagDelete summary: Delete a tag. description: Delete a tag. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The tag ID. name: type: string description: The name of the tag. slug: type: string description: The slug of the tag. description: type: string description: The description of the tag. post_count: type: integer description: The number of posts using this t. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: tag in: path required: true schema: type: string description: The tag slug - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/taxonomies/{taxonomy}/terms: get: operationId: getSitesBySiteTaxonomiesByTaxonomyTerms summary: Get a list of a site's terms by taxonomy. description: Get a list of a site's terms by taxonomy. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The number of terms returned. terms: type: array items: {} description: Array of tag 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: site in: path required: true schema: type: string description: Site ID or domain - name: taxonomy in: path required: true schema: type: string description: Taxonomy - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'The number of terms to return. Limit: 1000. Default: 100.' - name: offset in: query required: false schema: type: integer description: 0-indexed offset. - name: page in: query required: false schema: type: integer description: Return the Nth 1-indexed page of terms. Takes precedence over the offset parameter. - name: search in: query required: false schema: type: string description: Limit response to include only terms whose names or slugs match the provided search query. - name: order in: query required: false schema: type: string enum: - ASC - DESC description: 'ASC: (default) Return terms in ascending order.; DESC: Return terms in descending order.' - name: order_by in: query required: false schema: type: string enum: - name - count description: 'name: (default) Order by the name of each tag.; count: Order by the number of posts in each tag.' /sites/{site}/taxonomies/{taxonomy}/terms/new: post: operationId: postSitesBySiteTaxonomiesByTaxonomyTermsNew summary: Create a new term. description: Create a new term. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The category ID. name: type: string description: The name of the category. slug: type: string description: The slug of the category. description: type: string description: The description of the category. post_count: type: integer description: The number of posts using this category. feed_url: type: string description: The URL of the feed for this category. parent: type: integer description: The parent ID for the category. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: taxonomy in: path required: true schema: type: string description: Taxonomy - 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: name: type: string description: Name of the term description: type: string description: A description of the term parent: type: integer description: The parent ID for the term, if hierarchical /sites/{site}/taxonomies/{taxonomy}/terms/slug:{slug}: get: operationId: getSitesBySiteTaxonomiesByTaxonomyTermsSlugSlug summary: Get information about a single term. description: Get information about a single term. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The term ID. name: type: string description: The name of the term. slug: type: string description: The slug of the term. description: type: string description: The description of the term. post_count: type: integer description: The number of posts using this term. parent: type: integer description: The parent ID for the term, if hierarchical. '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: taxonomy in: path required: true schema: type: string description: Taxonomy - name: slug in: path required: true schema: type: string description: Term slug - 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: postSitesBySiteTaxonomiesByTaxonomyTermsSlugSlug summary: Edit a term. description: Edit a term. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The category ID. name: type: string description: The name of the category. slug: type: string description: The slug of the category. description: type: string description: The description of the category. post_count: type: integer description: The number of posts using this category. feed_url: type: string description: The URL of the feed for this category. parent: type: integer description: The parent ID for the category. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: taxonomy in: path required: true schema: type: string description: Taxonomy - name: slug in: path required: true schema: type: string description: The term slug - 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: name: type: string description: Name of the term description: type: string description: A description of the term parent: type: integer description: The parent ID for the term, if hierarchical /sites/{site}/taxonomies/{taxonomy}/terms/slug:{slug}/delete: post: operationId: postSitesBySiteTaxonomiesByTaxonomyTermsSlugSlugDelete summary: Delete a term. description: Delete a term. tags: - taxonomy responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The category ID. name: type: string description: The name of the category. slug: type: string description: The slug of the category. description: type: string description: The description of the category. post_count: type: integer description: The number of posts using this category. feed_url: type: string description: The URL of the feed for this category. parent: type: integer description: The parent ID for the category. meta: type: object description: Meta data '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: taxonomy in: path required: true schema: type: string description: Taxonomy - name: slug in: path required: true schema: type: string description: The term slug - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/themes: get: operationId: getSitesBySiteThemes summary: Get information about a theme on WordPress.com. description: Get information about a theme on WordPress.com. tags: - themes responses: '200': description: OK content: application/json: schema: type: object properties: themes: type: array items: {} description: A list of themes. count: type: integer description: The amount of themes. '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: locale in: query required: false schema: type: string description: 'ISO 639-1 Locale. Default: en.' - name: currency in: query required: false schema: type: string description: 'Currency. Default: USD.' - name: extended in: query required: false schema: type: boolean description: 'To add additional information. Default: False.' /sites/{site}/themes/mine: get: operationId: getSitesBySiteThemesMine summary: Get the active theme of a site. description: Get the active theme of a site. tags: - themes responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: The theme's ID.. screenshot: type: string description: A theme screenshot URL name: type: string description: The name of the theme. theme_uri: type: string description: The URI of the theme's webpage. description: type: string description: A description of the theme. tags: type: array items: {} description: Tags indicating styles and features of the theme. price: type: number description: The price, in USD, of the theme. '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. post: operationId: postSitesBySiteThemesMine summary: Change the active theme of a site. description: Change the active theme of a site. tags: - themes responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: The theme's ID. screenshot: type: string description: A theme screenshot URL name: type: string description: The name of the theme. description: type: string description: A description of the theme. tags: type: array items: {} description: Tags indicating styles and features of the theme. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Site ID or domain - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: theme: type: string description: The ID of the theme that should be activated style_variation_slug: type: string description: Optional. The slug of the style variation to apply to the theme. /sites/{site}/translations: get: operationId: getSitesBySiteTranslations summary: Gets info about a Jetpack blog's core installation description: Gets info about a Jetpack blog's core installation tags: - general responses: '200': description: OK content: application/json: schema: type: object properties: translations: type: array items: {} description: A list of translations that are available autoupdate: type: boolean description: Whether or not we automatically update translations log: type: array items: {} description: An array of log strings. '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: The site ID, The site 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. post: operationId: postSitesBySiteTranslations summary: Toggle automatic core updates for a Jetpack blog description: Toggle automatic core updates for a Jetpack blog tags: - general responses: '200': description: OK content: application/json: schema: type: object properties: translations: type: array items: {} description: A list of translations that are available autoupdate: type: boolean description: Whether or not we automatically update translations '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: The site ID, The site 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: autoupdate: type: boolean description: Whether or not we automatically update translations /sites/{site}/translations/update: post: operationId: postSitesBySiteTranslationsUpdate summary: Update All Translations installation on a Jetpack blog description: Update All Translations installation on a Jetpack blog tags: - general responses: '200': description: OK content: application/json: schema: type: object properties: log: type: array items: {} description: An array of log strings. success: type: boolean description: Was the operation successful '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: The site ID, The site 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. /sites/{site}/updates: get: operationId: getSitesBySiteUpdates summary: Get counts for available updates description: Get counts for available updates tags: - general responses: '200': description: OK content: application/json: schema: type: object properties: plugins: type: integer description: The total number of plugins updates. themes: type: integer description: The total number of themes updates. wordpress: type: integer description: The total number of core updates. translations: type: integer description: The total number of translation updates. total: type: integer description: The total number of updates. wp_version: type: string description: The wp_version string. wp_update_version: type: string description: The wp_version to update string. jp_version: type: string description: The site Jetpack version. '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: The site ID, The site 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. /sites/{site}/users: get: operationId: getSitesBySiteUsers summary: List the users of a site. description: List the users of a site. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: found: type: integer description: The total number of authors found that match the request (ignoring limits and offsets). users: type: array items: {} description: Array of user objects authors: type: array items: {} description: Array of author 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: site in: path required: true schema: type: string description: Site ID or domain - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'Limit the total number of authors returned. Default: 20.' - name: offset in: query required: false schema: type: integer description: The first n authors to be skipped in the returned array. - name: order in: query required: false schema: type: string enum: - DESC - ASC description: 'DESC: (default) Return authors in descending order.; ASC: Return authors in ascending order.' - name: order_by in: query required: false schema: type: string enum: - ID - login - nicename - email - url - registered - display_name - post_count description: 'ID: (default) Order by ID (default).; login: Order by username.; nicename: Order by nicename.; email: Order by author email address.; url: Order by author URL.; registered: Order by registered date.; display_name: Order by display name.; post_count: Order by number of posts published.' - name: authors_only in: query required: false schema: type: boolean description: Set to true to fetch authors only - name: include_viewers in: query required: false schema: type: boolean description: Set to true to include viewers for Simple sites. When you pass in this parameter, order, order_by and search_columns are ignored. Currently, `search` is limited to the first page of results. - name: type in: query required: false schema: type: string description: Specify the post type to query authors for. Only works when combined with the `authors_only` flag. Defaults to 'post'. Post types besides post and page need to be whitelisted using the rest_api_allowed_post_types filter. - name: search in: query required: false schema: type: string description: Find matching users. - name: search_columns in: query required: false schema: type: array items: {} description: Specify which columns to check for matching users. Can be any of 'ID', 'user_login', 'user_email', 'user_url', 'user_nicename', and 'display_name'. Only works when combined with `search` parameter. - name: role in: query required: false schema: type: string description: Specify a specific user role to fetch. - name: capability in: query required: false schema: type: string description: Specify a specific capability to fetch. You can specify multiple by comma-separating them, in which case the user needs to match all capabilities provided. /sites/{site}/users/login:{user_id}: get: operationId: getSitesBySiteUsersLoginUserId summary: Get details of a user of a site by login. description: Get details of a user of a site by login. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the user login: type: string description: The login username of the user email: type: string description: The email of the user name: type: string description: The name to display for the user first_name: type: string description: The first name of the user last_name: type: string description: The last name of the user nice_name: type: string description: The nice_name to display for the user URL: type: string description: The primary blog of the user avatar_URL: type: string format: uri description: Gravatar image URL profile_URL: type: string format: uri description: Gravatar Profile URL site_ID: type: integer description: ID of the user's primary blog roles: type: string description: The role or roles of the user '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: The site ID or domain. - name: user_id in: path required: true schema: type: string description: The user's login. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/users/{user_ID}/delete: post: operationId: postSitesBySiteUsersByUserIdDelete summary: Deletes or removes a user of a site. description: Deletes or removes a user of a site. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: Was the deletion of user successful? '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: The site ID or domain. - name: user_ID in: path required: true schema: type: integer description: The user's 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. requestBody: required: false content: application/json: schema: type: object properties: reassign: type: integer description: An optional id of a user to reassign posts to. /sites/{site}/users/{user_id}: post: operationId: postSitesBySiteUsersByUserId summary: Update details of a user of a site. description: Update details of a user of a site. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the user login: type: string description: The login username of the user email: type: string description: The email of the user name: type: string description: The name to display for the user first_name: type: string description: The first name of the user last_name: type: string description: The last name of the user nice_name: type: string description: The nice_name to display for the user URL: type: string description: The primary blog of the user avatar_URL: type: string format: uri description: Gravatar image URL profile_URL: type: string format: uri description: Gravatar Profile URL site_ID: type: integer description: ID of the user's primary blog roles: type: string description: The role or roles of the user '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: The site ID or domain. - name: user_id in: path required: true schema: type: integer description: The user's 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. requestBody: required: false content: application/json: schema: type: object properties: ID: type: integer description: The ID of the user login: type: string description: The login username of the user email: type: string description: The email of the user name: type: string description: The name to display for the user first_name: type: string description: The first name of the user last_name: type: string description: The last name of the user nice_name: type: string description: The nice_name to display for the user URL: type: string description: The primary blog of the user avatar_URL: type: string format: uri description: Gravatar image URL profile_URL: type: string format: uri description: Gravatar Profile URL site_ID: type: integer description: ID of the user's primary blog roles: type: string description: The role or roles of the user /sites/{site}/widgets: get: operationId: getSitesBySiteWidgets summary: Retrieve the active and inactive widgets for a site. description: Retrieve the active and inactive widgets for a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: widgets: type: array items: {} description: An array of widget objects. Inactive widgets will be in the sidebar `wp_inactive_widgets`. '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. /sites/{site}/widgets/new: post: operationId: postSitesBySiteWidgetsNew summary: Activate a widget on a site. description: Activate a widget on a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: The actual ID of the widget. sidebar: type: string description: The ID of the sidebar where this widget will be active. position: type: integer description: The final position of the widget in the sidebar. settings: type: array items: {} description: The settings for the new widget. '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: id_base: type: string description: The base ID of the widget. sidebar: type: string description: Optional. The ID of the sidebar where this widget will be active. If empty, the widget will be added in the first sidebar available. position: type: integer description: Optional. The position of the widget in the sidebar. settings: type: object description: Optional. The settings for the new widget. /sites/{site}/widgets/widget:{id}: get: operationId: getSitesBySiteWidgetsWidgetId summary: Retrieve a widget on a site by its ID. description: Retrieve a widget on a site by its ID. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: The ID of the widget. sidebar: type: string description: The ID of the sidebar where this widget will be active. position: type: integer description: The position of the widget in the sidebar. settings: type: array items: {} description: The settings for the new widget. '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: id in: path required: true schema: type: string description: Widget 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. post: operationId: postSitesBySiteWidgetsWidgetId summary: Update a widget on a site by its ID. description: Update a widget on a site by its ID. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: The ID of the widget. sidebar: type: string description: The ID of the sidebar where this widget will be active. position: type: integer description: The position of the widget in the sidebar. settings: type: array items: {} description: The settings for the widget. '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: id in: path required: true schema: type: string description: Widget 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. requestBody: required: false content: application/json: schema: type: object properties: sidebar: type: string description: Optional. The ID of the sidebar where this widget will be active. position: type: integer description: Optional. The new position of the widget in the sidebar. settings: type: object description: Optional. The settings to merge into the widget. /sites/{site}/widgets/widget:{id}/delete: post: operationId: postSitesBySiteWidgetsWidgetIdDelete summary: Deactivate a widget on a site by its ID. Will delete if already deactivated. description: Deactivate a widget on a site by its ID. Will delete if already deactivated. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: The ID of the widget. sidebar: type: string description: The ID of the sidebar where this widget will be inactive. position: type: integer description: The position of the widget in the inactive sidebar. settings: type: array items: {} description: The settings for the new widget. '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: id in: path required: true schema: type: string description: Widget 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. /sites/{site}/wordads/approve: post: operationId: postSitesBySiteWordadsApprove summary: Request streamlined approval to join the WordAds program. description: Request streamlined approval to join the WordAds program. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: approved: type: boolean description: Site successfully approved for WordAds '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. /sites/{site}/wordads/earnings: get: operationId: getSitesBySiteWordadsEarnings summary: Get detailed WordAds earnings information about a site. description: Get detailed WordAds earnings information about a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: Site ID name: type: string description: Title of site URL: type: string description: Full URL to the site earnings: type: array items: {} description: An array of options/settings for the blog. Only viewable by users with post editing rights to the site. '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. /sites/{site}/wordads/settings: get: operationId: getSitesBySiteWordadsSettings summary: Get detailed WordAds settings information about a site. description: Get detailed WordAds settings information about a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: Site ID name: type: string description: Title of site URL: type: string description: Full URL to the site settings: type: array items: {} description: An array of options/settings for the blog. Only viewable by users with post editing rights to the site. '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. post: operationId: postSitesBySiteWordadsSettings summary: Update WordAds settings for a site. description: Update WordAds settings for a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: updated: type: array items: {} description: List of the updated variables. '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: paypal: type: string description: PayPal Address show_to_logged_in: type: string description: Show ads to tos: type: string description: Terms of Service checkbox optimized_ads: type: boolean description: Show optimzed ads display_options: type: array items: {} description: 'Array of booleans: enable_header_ad, second_belowpost, sidebar, display_(front_page|post|page|archive)' ccpa_enabled: type: boolean description: Enable targeted advertising to California site visitors (CCPA) ccpa_privacy_policy_url: type: string description: Displayed at the bottom of the CCPA notice popup /sites/{site}/wordads/stats: get: operationId: getSitesBySiteWordadsStats summary: Get WordAds stats for a site description: Get WordAds stats for a site tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: date: type: string description: Date unit: type: integer description: Stats unit fields: type: array items: {} description: Array of stats fields data: type: array items: {} description: Array of stats organized by date '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: unit in: query required: false schema: type: string description: 'One of: day, week or month Default: ''day''.' - name: quantity in: query required: false schema: type: integer description: 'number of units to return Default: 30.' - name: date in: query required: false schema: type: string description: limit the chart data to visits earlier than requested date /sites/{site}/wordads/tos: get: operationId: getSitesBySiteWordadsTos summary: Get WordAds TOS information about a site. description: Get WordAds TOS information about a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: Site ID name: type: string description: Title of site URL: type: string description: Full URL to the site settings: type: array items: {} description: An array of options/settings for the blog. Only viewable by users with post editing rights to the site. '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. post: operationId: postSitesBySiteWordadsTos summary: Update WordAds TOS setting for a site. description: Update WordAds TOS setting for a site. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: tos: type: string description: The updated TOS status. '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: tos: type: string description: Terms of Service checkbox /support/alternates/{site}/posts/{post_ID}: get: operationId: getSupportAlternatesBySitePostsByPostId summary: Get alternates for support article (by ID). description: Get alternates for support article (by ID). tags: - alternates responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: site in: path required: true schema: type: string description: Support site ID or domain - name: post_ID in: path required: true schema: type: integer description: The post ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: locale in: query required: false schema: type: string description: Locale slug /test/version/{ID}/old: get: operationId: getTestVersionByIdOld summary: Test GET requests. description: Test GET requests. tags: - tests responses: '200': description: OK content: application/json: schema: type: object properties: method_id_matches_query_id: type: boolean description: Whether the arbitrary integer in the path matches the arbitrary integer in the query string. method_id: type: integer id: type: integer description: Another arbitrary integer default_string: type: string default_int: type: integer boolean_whitelist_defaults_to_false: type: boolean boolean_whitelist_defaults_to_true: type: boolean string_whitelist_defaults_to_foo: type: string url: type: string format: uri datetime: type: string format: date-time '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: ID in: path required: true schema: type: integer description: An arbitrary integer - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: id in: query required: false schema: type: integer description: Another arbitrary integer - name: default_string in: query required: false schema: type: string description: 'Default: ''default''.' - name: default_int in: query required: false schema: type: integer description: 'Default: 100.' - name: boolean_whitelist_defaults_to_false in: query required: false schema: type: boolean description: 'false: (default) False; true: True' - name: boolean_whitelist_defaults_to_true in: query required: false schema: type: boolean description: 'true: (default) TRUE; false: FALSE' - name: string_whitelist_defaults_to_foo in: query required: false schema: type: string enum: - foo - bar description: 'foo: (default) Foolish; bar: Barstow' - name: url in: query required: false schema: type: string format: uri - name: datetime in: query required: false schema: type: string format: date-time /test/{ID}: get: operationId: getTestById summary: Test GET requests. description: Test GET requests. tags: - tests responses: '200': description: OK content: application/json: schema: type: object properties: method_id_matches_query_id: type: boolean description: Whether the arbitrary integer in the path matches the arbitrary integer in the query string. method_id: type: integer id: type: integer description: Another arbitrary integer default_string: type: string default_int: type: integer boolean_whitelist_defaults_to_false: type: boolean boolean_whitelist_defaults_to_true: type: boolean string_whitelist_defaults_to_foo: type: string url: type: string format: uri datetime: type: string format: date-time '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: ID in: path required: true schema: type: integer description: An arbitrary integer - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: id in: query required: false schema: type: integer description: Another arbitrary integer - name: default_string in: query required: false schema: type: string description: 'Default: ''default''.' - name: default_int in: query required: false schema: type: integer description: 'Default: 100.' - name: boolean_whitelist_defaults_to_false in: query required: false schema: type: boolean description: 'false: (default) False; true: True' - name: boolean_whitelist_defaults_to_true in: query required: false schema: type: boolean description: 'true: (default) TRUE; false: FALSE' - name: string_whitelist_defaults_to_foo in: query required: false schema: type: string enum: - foo - bar description: 'foo: (default) Foolish; bar: Barstow' - name: url in: query required: false schema: type: string format: uri - name: datetime in: query required: false schema: type: string format: date-time post: operationId: postTestById summary: Test POST requests. description: Test POST requests. tags: - tests responses: '200': description: OK content: application/json: schema: type: object properties: method_id_matches_query_id: type: boolean description: Whether the arbitrary integer in the path matches the arbitrary integer in the query string. method_id_matches_input_id: type: boolean description: Whether the arbitrary integer in the path matches the arbitrary integer in the POST input. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: ID in: path required: true schema: type: integer description: An arbitrary integer - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: id in: query required: false schema: type: integer description: Another arbitrary integer requestBody: required: false content: application/json: schema: type: object properties: id: type: integer description: A potentially different arbitrary integer /themes: get: operationId: getThemes summary: Get a list of all available themes on WordPress.com. description: Get a list of all available themes on WordPress.com. tags: - themes responses: '200': description: OK content: application/json: schema: type: object properties: themes: type: array items: {} description: A list of themes. count: type: integer description: The amount of themes. '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: locale in: query required: false schema: type: string description: 'ISO 639-1 Locale. Default: en.' - name: currency in: query required: false schema: type: string description: 'Currency. Default: USD' - name: retired in: query required: false schema: type: boolean description: 'Include retired themes? Default: false.' - name: extended in: query required: false schema: type: boolean description: 'To add additional information. Default: False.' /themes/{theme_slug}: get: operationId: getThemesByThemeSlug summary: Get a theme on WordPress.com. description: Get a theme on WordPress.com. tags: - themes responses: '200': description: OK content: application/json: schema: type: object properties: id: type: string description: The theme's ID. Usually identical to its slug. slug: type: string description: The theme's slug. name: type: string description: The name of the theme. author: type: string description: The name of the author. author_uri: type: string format: uri description: The URL to the author's homepage. theme_uri: type: string format: uri description: The URL to the theme's homepage. demo_uri: type: string format: uri description: The URL to the demo page on WordPress.com. version: type: string description: The version of the theme. template: type: string description: The template name of the parent theme. Empty string if there is no parent. screenshot: type: string format: uri description: A theme screenshot URL. Equal to the first screenshot in the screenshots array. screenshots: type: array items: {} description: Screenshot URLs. description: type: string description: A description of the theme. description_long: type: string description: A detailed version of the theme's description date_launched: type: string format: date-time description: Date when the theme was launched on WordPress.com. date_updated: type: string format: date-time description: Date when the theme was last updated. price: type: string description: 'value: (float) The price of the theme in the specified currency.; currency: (string=USD) The currency of the theme price.; display: (string) A representation of the theme price, ready to be displayed.' enum: - value - currency - display language: type: string description: 'The language of the theme information retrieved. Default: ''en''.' taxonomies: type: array items: {} description: A multidimensional array of term objects, associated with the theme. download_uri: type: string format: uri description: Download URL. rank_popularity: type: integer description: The theme's popularity rank. rank_trending: type: integer description: The theme's trending rank. extended: type: object description: Additional information, such as license, long description, or support documentation. '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: theme_slug in: path required: true schema: type: string description: The slug of the theme. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: locale in: query required: false schema: type: string description: 'ISO 639-1 Locale. Default: en.' - name: currency in: query required: false schema: type: string description: 'Currency. Default: USD' - name: retired in: query required: false schema: type: boolean description: 'Include retired themes? Default: false.' - name: extended in: query required: false schema: type: boolean description: 'To add additional information. Default: False.' /users/suggest: get: operationId: getUsersSuggest summary: Get a list of possible users to suggest for @mentions. description: Get a list of possible users to suggest for @mentions. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: suggestions: type: array items: {} description: A list of matching users (authors, editors and administrators.) The token holder must also be an author, editor or administrator on the site. '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: site_id in: query required: false schema: type: integer description: The site ID to look for matching users on. - name: site in: query required: false schema: type: string description: The domain to look for matching users on. (Overrides site_id.) - name: filter in: query required: false schema: type: string description: Optional. A string to filter possible users against. - name: image_size in: query required: false schema: type: integer description: Optional. The size of the image to return in pixels. (Default 96, minimum 1, maximum 2048.) - name: client in: query required: false schema: type: string description: Optional. A string identifying the consumer of the data. /users/{user_id}/posts: get: operationId: getUsersByUserIdPosts summary: Get a list of published posts authored by a specified user across their public sites, ordered by date in descending orde description: Get a list of published posts authored by a specified user across their public sites, ordered by date in descending order. tags: - posts responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: "Meta information including:\n - wpcom: (bool) Always true\n\ \ - next_page: (string) Present if there are more posts to fetch" 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. found: type: integer description: Total number of posts found matching the query parameters. posts: type: array items: {} description: 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: user_id in: path required: true schema: type: integer description: The ID of the user whose posts to return - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: number in: query required: false schema: type: integer description: 'The number of posts to return. Must be between 1 and 20. Default: 20.' - name: page_handle in: query required: false schema: type: string description: A page handle containing value, blog, and post parameters, returned from a previous request's meta.next_page property. /users/{user}: get: operationId: getUsersByUser summary: Get metadata about a user. description: Get metadata about a user. tags: - users responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The ID of the user user_login: type: string description: The login username of the user first_name: type: string description: The first name of the user last_name: type: string description: The last name of the user display_name: type: string description: The name to display for a user nice_name: type: string description: The URL-friendly user name description: type: string description: The profile description of the user avatar_URL: type: string format: uri description: Gravatar image URL profile_URL: type: string format: uri description: Gravatar Profile URL primary_blog: type: string description: Details of a user's primary blog recommended_blogs_count: type: integer description: Number of blogs recommended for this user '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: user in: path required: true schema: type: string description: The user ID or username of the user. - 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. /videos/{guid}: get: operationId: getVideosByGuid summary: Get the metadata for a specified VideoPress video. description: Get the metadata for a specified VideoPress video. tags: - videos responses: '200': description: OK content: application/json: schema: type: object properties: title: type: string description: Title of the video description: type: string description: Description of the video width: type: integer description: Width of the video height: type: integer description: Height of the video duration: type: integer description: The length of the video, in milliseconds display_embed: type: boolean description: Should the embed menu be shown? allow_download: type: boolean description: Whether to display and allow video downloads rating: type: string description: The rating of the video privacy_setting: type: integer description: The privacy level for the video poster: type: string description: The URL of the video image original: type: string description: The URL of the original video watermark: type: string description: URL of a watermark logo bg_color: type: string description: Custom background color files: type: array items: {} description: List of video formats and the associated filenames file_url_base: type: array items: {} description: List of protocols and the base needed for creating file URLs blog_id: type: integer description: Blog ID of the site where the video was uploaded post_id: type: integer description: Post ID of the video attachment post upload_date: type: string description: Date the video was uploaded in ISO 8601 format finished: type: boolean description: Is video transcoding finished? files_status: type: array items: {} description: Transcoding status for each video file format subtitles: type: array items: {} description: Available subtitle formats with information for each language that is available '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: guid in: path required: true schema: type: string description: The guid of the video - 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: birth_month in: query required: false schema: type: integer description: The month the visitor was born - name: birth_day in: query required: false schema: type: integer description: The day of the month the visitor was born - name: birth_year in: query required: false schema: type: integer description: The year the visitor was born - name: metadata_token in: query required: false schema: type: string description: Optional. Permissions token /videos/{guid}/chapters: get: operationId: getVideosByGuidChapters summary: Get the chapters for a specified VideoPress video. description: Get the chapters for a specified VideoPress video. tags: - videos responses: '200': description: OK content: application/json: schema: type: object properties: chapters: type: object description: Arrays of chapters, indexed by a language slug. Every chapter has integer "start" and "end" in milliseconds, and string "description". '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: guid in: path required: true schema: type: string description: The guid of the video - 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: metadata_token in: query required: false schema: type: string description: Optional. Auth token /videos/{guid}/playlist/{format}: get: operationId: getVideosByGuidPlaylistByFormat summary: Get the poster for a specified VideoPress video. description: Get the poster for a specified VideoPress video. tags: - videos responses: '200': description: OK content: application/json: schema: type: object properties: poster: type: string description: The m4u playlist for streaming the given videopress video '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: guid in: path required: true schema: type: string description: The guid of the video - name: format in: path required: true schema: type: string description: The playlist format, e.g. adaptive, hd-master, or subs-{language} for a subtitle track playlist - 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: metadata_token in: query required: false schema: type: string description: Optional. Auth token /videos/{guid}/poster: get: operationId: getVideosByGuidPoster summary: Get the poster for a specified VideoPress video. description: Get the poster for a specified VideoPress video. tags: - videos responses: '200': description: OK content: application/json: schema: type: object properties: poster: type: string description: The url of the poster for the given videopress video '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: guid in: path required: true schema: type: string description: The guid of the video - 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: postVideosByGuidPoster summary: Upload and set a poster for a specified VideoPress video. description: Upload and set a poster for a specified VideoPress video. tags: - videos responses: '200': description: OK content: application/json: schema: type: object properties: poster: type: string description: The url of the poster for the given videopress video '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: guid in: path required: true schema: type: string description: The guid of the video - 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: at_time: type: integer description: Optional. is_millisec: type: boolean description: Optional. poster: type: string description: 'An image to attach to the video. To upload media, the entire request should be multipart/form-data encoded. Accepts images (image/gif, image/jpeg, image/png) only at this time.Example:curl \--form ''poster=@/path/to/file.jpg'' \-H ''Authorization: BEARER your-token'' \''https://public-api.wordpress.com/rest/v1/videos/12345678/poster''' poster_attachment_id: type: integer description: optional /videos/{guid}/tracks: post: operationId: postVideosByGuidTracks summary: Upload a subtitle/caption track for a specified VideoPress video. description: Upload a subtitle/caption track for a specified VideoPress video. tags: - videos responses: '200': description: OK content: application/json: schema: type: object properties: url: type: string description: The url for the newly uploaded track '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: guid in: path required: true schema: type: string description: The guid of the video - 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: kind: type: string description: One of 'subtitles', 'captions', 'descriptions', 'chapters', or 'metadata'. label: type: string description: The track label. srclang: type: string description: The language of the track. vtt: type: string description: A .vtt or .srt subtitle file. SRT files are automatically converted to VTT. /videos/{guid}/tracks/delete: post: operationId: postVideosByGuidTracksDelete summary: Delete an existing subtitle/caption track for a specified VideoPress video. description: Delete an existing subtitle/caption track for a specified VideoPress video. tags: - videos responses: '200': description: OK content: application/json: schema: type: object properties: deleted: type: boolean description: True if successfully deleted. '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: guid in: path required: true schema: type: string description: The guid of the video - 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: kind: type: string description: One of 'subtitles', 'captions', 'descriptions', 'chapters', or 'metadata'. srclang: type: string description: The language of the track. /wrangler/data: get: operationId: getWranglerData summary: Get a simple data wrangler test. description: Get a simple data wrangler test. tags: - wrangler responses: '200': description: OK content: application/json: schema: type: object properties: question: type: string description: Description of the question to answer data: type: string description: The data for answering the question '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. /wrangler/data/answer: post: operationId: postWranglerDataAnswer summary: Submit answer to a data wrangler test. description: Submit answer to a data wrangler test. tags: - wrangler responses: '200': description: OK content: application/json: schema: type: object properties: message: type: string description: A message '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: 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: answer: type: object description: The answer to the question components: securitySchemes: oauth2: type: oauth2 description: WordPress.com OAuth 2.1 (see /.well-known/openid-configuration). flows: authorizationCode: authorizationUrl: https://public-api.wordpress.com/oauth2-1/authorize tokenUrl: https://public-api.wordpress.com/oauth2-1/token refreshUrl: https://public-api.wordpress.com/oauth2-1/token scopes: global: '' auth: '' openid: '' profile: '' email: '' users: '' sites: '' posts: '' comments: '' taxonomy: '' follow: '' sharing: '' freshly-pressed: '' notifications: '' insights: '' read: '' stats: '' media: '' menus: '' batch: '' videos: '' bearerAuth: type: http scheme: bearer description: 'Authorization: Bearer ' schemas: Error: type: object description: WordPress.com REST API error envelope (observed live). properties: error: type: string examples: - not_found message: type: string security: - bearerAuth: []