ZippyKid sites API
The sites API from ZippyKid — 88 operation(s) for sites.
The sites API from ZippyKid — 88 operation(s) for sites.
openapi: 3.0.3
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