openapi: 3.1.0 info: title: WordPress.com REST API v1.3 version: v1.3 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.3/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.3/help x-derived-by: API Evangelist enrichment pipeline servers: - url: https://public-api.wordpress.com/rest/v1.3 tags: - name: batch - name: domain-connect - name: marketplace - name: read - name: sites - name: tests - name: users paths: /batch/: get: operationId: getBatch summary: Run several GET endpoints and return them as an array. description: Run several GET endpoints and return them as an array. tags: - batch responses: '200': description: OK content: application/json: schema: type: object '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: urls in: query required: false schema: type: array items: {} description: Array of endpoints to call /domain-connect/authorize/v2/domainTemplates/providers/{provider_id}/services/{service_id}/apply: get: operationId: getDomainConnectAuthorizeV2DomaintemplatesProvidersByProviderIdServicesByServiceIdApply summary: Authorization request to apply a template to a domain using the Domain Connect Sync Flow method. description: Authorization request to apply a template to a domain using the Domain Connect Sync Flow method. tags: - domain-connect responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: True if the template was successfully applied. records: type: array items: {} description: The complete list of DNS records for the domain after the template was applied. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: provider_id in: path required: true schema: type: string description: The provider id of the template being applied - name: service_id in: path required: true schema: type: string description: The service id of the template being applied - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified 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 the template should be applied to. - name: host in: query required: false schema: type: string description: The subdomain label the template should be applied to - name: key in: query required: false schema: type: string description: The public key ID. - name: sig in: query required: false schema: type: string description: The query string parameter signature. - name: state in: query required: false schema: type: string description: Optional opaque value passed through to redirect_uri. /domain-connect/authorize/v2/domainTemplates/providers/{provider_id}/services/{service_id}/apply/authorized: get: operationId: getDomainConnectAuthorizeV2DomaintemplatesProvidersByProviderIdServicesByServiceIdApplyAuthorized summary: Apply a template to a domain after a user has granted authorization using the Sync Flow method. description: Apply a template to a domain after a user has granted authorization using the Sync Flow method. tags: - domain-connect responses: '200': description: OK content: application/json: schema: type: object properties: success: type: boolean description: True if the template was successfully applied. records: type: array items: {} description: The complete list of DNS records for the domain after the template was applied. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: provider_id in: path required: true schema: type: string description: The provider id of the template being applied - name: service_id in: path required: true schema: type: string description: The service id of the template being applied - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified 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 the template should be applied to. - name: key in: query required: false schema: type: string description: The public key ID. - name: sig in: query required: false schema: type: string description: The query string parameter signature. - name: groupId in: query required: false schema: type: string description: The optional list of groupIds to apply. If not present, all records will be applied. - name: dc-nonce in: query required: false schema: type: string description: The nonce for this template request generated during the auth request. - name: state in: query required: false schema: type: string description: Optional opaque value passed through to redirect_uri. /domain-connect/unsupported: get: operationId: getDomainConnectUnsupported summary: Returns an error for an unsupported Domain Connect endpoint. description: Returns an error for an unsupported Domain Connect endpoint. tags: - domain-connect 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. /domain-connect/v2/domainTemplates/providers/{provider_id}/services/{service_id}: get: operationId: getDomainConnectV2DomaintemplatesProvidersByProviderIdServicesByServiceId summary: Determine if a a specific Domain Connect template is supported. description: Determine if a a specific Domain Connect template is supported. tags: - domain-connect 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: provider_id in: path required: true schema: type: string description: Provider ID as specified in the template - name: service_id in: path required: true schema: type: string description: Service ID as specified in the template - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /domain-connect/v2/{domain}/settings: get: operationId: getDomainConnectV2ByDomainSettings summary: Get the settings to use for Domain Connect. description: Get the settings to use for Domain Connect. tags: - domain-connect responses: '200': description: OK content: application/json: schema: type: object properties: settings: type: array items: {} description: List of the Domain Connect 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: domain in: path required: true schema: type: string description: Domain 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. /marketplace/search: get: operationId: getMarketplaceSearch summary: Search the Wordpress.com Marketplace description: Search the Wordpress.com Marketplace tags: - marketplace responses: '200': description: OK content: application/json: schema: type: object properties: total: type: integer description: The total number of results in the index. corrected_query: type: string description: If there were no results for the query and the query got auto corrected, then this string will be non-false and contain the query that was used to obtain results. page_handle: type: string description: Query string for passing to "page_handle" param to get the next set of results. results: type: array items: {} description: The Elasticsearch formatted search results aggregations: type: array items: {} description: The Elasticsearch formatted aggregation results suggestions: type: array items: {} description: A list of suggestions for this query. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': 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: array items: {} description: List of fields to return. TBD See all fields. - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: size in: query required: false schema: type: integer description: 'Number of results to return. Max 20 Default: 10.' - name: from in: query required: false schema: type: integer description: Item number to return. Max 200 - name: query in: query required: false schema: type: string description: The user's search query - name: lang in: query required: false schema: type: array items: {} description: Lang analyzer to use for searching. e.g. "en", "zh-cn" - name: sort in: query required: false schema: type: string description: 'How to sort results. Default is score_default. Also supports: date_desc, date_asc, TBD' - name: filter in: query required: false schema: type: array items: {} description: Filters applied to the search. Will be added as a part of a top level bool query - name: aggregations in: query required: false schema: type: array items: {} description: Return aggregations from matches to the search. See details. - name: page_handle in: query required: false schema: type: string description: Base64 encoded query string for scrolling results from one page to the next. Overrides "from" and can add fitlers - name: algorithm in: query required: false schema: type: string description: Algorithm to use for search. Typically auto selected and supplied by page_handle. - name: group_id in: query required: false schema: type: string description: 'Group id to search for, used as : to support multiple group types. A way to search across multiple sites.' - name: track_total_hits in: query required: false schema: type: boolean description: Controls whether to track result counts beyond 10000 /marketplace/{product_slug}/related: get: operationId: getMarketplaceByProductSlugRelated summary: Get related marketplace products description: Get related marketplace products tags: - marketplace 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: product_slug in: path required: true schema: type: string description: Marketplace product 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. - name: size in: query required: false schema: type: integer description: 'Number of results to return Default: 4.' - name: from in: query required: false schema: type: integer description: Offset to start from /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. - name: limit in: query required: false schema: type: integer description: 'Optionally limit the number of results returned. Default: 200.' - name: offset in: query required: false schema: type: integer description: 'Optionally offset the number of results returned. Default: 0.' /me/billing-history/{filter}: get: operationId: getMeBillingHistoryByFilter 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: Optional. List of current user's previous purchases. upcoming_charges: type: array items: {} description: Optional. 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: filter in: path required: true schema: type: string description: Optionally limit results to previous purchases (past) or upcoming charges (upcoming) - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified 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: limit in: query required: false schema: type: integer description: 'Optionally limit the number of results returned. Default: 200. Only for past $filter.' - name: offset in: query required: false schema: type: integer description: 'Optionally offset the number of results returned. Default: 0. Only for past $filter.' /me/sites: get: operationId: getMeSites summary: Get a list of the current user's sites with pagination, search, and sorting support. description: Get a list of the current user's sites with pagination, search, and sorting support. tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: sites: type: array items: {} description: List of sites for the requested page. total: type: integer description: Total number of sites matching the search query. page: type: integer description: Current page number. per_page: type: integer description: Number of sites per page. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': 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: source in: query required: false schema: type: string description: Optional. Identifier for the caller; used for perf tracking. - name: site_activity in: query required: false schema: type: string enum: - all - active - inactive description: 'all: (default) Return all sites both active or inactive.; active: Only return active sites.; inactive: Only return inactive sites.' - name: site_visibility in: query required: false schema: type: string enum: - all - visible - hidden - deleted description: 'all: (default) Return all sites user is a member of, both visible and hidden.; visible: Only return sites set to visible for the user.; hidden: Only return sites set to hidden for the user.; deleted: Only return sites set to deleted for the user.' - name: include_a8c_owned in: query required: false schema: type: boolean description: 'Whether to include A8C owned sites. Default: true.' - name: include_domain_only in: query required: false schema: type: boolean description: 'Whether to include domain-only sites Default: false.' - name: include_redirect in: query required: false schema: type: boolean description: 'Whether to include redirect sites. Default: true.' - name: include_staging in: query required: false schema: type: boolean description: 'Whether to include staging sites. Default: true.' - name: filters in: query required: false schema: type: string description: 'Optional. Returns sites that satisfy the given filters only. Example: filters=jetpack,atomic,wpcom' - name: search in: query required: false schema: type: string description: 'Search sites by name, domain, or URL. Default: ''''.' - name: plan in: query required: false schema: type: array items: {} description: Optional. Filter sites by plan. - name: visibility in: query required: false schema: type: array items: {} description: Optional. Filter sites by visibility. - name: sort_field in: query required: false schema: type: string description: 'Field to sort by. Default: ''name''.' - name: sort_direction in: query required: false schema: type: string description: 'Sort direction: asc or desc. Default: ''asc''.' - name: page in: query required: false schema: type: integer description: 'Page number for pagination (1-indexed). Default: 1.' - name: per_page in: query required: false schema: type: integer description: 'Number of sites per page. Default: 12.' /read/feed/{feed_url_or_id}/posts/{feed_item_id}: get: operationId: getReadFeedByFeedUrlOrIdPostsByFeedItemId summary: Get a single post from a feed (by ID). description: Get a single post from a feed (by ID). tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. post: type: array items: {} description: A post object. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: feed_url_or_id in: path required: true schema: type: string description: The URL for the feed you would like more details on, or the id of the Feed. If a URL is passed, it MUST be URL-encoded. - name: feed_item_id in: path required: true schema: type: string description: The feed item ID - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/lists: get: operationId: getReadLists summary: Get an array of Reader lists the current user is following. description: Get an array of Reader lists the current user is following. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. lists: type: array items: {} description: An array of Reader lists number: type: integer description: The number of Reader lists returned '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: create_recommended_blogs_list in: query required: false schema: type: boolean description: Should a recommended blogs list be created for the user if none exists? /read/lists/{user_slug}: get: operationId: getReadListsByUserSlug summary: Get an array of Reader lists by user slug. description: Get an array of Reader lists by user slug. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. lists: type: array items: {} description: An array of Reader lists number: type: integer description: The number of Reader lists returned '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: user_slug in: path required: true schema: type: string description: The slug of the user whose lists to retrieve. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/lists/{username}/{list}: get: operationId: getReadListsByUsernameByList summary: Get a description of a Reader list. description: Get a description of a Reader list. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. list: type: object description: A Reader list '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: username in: path required: true schema: type: string description: The username of the owner of the list. - name: list in: path required: true schema: type: string description: The specific list to retrieve. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /read/lists/{username}/{list}/update: post: operationId: postReadListsByUsernameByListUpdate summary: Update an existing Reader list for the current user. description: Update an existing Reader list for the current user. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: ID: type: integer description: The post ID. site_ID: type: integer description: The site ID. author: type: object description: The author of the post. date: type: string format: date-time description: The post's creation time. modified: type: string format: date-time description: The post's most recent update time. title: type: string description: context dependent. URL: type: string format: uri description: The full permalink URL to the post. short_URL: type: string format: uri description: The wp.me short URL. content: type: string description: context dependent. excerpt: type: string description: context dependent. slug: type: string description: The name (slug) for the post, used in URLs. guid: type: string description: The GUID for the post. status: type: string description: 'publish: The post is published.; draft: The post is saved as a draft.; pending: The post is pending editorial approval.; private: The post is published privately; future: The post is scheduled for future publishing.; trash: The post is in the trash.; auto-draft: The post is a placeholder for a new post.' enum: - publish - draft - pending - private - future - trash - auto-draft sticky: type: boolean description: Is the post sticky? password: type: string description: The plaintext password protecting the post, or, more likely, the empty string if the post is not password protected. has_password: type: boolean description: Whether the post is password protected, regardless of whether the current user can access it. parent: type: string description: A reference to the post's parent, if it has one. type: type: string description: The post's post_type. Post types besides post, page and revision need to be whitelisted using the rest_api_allowed_post_types filter. discussion: type: object description: Hash of discussion options for the post likes_enabled: type: boolean description: Is the post open to likes? sharing_enabled: type: boolean description: Should sharing buttons show on this post? like_count: type: integer description: The number of likes for this post. i_like: type: boolean description: Does the current user like this post? is_reblogged: type: boolean description: Did the current user reblog this post? is_following: type: boolean description: Is the current user following this blog? global_ID: type: string description: A unique WordPress.com-wide representation of a post. featured_image: type: string format: uri description: The URL to the featured image for this post if it has one. post_thumbnail: type: object description: The attachment object for the featured image if it has one. format: type: string description: 'standard: Standard; aside: Aside; chat: Chat; gallery: Gallery; link: Link; image: Image; quote: Quote; status: Status; video: Video; audio: Audio' enum: - standard - aside - chat - gallery - link - image - quote - status - video - audio geo: type: string menu_order: type: integer description: (Pages Only) The order pages should appear in. page_template: type: string description: (Pages Only) The page template this page is using. publicize_URLs: type: array items: {} description: Array of Facebook URLs published by this post. terms: type: object description: Hash of taxonomy names mapping to a hash of terms keyed by term name. tags: type: object description: Hash of tags (keyed by tag name) applied to the post. categories: type: object description: Hash of categories (keyed by category name) applied to the post. attachments: type: object description: Hash of post attachments (keyed by attachment ID). Returns the most recent 20 attachments. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. attachment_count: type: integer description: The total number of attachments for this post. Use the `/sites/$site/media` endpoint to query the attachments beyond the default of 20 that are returned here. metadata: type: array items: {} description: Array of post metadata keys and values. All unprotected meta keys are available by default for read requests. Both unprotected and protected meta keys are available for authenticated requests with access. Protected meta keys can be made available with the rest_api_allowed_public_metadata filter. meta: type: object description: API result meta data capabilities: type: object description: List of post-specific permissions for the user; publish_post, edit_post, delete_post revisions: type: array items: {} description: List of post revision IDs. Only available for posts retrieved with context=edit. other_URLs: type: object description: List of URLs for this post. Permalink and slug suggestions. success: type: boolean description: Was the response successful? list: type: object description: The updated Reader list '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: username in: path required: true schema: type: string description: The username of the owner of the list. - name: list in: path required: true schema: type: string description: The specific list to retrieve. - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. requestBody: required: false content: application/json: schema: type: object properties: title: type: string description: The list title description: type: string description: The list description - optional is_public: type: boolean description: Should the list be public? /read/menu/: get: operationId: getReadMenu summary: Get default reader menu. description: Get default reader menu. tags: - read responses: '200': description: OK content: application/json: schema: type: object properties: default: type: array items: {} description: Default list of endpoints for the reader. subscribed: type: array items: {} description: List of the user's subscribed topics. recommended: type: array items: {} description: A list of recommended topics. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: context in: query required: false schema: type: string enum: - display - edit description: 'display: (default) Formats the output as HTML for display. Shortcodes are parsed, paragraph tags are added, etc..; edit: Formats the output for editing. Shortcodes are left unparsed, significant whitespace is kept, etc..' - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. /sites/{site}/search: get: operationId: getSitesBySiteSearch summary: Search within a site as you type description: Search within a site as you type tags: - sites responses: '200': description: OK content: application/json: schema: type: object properties: total: type: integer description: The total number of results in the index. corrected_query: type: string description: If there were no results for the query and the query got auto corrected, then this string will be non-false and contain the query that was used to obtain results. page_handle: type: string description: Query string for passing to "page_handle" param to get the next set of results. results: type: array items: {} description: The Elasticsearch formatted search results aggregations: type: array items: {} description: The Elasticsearch formatted aggregation results suggestions: type: array items: {} description: A list of suggestions for this query. '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': 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: array items: {} description: List of fields to return. TBD See all fields. - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: size in: query required: false schema: type: integer description: 'Number of results to return. Max 20 Default: 10.' - name: from in: query required: false schema: type: integer description: Item number to return. Max 200 - name: query in: query required: false schema: type: string description: The user's search query - name: langs in: query required: false schema: type: array items: {} description: List of lang analyzers to use for searching. e.g. "en", "zh-cn" - name: highlight_fields in: query required: false schema: type: array items: {} description: List of fields to highlight. - name: highlight_phrase_only in: query required: false schema: type: boolean description: When true, only highlight spans that match the full query phrase (not individual terms). - name: highlight_filter_stopwords in: query required: false schema: type: array items: {} description: List of stopwords to remove highlighting from, e.g. "the", "an". - name: sort in: query required: false schema: type: string description: 'How to sort results. Default is score_default. Also supports: date_desc, date_asc, TBD' - name: filter in: query required: false schema: type: array items: {} description: Filters applied to the search. Will be added as a part of a top level bool query - name: aggregations in: query required: false schema: type: array items: {} description: Return aggregations from matches to the search. See details. - name: page_handle in: query required: false schema: type: string description: Base64 encoded query string for scrolling results from one page to the next. Overrides "from" and can add fitlers - name: algorithm in: query required: false schema: type: string description: Algorithm to use for search. Typically auto selected and supplied by page_handle. - name: group_id in: query required: false schema: type: string description: 'Group id to search for, used as : to support multiple group types. A way to search across multiple sites.' - name: additional_blog_ids in: query required: false schema: type: array items: {} description: List of additional blog_ids to run the search on. - name: custom_results in: query required: false schema: type: array items: {} description: Internal use only for now /test/version/{ID}: get: operationId: getTestVersionById summary: Test GET requests. description: Test GET requests. tags: - tests responses: '200': description: OK content: application/json: schema: type: object properties: method_id_matches_query_id: type: boolean description: Whether the arbitrary integer in the path matches the arbitrary integer in the query string. method_id: type: integer id: type: integer description: Another arbitrary integer default_string: type: string default_int: type: integer boolean_whitelist_defaults_to_false: type: boolean boolean_whitelist_defaults_to_true: type: boolean string_whitelist_defaults_to_foo: type: string url: type: string format: uri datetime: type: string format: date-time '400': description: Bad request content: application/json: schema: $ref: '#/components/schemas/Error' '401': description: Authorization required content: application/json: schema: $ref: '#/components/schemas/Error' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error' '404': description: Not found content: application/json: schema: $ref: '#/components/schemas/Error' parameters: - name: ID in: path required: true schema: type: integer description: An arbitrary integer - name: http_envelope in: query required: false schema: type: boolean description: 'false: (default); true: Some environments (like in-browser JavaScript or Flash) block or divert responses with a non-200 HTTP status code. Setting this parameter will force the HTTP status code to always be 200. The JSON response is wrapped in an "envelope" containing the "real" HTTP status code and headers.' - name: pretty in: query required: false schema: type: boolean description: 'false: (default); true: Output pretty JSON' - name: meta in: query required: false schema: type: string description: 'Optional. Loads data from the endpoints found in the ''meta'' part of the response. Comma-separated list. Example: meta=site,likes' - name: fields in: query required: false schema: type: string description: 'Optional. Returns specified fields only. Comma-separated list. Example: fields=ID,title' - name: callback in: query required: false schema: type: string description: An optional JSONP callback function. - name: id in: query required: false schema: type: integer description: Another arbitrary integer - name: default_string in: query required: false schema: type: string description: 'Default: ''default''.' - name: default_int in: query required: false schema: type: integer description: 'Default: 100.' - name: boolean_whitelist_defaults_to_false in: query required: false schema: type: boolean description: 'false: (default) False; true: True' - name: boolean_whitelist_defaults_to_true in: query required: false schema: type: boolean description: 'true: (default) TRUE; false: FALSE' - name: string_whitelist_defaults_to_foo in: query required: false schema: type: string enum: - foo - bar description: 'foo: (default) Foolish; bar: Barstow' - name: url in: query required: false schema: type: string format: uri - name: datetime in: query required: false schema: type: string format: date-time components: securitySchemes: oauth2: type: oauth2 description: WordPress.com OAuth 2.1 (see /.well-known/openid-configuration). flows: authorizationCode: authorizationUrl: https://public-api.wordpress.com/oauth2-1/authorize tokenUrl: https://public-api.wordpress.com/oauth2-1/token refreshUrl: https://public-api.wordpress.com/oauth2-1/token scopes: global: '' auth: '' openid: '' profile: '' email: '' users: '' sites: '' posts: '' comments: '' taxonomy: '' follow: '' sharing: '' freshly-pressed: '' notifications: '' insights: '' read: '' stats: '' media: '' menus: '' batch: '' videos: '' bearerAuth: type: http scheme: bearer description: 'Authorization: Bearer ' schemas: Error: type: object description: WordPress.com REST API error envelope (observed live). properties: error: type: string examples: - not_found message: type: string security: - bearerAuth: []