Automattic Sites API

The sites API from Automattic — 25 operation(s) for sites.

Operations 30

GET /me/sites Get a list of the current user's sites. #
GET /me/sites/compact Not in use #
GET /me/sites/features Get a list of the current user's sites features #
GET /me/sites/plugins Get a list of the current user's sites plugins #
GET /sites/{site} Get information about a site. #
GET /sites/{site}/automated-transfers/status Returns the current status of Automated Transfer for a site. #
GET /sites/{site}/embeds Get a list of embeds available on a site. Note: The current user must have publishing access. #
GET /sites/{site}/embeds/render Get a rendered embed for a site. Note: The current user must have publishing access. #
GET /sites/{site}/headers/mine Get the custom header options for a site. #
POST /sites/{site}/headers/mine Set the custom header options for a site. #
GET /sites/{site}/headers/{theme_slug} Get the custom header options for a site with a particular theme. #
GET /sites/{site}/page-templates Get a list of page templates supported by a site. #
GET /sites/{site}/post-counts/{post_type} Get number of posts in the post type groups by post status #
GET /sites/{site}/post-types Get a list of post types available for a site. #
POST /sites/{site}/search Search within a site using an Elasticsearch Query API. #
GET /sites/{site}/search Search within a site as you type #
GET /sites/{site}/shortcodes Get a list of shortcodes available on a site. Note: The current user must have publishing access. #
GET /sites/{site}/shortcodes/render Get a rendered shortcode for a site. Note: The current user must have publishing access. #
GET /sites/{site}/widgets Retrieve the active and inactive widgets for a site. #
POST /sites/{site}/widgets/new Activate a widget on a site. #
GET /sites/{site}/widgets/widget:{id} Retrieve a widget on a site by its ID. #
POST /sites/{site}/widgets/widget:{id} Update a widget on a site by its ID. #
POST /sites/{site}/widgets/widget:{id}/delete Deactivate a widget on a site by its ID. Will delete if already deactivated. #
POST /sites/{site}/wordads/approve Request streamlined approval to join the WordAds program. #
GET /sites/{site}/wordads/earnings Get detailed WordAds earnings information about a site. #
GET /sites/{site}/wordads/settings Get detailed WordAds settings information about a site. #
POST /sites/{site}/wordads/settings Update WordAds settings for a site. #
GET /sites/{site}/wordads/stats Get WordAds stats for a site #
GET /sites/{site}/wordads/tos Get WordAds TOS information about a site. #
POST /sites/{site}/wordads/tos Update WordAds TOS setting for a site. #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/automattic-sites-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

automattic-sites-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Automattic Sites API
  contact:
    name: WordPress.com Developer Resources
    url: https://developer.wordpress.com/docs/api/
  termsOfService: https://wordpress.com/tos/
  x-derived-by: API Evangelist enrichment pipeline
  x-refined-note:
  - x-derived-from differs across the merged source definitions and was not carried
  version: '1.0'
  description: 'Operations tagged sites across 3 of this provider''s published API definitions: automattic-wordpress-com-rest-v1-1-openapi.yml, automattic-wordpress-com-rest-v1-2-openapi.yml, automattic-wordpress-com-rest-v1-3-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://public-api.wordpress.com/rest/v1.1
- url: https://public-api.wordpress.com/rest/v1.2
- url: https://public-api.wordpress.com/rest/v1.3
security:
- bearerAuth: []
tags:
- name: sites
paths:
  /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.'
    servers:
    - url: https://public-api.wordpress.com/rest/v1.1
  /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
    servers:
    - url: https://public-api.wordpress.com/rest/v1.1
  /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.
    servers:
    - url: https://public-api.wordpress.com/rest/v1.1
  /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.
    servers:
    - url: https://public-api.wordpress.com/rest/v1.1
  /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'
    servers:
    - url: https://public-api.wordpress.com/rest/v1.1
  /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.
    servers:
    - url: https://public-api.wordpress.com/rest/v1.1
  /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
  

# --- truncated at 32 KB (123 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/automattic/refs/heads/main/openapi/automattic-sites-api-openapi.yml