ZippyKid sites API

The sites API from ZippyKid — 88 operation(s) for sites.

Operations 117

POST /sites/{site_id}/domains/entri_link DNS Wizard Share-Link Handoff
GET /sites/{id}/edge-cache Edge Cache Status
PUT /sites/{id}/edge-cache Toggle Edge Cache
DELETE /sites/{id}/edge-cache Purge Edge Cache
PUT /sites/{id}/edge-cache/defensive-mode Edge Cache Defensive Mode
GET /sites/{site_id}/git Get Git Configuration
POST /sites/{site_id}/git Connect Repository
PUT /sites/{site_id}/git Update Configuration
DELETE /sites/{site_id}/git Disconnect Repository
POST /sites/{site_id}/git/token Store Access Token
DELETE /sites/{site_id}/git/token Revoke Access Token
GET /sites/{site_id}/git/branches List Branches
POST /sites/{site_id}/git/deploy Trigger Deploy
GET /sites/{site_id}/git/history Deploy History
GET /sites/{id}/ondemand-backups On-Demand Backup List
POST /sites/{id}/ondemand-backups Create On-Demand Backup
GET /sites/{site_id}/ondemand-backups/{id} Get On-Demand Backup
DELETE /sites/{site_id}/ondemand-backups/{id} Delete On-Demand Backup
GET /sites/{site_id}/ondemand-backups/{id}/download Download On-Demand Backup
GET /sites/{id}/plugins Plugin List
POST /sites/{id}/plugins Install and Activate Plugins
PUT /sites/{id}/plugins Update Plugins
DELETE /sites/{id}/plugins Delete Plugins
PUT /sites/{id}/plugins/deactivate Deactivate Plugins
PUT /sites/{id}/plugins/activate Activate Plugins
GET /sites/{id}/security-alerts/plugins Plugin Alerts
GET /sites/{id}/security-alerts/themes Theme Alerts
GET /sites Site List
POST /sites Create Site
POST /sites/validate Validate Site Name
GET /sites/{id} Get Site
PUT /sites/{id} Update Site
DELETE /sites/{id} Delete Site
POST /sites/search Search Sites
GET /sites/install-options Site Install Options
GET /sites/datacenters Available Site Datacenters
GET /sites/php-versions Valid PHP Versions
PUT /sites/{id}/disable Disable Site
PUT /sites/{id}/enable Enable Site
PUT /sites/{id}/convert Convert Site (Staging/Live)
PUT /sites/{id}/convert/duplikit Convert Site To DupliKit
PUT /sites/{id}/convert/sandbox Convert Site To Sandbox
PUT /sites/{id}/convert/live Convert Site To Live
PUT /sites/{id}/convert/staging Convert Site To Staging
DELETE /sites/{site_id}/object-cache Flush Object Cache
PUT /sites/{id}/light_weight_404 Toggle Light Weight 404
PUT /sites/{id}/multisite-support Toggle Multisite Support
PUT /sites/{id}/maintenance-mode Maintenance Mode
PUT /sites/{id}/basic-authentication Basic Authentication
PUT /sites/{id}/wordpress-mcp WordPress MCP
GET /sites/{site_id}/file-modifications File Modification Settings
PUT /sites/{site_id}/file-modifications Update File Modification Settings
POST /sites/{id}/favorites Favorite Site
DELETE /sites/{site_id}/favorites Unfavorite Site
POST /sites/{site_id}/clone Create Site Clone
GET /sites/{site_id}/backups Backups List
GET /sites/{site_id}/backups/fs Filesystem Backups List
GET /sites/{site_id}/backups/db Database Backups List
GET /sites/{site_id}/backups/{backup_id} Get Site Backup
POST /sites/{site_id}/restores Site Filesystem & Database Restores
GET /sites/{site_id}/restores/{restore_id} Site Restore Status
POST /sites/sync Data Transfer
GET /sites/{site_id}/collaborators Collaborator List
POST /sites/{site_id}/collaborators Create Site Collaborator
GET /sites/{site_id}/collaborators/{id} Get Site Collaborator
DELETE /sites/{site_id}/collaborators/{id} Delete Collaborator
PUT /sites/{site_id}/collaborators/{id}/wp-password-reset Set Collaborator WP-Admin Password
GET /sites/{site_id}/domains Domain List
POST /sites/{site_id}/domains Add Domain
GET /sites/{site_id}/domains/{id} Get Domain
DELETE /sites/{site_id}/domains/{id} Delete Domain
PUT /sites/{site_id}/domains/{id}/primary Set Primary Domain
GET /sites/{site_id}/ftp Get SFTP User List
GET /sites/{site_id}/ftp/{username} Get SFTP User
POST /sites/{site_id}/ftp/password/{username} Reset SFTP User Password
GET /sites/{site_id}/jetpack Jetpack License Information
POST /sites/{site_id}/jetpack Set Jetpack License
GET /sites/{site_id}/statistics Statistics
POST /sites/{id}/tags Add Tags
DELETE /sites/{id}/tags Remove Tags
GET /sites/{id}/notes Note List
POST /sites/{id}/notes Add Note
GET /sites/{site_id}/notes/{id} Get Note
PUT /sites/{site_id}/notes/{id} Update Note
DELETE /sites/{site_id}/notes/{id} Delete Note
PUT /sites/{site_id}/wordpress/password-reset Reset WP-Admin Password
GET /sites/{site_id}/wordpress/phpmyadmin Get phpMyAdmin URL for Site
PUT /sites/{site_id}/wordpress/version Update WordPress Version for Site
POST /sites/{site_id}/one_press_login One Press Login
GET /sites/{id}/logs/php PHP Error Logs
GET /sites/{id}/logs/server Web Server Logs
POST /sites/{id}/logs/activity Activity Logs
GET /sites/{site_id}/disconnect-ssh Disconnect SSH
GET /sites/{id}/reports/performance/latest Latest Performance Report
GET /sites/{id}/reports/usage Site Usage Report
POST /sites/{id}/metrics Site Metrics
PUT /sites/{id}/php_fs_permissions Set PHP File System Permissions
GET /sites/{site_id}/firewall_rules List Egress Firewall Rules
GET /sites/{site_id}/firewall_rules/{firewall_rule_id} Show Egress Firewall Rules
DELETE /sites/{site_id}/firewall_rules/{firewall_rule_id} Delete Egress Firewall Rules
POST /sites/{site_id}/firewall_rules/create Create Egress Firewall Rule
POST /sites/{site_id}/firewall_rules/refresh Refresh Egress Firewall Rules
POST /sites/{site_id}/apm/activate Activate APM
POST /sites/{site_id}/apm/deactivate Deactivate APM
DELETE /sites/{site_id}/cron_jobs/{id} Cron Jobs
PUT /sites/{id}/usage/filesystem Set Filesystem Usage Limit
PUT /sites/{id}/usage/database Set Database Usage Limit
GET /sites/{id}/themes Theme List
POST /sites/{id}/themes Install and Activate Themes
PUT /sites/{id}/themes Update Themes
DELETE /sites/{id}/themes Delete Themes
PUT /sites/{id}/themes/activate Activate Themes
GET /sites/{id}/wordpress/users WordPress User List
POST /sites/{id}/wordpress/users Create WordPress User
PUT /sites/{id}/wordpress/users/password-reset Update WordPress User Password
POST /sites/{id}/wordpress/wpcli WP-CLI Commands
POST /sites/{id}/wordpress/commands Bash Commands

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/zippykid-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

zippykid-sites-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Pressable API Documentation (v1) account Sites API
  version: 1.0.0
  description: The Pressable API is a tool for our customers to create personalized experiences and automate routine tasks. It accepts form-encoded requests and responds with information in a format called JSON. Although this OpenAPI documentation is a part of our resources, it's specially crafted for customers to use machine learning programs to generate documentation, tools or applications. If you're looking for more user friendly instructions and information, we recommend checking out our [main API documentation page](https://my.pressable.com/documentation/api/v1).
  termsOfService: https://pressable.com/legal/
  contact:
    email: help@pressable.com
servers:
- url: https://my.pressable.com/v1
tags:
- name: sites
paths:
  /sites/{site_id}/domains/entri_link:
    post:
      tags:
      - sites
      summary: DNS Wizard Share-Link Handoff
      description: Issues a DNS Wizard share link that an end user follows to point an existing domain at this site. This is the asynchronous companion to the synchronous POST /v1/sites/{site_id}/domains flow — useful when the API caller does not own the domain and needs the actual owner to walk through DNS setup themselves.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    example:
                      sharable_link: https://app.goentri.com/share/abc123
                      job_id: job_01HXYZ...
                      status: link_created
                      created_at: '2026-05-01T16:30:00Z'
  /sites/{id}/edge-cache:
    get:
      tags:
      - sites
      summary: Edge Cache Status
      description: Get the current status of the edge cache for your site.
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    example:
                      active: true
                      defensive_mode:
                        active: true
                        active_until: 1724951720
    put:
      tags:
      - sites
      summary: Toggle Edge Cache
      description: The ability to toggle edge cache allows you to enable or disable caching of your site's content at edge locations.
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
    delete:
      tags:
      - sites
      summary: Purge Edge Cache
      description: Purging edge cache allows you to remove stored content at edge locations, ensuring the delivery of updated or corrected content to users. This is critical when changes are made to your site that need to be reflected immediately.
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
  /sites/{id}/edge-cache/defensive-mode:
    put:
      tags:
      - sites
      summary: Edge Cache Defensive Mode
      description: This mode adds an extra layer of protection against spam bots and DDoS attacks. When enabled, it requires visitors' browsers to complete a small task before accessing the site, which helps block malicious traffic. Legitimate users might see a brief challenge page before they can proceed. Edge Cache must be enabled on the site to use this feature.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                duration:
                  type: string
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    example:
                      id: 500
                      created: '2022-01-31T20:05:33.000Z'
                      accountId: 2
                      clonedFromId: null
                      collaboratorsCount: 1
                      displayName: five hundred site
                      domainsCount: 0
                      ecommerce: false
                      edgeCache: enabled
                      edgeCacheDefensiveMode: true
                      edgeCacheDefensiveModeUntil: 1720625109
                      favorite: false
                      ipAddress: 79.127.25.163
                      ipAddressOne: 79.127.25.163
                      ipAddressTwo: 235.255.236.118
                      name: busy-nose-1d7f431a88
                      state: live
                      url: busy-nose-1d7f431a88.mystagingwebsite.com
                      staging: false
                      sandbox: false
                      sftpDomain: sftp.pressable.com
                      phpVersion: '8.0'
                      wordpressVersion: Current Stable Release (6.2)
                      tags:
                      - id: 354
                        name: Clannad
                      wpEnvironmentType: development
                      lightWeight404: false
  /sites/{site_id}/git:
    get:
      tags:
      - sites
      summary: Get Git Configuration
      description: Return the current git configuration for a site — repository URL, branch, repositorySubdirectory (the directory within the repository to deploy from), destinationPath (the path within the site's document root to deploy into), and whether a token is stored.
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    example:
                      repository: https://github.com/example/site.git
                      branch: main
                      destinationPath: wp-content
                      repositorySubdirectory: wp-content
                      connected: true
                      hasToken: true
    post:
      tags:
      - sites
      summary: Connect Repository
      description: Attach a GitHub repository to the site and trigger an initial deploy. The site's account must already have a bearer token stored — call POST /sites/{site_id}/git/token first if it does not.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                repository:
                  type: string
                branch:
                  type: string
                destination_path:
                  type: string
                repository_subdirectory:
                  type: string
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Created
                  data:
                    type: object
                    example:
                      repository: https://github.com/example/site.git
                      branch: main
                      destinationPath: wp-content
                      repositorySubdirectory: wp-content
                      connected: true
                      hasToken: true
    put:
      tags:
      - sites
      summary: Update Configuration
      description: Update the connected branch, destination path, or repository subdirectory on a site that is already connected to git. Omitted fields are left unchanged; pass an explicit empty string to destination_path or repository_subdirectory to clear that field.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                branch:
                  type: string
                destination_path:
                  type: string
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    example:
                      repository: https://github.com/example/site.git
                      branch: develop
                      destinationPath: public
                      repositorySubdirectory: wp-content
                      connected: true
                      hasToken: true
    delete:
      tags:
      - sites
      summary: Disconnect Repository
      description: Disconnect the repository from the site. The stored bearer token is also cleared for this site (use POST /sites/{site_id}/git/token to restore it before reconnecting).
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    example:
                      disconnected: true
  /sites/{site_id}/git/token:
    post:
      tags:
      - sites
      summary: Store Access Token
      description: Persist a GitHub access token for the site. The token must already be issued by GitHub — Pressable does not exchange OAuth codes on your behalf, and only api.github.com is supported (GitHub Enterprise and other git providers are not). Accepted inputs are a classic Personal Access Token, a fine-grained PAT, or a GitHub OAuth access token (e.g. from a GitHub App installation).
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                token:
                  type: string
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Unprocessable Entity
                  errors:
                    type: array
                    items:
                      type: string
                    example:
                    - This site is not opted in to the new GitHub integration. Enable it in your account settings before using the git API.
    delete:
      tags:
      - sites
      summary: Revoke Access Token
      description: Clear the stored bearer token for the current site only. Sibling sites on the same Pressable account keep their token. Account-wide revocation is not exposed by the API; use the Control Panel UI for that.
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    example:
                      revoked: true
  /sites/{site_id}/git/branches:
    get:
      tags:
      - sites
      summary: List Branches
      description: Return the branches available on the connected repository. Useful when building a branch picker against a Pressable site.
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: array
                    items:
                      type: string
                    example:
                    - main
                    - develop
                    - feature/new-theme
  /sites/{site_id}/git/deploy:
    post:
      tags:
      - sites
      summary: Trigger Deploy
      description: Queue a deploy of the currently configured branch on the connected repository. The endpoint returns 202 Accepted with the deploy identifier; deploy progress is then asynchronous. Poll GET /sites/{site_id}/git/history (or subscribe to the git_deploy_completed and git_deploy_failed webhooks) for the final state.
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    example:
                      deploy_id: 4821
                      state: processing
  /sites/{site_id}/git/history:
    get:
      tags:
      - sites
      summary: Deploy History
      description: Return paginated deploy history for the site, newest first. Use this to follow up on a POST /sites/{site_id}/git/deploy call or to inspect deploy outcomes triggered from the UI.
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      - in: query
        name: page
        schema:
          type: integer
      - in: query
        name: per_page
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: array
                    items:
                      type: object
                    example:
                    - id: 4821
                      created: '2026-05-27T12:08:00.000Z'
                      after: 13407c6d
                      before: 9dd0f047
                      branch: main
                      email: user@example.com
                      message: Update theme
                      name: john
                      repository: https://github.com/example/site.git
                      state: deployed
                  page:
                    type: object
                    example:
                      currentPage: 1
                      nextPage: null
                      lastPage: 1
                      perPage: 25
                      totalItems: 1
  /sites/{id}/ondemand-backups:
    get:
      tags:
      - sites
      summary: On-Demand Backup List
      description: Get a list of on-demand backups for the specified site.
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: array
                    items:
                      type: object
                    example:
                    - id: '50564'
                      siteId: 50
                      completed: 1682954943
                      status: completed
                      type: db
                      bytes: '9278'
                      requested: 1682954869
                      backupTimestamp: '2023-05-01 15:29:03'
                      createdBy: John Doe (user@example.com)
                      removedIn: 29 days and 21 hours from now
                      deleteAt: 1685546944
                    - id: '505641'
                      siteId: 50
                      completed: 1682954884
                      status: completed
                      type: db
                      bytes: '92786'
                      requested: 1682954863
                      backupTimestamp: '2023-05-01 15:28:04'
                      createdBy: John Doe (user@example.com)
                      removedIn: 6 days and 21 hours from now
                      deleteAt: 1683559744
                    - id: '5053'
                      siteId: 50
                      completed: 1682954644
                      status: completed
                      type: fs
                      bytes: '846297'
                      requested: 1682954625
                      backupTimestamp: '2023-05-01 15:24:04'
                      createdBy: John Doe (user@example.com)
                      removedIn: 6 days and 22 hours from now
                      deleteAt: 1683562925
    post:
      tags:
      - sites
      summary: Create On-Demand Backup
      description: Create an on-demand backup for the specified site.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                backup_type:
                  type: string
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    example:
                      id: null
                      requestId: 50564
                      siteId: 1223013
                      completed: null
                      status: creating
                      type: fs
                      bytes: null
                      requested: 1682966700
                      backupTimestamp: null
                      createdBy: John Doe (user@example.com)
                      removedIn: 30 days and 0 hours from now
                      deleteAt: 1685558700
  /sites/{site_id}/ondemand-backups/{id}:
    get:
      tags:
      - sites
      summary: Get On-Demand Backup
      description: Get the details for a specific on-demand backup attached to the specified site.
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    example:
                      id: '50564'
                      siteId: 50
                      completed: 1682954943
                      status: completed
                      type: db
                      bytes: '9278'
                      requested: 1682954869
                      backupTimestamp: '2023-05-01 15:29:03'
                      createdBy: John Doe (user@example.com)
                      removedIn: 29 days and 21 hours from now
                      deleteAt: 1685546944
    delete:
      tags:
      - sites
      summary: Delete On-Demand Backup
      description: Delete a specific on-demand backup attached to the specified site. The status of the site is set to `deleting` and the backup is removed from the site.
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: object
                    example:
                      id: '50564'
                      siteId: 50
                      completed: 1682954943
                      status: deleting
                      type: db
                      bytes: '9278'
                      requested: 1682954869
                      backupTimestamp: '2023-05-01 15:29:03'
                      createdBy: John Doe (user@example.com)
                      removedIn: 29 days and 21 hours from now
                      deleteAt: 1685546944
  /sites/{site_id}/ondemand-backups/{id}/download:
    get:
      tags:
      - sites
      summary: Download On-Demand Backup
      description: Download the specified on-demand backup attached to the specified site.
      parameters:
      - in: path
        name: site_id
        required: true
        schema:
          type: integer
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: string
                  errors:
                    type: array
                    items:
                      type: string
                    example:
                    - string
  /sites/{id}/plugins:
    get:
      tags:
      - sites
      summary: Plugin List
      description: Get a list of plugins for the specified site.
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
                  data:
                    type: array
                    items:
                      type: object
                    example:
                    - name: akismet
                      title: Akismet Anti-Spam
                      description: Used by millions, Akismet is quite possibly the best way in the world to protect your blog from spam.
                      status: active
                      update: none
                      version: '5.1'
                      update_version: null
                    - name: jetpack
                      title: Jetpack
                      description: Security, performance, and marketing tools made by WordPress experts.
                      status: active
                      update: version higher than expected
                      version: 12.2-a.9
                      update_version: null
                    - name: jetpack-protect
                      title: Jetpack Protect
                      description: Security tools that keep your site safe and sound, from posts to plugins.
                      status: active
                      update: none
                      version: 1.4.0
                      update_version: null
                    - name: pressable-onepress-login
                      title: Pressable OnePress Login
                      description: Pressable OnePress Login for the MyPressable Control Panel.
                      status: active
                      update: none
                      version: 1.3.1
                      update_version: null
                    - name: quiz-maker
                      title: Quiz Maker
                      description: This plugin allows you make unlimited number of quizes.
                      status: active
                      update: available
                      version: 6.4.2.7
                      update_version: 6.4.3.1
                    - name: advanced-cache.php
                      title: ''
                      description: Advanced caching plugin.
                      status: dropin
                      update: none
                      version: ''
                      update_version: null
                    - name: object-cache.php
                      title: Memcached
                      description: External object cache.
                      status: dropin
                      update: none
                      version: ''
                      update_version: null
    post:
      tags:
      - sites
      summary: Install and Activate Plugins
      description: To enhance your WordPress site, install and activate plugins to add new features, functionality, and customization options effortlessly.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                plugins:
                  type: array
                  items:
                    type: object
                    properties:
                      path:
                        type: string
                      version:
                        type: string
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
    put:
      tags:
      - sites
      summary: Update Plugins
      description: Regularly updating plugins is crucial for WordPress sites to ensure optimal performance, security, and compatibility with the latest features and enhancements.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                plugins:
                  type: array
                  items:
                    type: object
                    properties:
                      path:
                        type: string
                      version:
                        type: string
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
    delete:
      tags:
      - sites
      summary: Delete Plugins
      description: Deleting unnecessary plugins from WordPress sites enhances performance, reduces security risks, and minimizes conflicts, resulting in a streamlined and efficient website environment.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                plugins:
                  type: array
                  items:
                    type: object
                    properties:
                      path:
                        type: string
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
  /sites/{id}/plugins/deactivate:
    put:
      tags:
      - sites
      summary: Deactivate Plugins
      description: Deactivating plugins on WordPress sites allows for troubleshooting, prevents conflicts, and temporarily disables specific functionalities without removing the plugin entirely.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                plugins:
                  type: array
                  items:
                    type: object
                    properties:
                      path:
                        type: string
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Success
  /sites/{id}/plugins/activate:
    put:
      tags:
      - sites
      summary: Activate Plugins
      description: Activating previously deactivated plugins restores desired functionalities, expands features, and re-enables customizations.
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                plugins:
                  type: array
                  items:
                    type: object
                    properties:
                      path:
                        type: string
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: integer
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
           

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