WP Remote API Documentation (1.0.0)

Download OpenAPI specification:

API Support: support@wpremote.com License: MIT

Comprehensive API documentation for managing various WordPress resources including sites, snapshots, custom works, notes, and staging sites.

Rate Limiting

  • All API endpoints are subject to rate limiting.
  • The current rate limit is 20 requests per minute per API key.
  • If you exceed the rate limit, you will receive a 429 Too Many Requests response.
  • The response headers will include information about your current rate limit status:
    • X-RateLimit-Limit: The maximum number of requests you're permitted to make per minute.
    • X-RateLimit-Remaining: The number of requests remaining in the current rate limit window.
    • X-RateLimit-Reset: The time at which the current rate limit window resets in UTC epoch seconds.

Sites

Manage WordPress sites, including retrieving site details, custom works, and notes.

List Sites

Retrieves a list of sites associated with the current account.

Authorizations:
basicAuth
query Parameters
object (FilterOperations)
Example: filters[id:eq]=site1234

Filter by site ID

object (FilterOperations)
Example: filters[url:contains]=example.com

Filter by site URL

filters[plugin_state]
string
Example: filters[plugin_state]=CONNECTED

Filter by plugin state

object (FilterOperations)
Example: filters[created_at:gt]=2023-01-01T00:00:00Z

Filter by site creation date

filters[tags]
Array of strings
Example: filters[tags]=tag1,tag2

Filter by tags (comma-separated)

page
integer >= 1
Default: 1
Example: page=1

Page number (1-based)

perPage
integer [ 1 .. 1000 ]
Default: 25
Example: perPage=100

Number of items per page (1-1000)

sort
string^[a-zA-Z_]+,(asc|desc)$
Example: sort=created_at,desc

Sorting parameters

Responses

Response samples

Content type
application/json
{
  • "sites": [
    ],
  • "meta": {
    }
}

Add a Site

Adds a new Site to the current account.

Authorizations:
basicAuth
Request Body schema: application/json
required
url
required
string

URL of the site to add

Responses

Request samples

Content type
application/json

Response samples

Content type
application/json
{
  • "site": [
    ]
}

Retrieve Site Details

Get detailed information about multiple sites.

Authorizations:
basicAuth
query Parameters
site_ids[]
required
Array of strings <= 100 items
Example: site_ids[]=site1234&site_ids[]=site5678

The globally unique identifiers for the sites. Maximum of 100 site IDs allowed.

Responses

Response samples

Content type
application/json
{
  • "sites": [
    ]
}

List Report Custom Works

Retrieves a list of report custom works for the specified site.

Authorizations:
basicAuth
path Parameters
site_id
required
string
Example: site1234

The globally unique identifier for the site

query Parameters
object (FilterOperations)
Example: filters[title:contains]=Setup

Filter by custom work title

object (FilterOperations)
Example: filters[description:contains]=Initial site setup

Filter by custom work description

object (FilterOperations)
Example: filters[performed_on:eq]=2024-01-01

Filter by performed on date

object (FilterOperations)
Example: filters[created_at:gt]=2023-12-31T23:59:59Z

Filter by creation date

object (FilterOperations)
Example: filters[updated_at:lt]=2024-01-02T00:00:00Z

Filter by last update date

filters[status]
string
Default: "ACTIVE"
Enum: "ACTIVE" "INACTIVE"
Example: filters[status]=ACTIVE

Filter by custom work status

object (FilterOperations)
Example: filters[id:eq]=cw1

Filter by custom work ID

page
integer >= 1
Default: 1
Example: page=1

Page number (1-based)

perPage
integer [ 1 .. 25 ]
Default: 25
Example: perPage=10

Number of items per page

sort
string^[a-zA-Z_]+,(asc|desc)$
Example: sort=created_at,desc

Sorting parameters

Responses

Response samples

Content type
application/json
{
  • "custom_works": [
    ],
  • "meta": {
    }
}

Create a Custom Work

Creates a new custom work for the specified site.

Authorizations:
basicAuth
path Parameters
site_id
required
string
Example: site1234

The globally unique identifier for the site

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "custom_work": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Custom Work added successfully.",
  • "custom_work": {
    }
}

Update a Custom Work

Updates an existing custom work for the specified site.

Authorizations:
basicAuth
path Parameters
site_id
required
string
Example: site1234

The globally unique identifier for the site

custom_work_id
required
string
Example: cw1

The globally unique identifier for the custom work

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "custom_work": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Custom Work updated successfully.",
  • "custom_work": {
    }
}

List Notes

Retrieves a list of notes for the specified site.

Authorizations:
basicAuth
path Parameters
site_id
required
string
Example: site1234

The globally unique identifier for the site

query Parameters
object (FilterOperations)
Example: filters[content:contains]=update

Filter by note content

object (FilterOperations)
Example: filters[author:eq]=user@example.com

Filter by author email

object (FilterOperations)
Example: filters[created_at:gt]=2023-12-31T23:59:59Z

Filter by creation date

object (FilterOperations)
Example: filters[updated_at:lt]=2024-01-02T00:00:00Z

Filter by last update date

object (FilterOperations)
Example: filters[id:eq]=note1

Filter by note ID

page
integer >= 1
Default: 1
Example: page=1

Page number (1-based)

perPage
integer [ 1 .. 25 ]
Default: 25
Example: perPage=10

Number of items per page

sort
string^[a-zA-Z_]+,(asc|desc)$
Example: sort=created_at,desc

Sorting parameters

Responses

Response samples

Content type
application/json
{
  • "notes": [
    ],
  • "meta": {
    }
}

Create a Note

Creates a new note for the specified site.

Authorizations:
basicAuth
path Parameters
site_id
required
string
Example: site1234

The globally unique identifier for the site

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "note": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Note created successfully.",
  • "note": {
    }
}

Update a Note

Updates an existing note for the specified site.

Authorizations:
basicAuth
path Parameters
site_id
required
string
Example: site1234

The globally unique identifier for the site

note_id
required
string
Example: note1

The globally unique identifier for the note

Request Body schema: application/json
required
object

Responses

Request samples

Content type
application/json
{
  • "note": {
    }
}

Response samples

Content type
application/json
{
  • "message": "Note updated successfully.",
  • "note": {
    }
}

List snapshots

Retrieves a list of snapshots associated with a specific site.

Authorizations:
basicAuth
path Parameters
site_id
required
string

The GID of the site

query Parameters
page
integer >= 1
Default: 1
Example: page=1

Page number (1-based)

perPage
integer [ 1 .. 25 ]
Default: 25
Example: perPage=10

Number of items per page

sort
string^[a-zA-Z_]+,(asc|desc)$
Example: sort=created_at,desc

Sorting parameters

Responses

Response samples

Content type
application/json
{
  • "snapshots": [
    ],
  • "meta": {
    }
}

Reports

Generate and manage reports for sites.

List Reports

Retrieves a list of reports associated with the current account.

Authorizations:
basicAuth
query Parameters
object (FilterOperations)
Example: filters[id:eq]=MEYTaTaFBUR3h8Tie6QzQtki

Filter by report ID

object (FilterOperations)
Example: filters[start_date:gte]=2024-01-01

Filter reports with start date >= this date

object (FilterOperations)
Example: filters[end_date:lte]=2024-12-31

Filter reports with end date <= this date

filters[site_gids]
Array of strings
Example: filters[site_gids]=16b4c3f2,27d5e4g3

Filter reports by associated site GIDs

filters[category]
string
Enum: "SCHEDULED" "ONE_TIME"
Example: filters[category]=SCHEDULED

Filter reports by category

object (FilterOperations)
Example: filters[created_at:gt]=2024-01-01T00:00:00Z

Filter by report creation date

page
integer >= 1
Default: 1
Example: page=1

Page number (1-based)

perPage
integer [ 1 .. 25 ]
Default: 25
Example: perPage=10

Number of items per page

sort
string^[a-zA-Z_]+,(asc|desc)$
Example: sort=created_at,desc

Sorting parameters

Responses

Response samples

Content type
application/json
{
  • "reports": [
    ],
  • "meta": {
    }
}

List scheduled reports

Retrieves a list of scheduled reports for the current account.

Authorizations:
basicAuth
query Parameters
object (FilterOperations)
Example: filters[id:eq]=PJVacL1jcrWzMdPvHXPJPch6

Filter by scheduled report ID

filters[site_gids]
Array of strings
Example: filters[site_gids]=16b4c3f2

Filter scheduled reports by site GID

filters[state]
string
Enum: "INACTIVE" "ACTIVE" "DELETED"
Example: filters[state]=ACTIVE

Filter by scheduled report state

object (FilterOperations)
Example: filters[started_at:gte]=2024-01-01T00:00:00Z

Filter by scheduled report start date

filters[interval]
string
Enum: "DAYS" "WEEKS" "MONTHS" "YEARS"
Example: filters[interval]=MONTHLY

Filter by scheduled report interval

page
integer >= 1
Default: 1
Example: page=1

Page number (1-based)

perPage
integer [ 1 .. 25 ]
Default: 25
Example: perPage=10

Number of items per page

sort
string^[a-zA-Z_]+,(asc|desc)$
Example: sort=created_at,desc

Sorting parameters

Responses

Response samples

Content type
application/json
{
  • "scheduled_reports": [
    ],
  • "meta": {
    }
}

Staging Sites

Manage staging sites for WordPress instances.

List Staging Sites

Retrieves a list of staging sites associated with the current account.

Authorizations:
basicAuth
query Parameters
object (FilterOperations)
Example: filters[id:contains]=6c8c963b

Filter by staging site ID (GID)

object (FilterOperations)
Example: filters[backup_version:eq]=669a182d37a23463fc8d77fd

Filter by backup version (snapshot ID)

object (FilterOperations)
Example: filters[created_at:gt]=2023-01-01T00:00:00Z

Filter by creation date

object (FilterOperations)
Example: filters[expires_at:lt]=2023-12-31T23:59:59Z

Filter by expiration date

filters[state]
string
Enum: "INITIALIZING" "ACTIVE" "CANCELLED" "FAILED" "DELETED" "EXPIRED"
Example: filters[state:eq]=ACTIVE

Filter by staging site status

filters[is_under_maintenance]
boolean
Example: filters[is_under_maintenance]=false

Filter by maintenance status

filters[is_suspended]
boolean
Example: filters[is_suspended]=false

Filter by suspension status

filters[is_paused]
boolean
Example: filters[is_paused]=false

Filter by pause status

filters[is_cleared]
boolean
Example: filters[is_cleared]=false

Filter by cleared status

object (FilterOperations)
Example: filters[php_version:eq]=7.4

Filter by PHP version

filters[http_auth_enabled]
boolean
Example: filters[http_auth_enabled]=true

Filter by HTTP authentication status

filters[site_ids]
string
Example: filters[site_ids]=123abc,456def

Filter by comma-separated list of site IDs (GIDs)

page
integer >= 1
Default: 1
Example: page=1

Page number (1-based)

perPage
integer [ 1 .. 25 ]
Default: 25
Example: perPage=10

Number of items per page

sort
string^[a-zA-Z_]+,(asc|desc)$
Example: sort=created_at,desc

Sorting parameters

Responses

Response samples

Content type
application/json
{
  • "staging_sites": [
    ],
  • "meta": {
    }
}

Team

Manage team members and their permissions.

List Team Members

Retrieves a list of team members associated with the current account.

Authorizations:
basicAuth
query Parameters
object (FilterOperations)
Example: filters[id:eq]=abc123

Filter by team member ID

object (FilterOperations)
Example: filters[name:contains]=John

Filter by team member name

object (FilterOperations)
Example: filters[email:contains]=john@example.com

Filter by team member email

filters[role]
string
Enum: "Owner" "Collaborator" "Administrator" "Client" "CoOwner"
Example: filters[role]=Administrator

Filter by team member role

filters[connect_state]
string
Enum: "Requested" "Connected" "Rejected" "Removed"
Example: filters[connect_state]=Connected

Filter by team member connection state

filters[has_all_sites_access]
boolean
Example: filters[has_all_sites_access]=true

Filter by access to all sites

object (FilterOperations)
Example: filters[company_name:contains]=Acme Inc

Filter by company name

object (FilterOperations)
Example: filters[created_at:gt]=2021-01-01T00:00:00Z

Filter by creation date

object (FilterOperations)
Example: filters[updated_at:lt]=2022-01-01T00:00:00Z

Filter by last update date

page
integer >= 1
Default: 1
Example: page=1

Page number (1-based)

perPage
integer [ 1 .. 25 ]
Default: 25
Example: perPage=10

Number of items per page

sort
string^[a-zA-Z_]+,(asc|desc)$
Example: sort=created_at,desc

Sorting parameters

Responses

Response samples

Content type
application/json
{
  • "team": [
    ],
  • "meta": {
    }
}

Clients

Manage clients associated with the account.

List Clients

Retrieves a list of clients associated with the current account.

Authorizations:
basicAuth
query Parameters
object (FilterOperations)
Example: filters[id:eq]=abc123

Filter by client ID

object (FilterOperations)
Example: filters[name:contains]=John

Filter by client name

object (FilterOperations)
Example: filters[email:contains]=example.com

Filter by client email

object (FilterOperations)
Example: filters[company_name:contains]=ACME

Filter by company name

object (FilterOperations)
Example: filters[first_name:eq]=John

Filter by client's first name

object (FilterOperations)
Example: filters[last_name:eq]=Doe

Filter by client's last name

object (FilterOperations)
Example: filters[address:contains]=Main Street

Filter by client's address

object (FilterOperations)
Example: filters[note:contains]=VIP

Filter by client's note

object (FilterOperations)
Example: filters[created_at:gt]=2021-01-01T00:00:00Z

Filter by client creation date

object (FilterOperations)
Example: filters[updated_at:lt]=2022-12-31T23:59:59Z

Filter by client update date

filters[site_ids]
Array of strings
Example: filters[site_ids]=abc123,def456

Filter by associated blog GIDs

page
integer >= 1
Default: 1
Example: page=1

Page number (1-based)

perPage
integer [ 1 .. 25 ]
Default: 25
Example: perPage=10

Number of items per page

sort
string^[a-zA-Z_]+,(asc|desc)$
Example: sort=created_at,desc

Sorting parameters

Responses

Response samples

Content type
application/json
{
  • "clients": [
    ],
  • "meta": {
    }
}

Create a new Client

Creates a new client associated with the current account.

Authorizations:
basicAuth
Request Body schema: application/json
required
name
required
string

The full name of the client

email
required
string <email>

The email address of the client

company_name
string

The name of the client's company

first_name
string

The first name of the client

last_name
string

The last name of the client

address
string

The address of the client

note
string

Additional notes about the client

site_ids
Array of strings

List of site IDs to associate with the client

Responses

Request samples

Content type
application/json
{
  • "name": "John Doe",
  • "email": "john.doe@example.com",
  • "company_name": "ACME Corporation",
  • "first_name": "John",
  • "last_name": "Doe",
  • "address": "123 Main St, Anytown, USA",
  • "note": "VIP client, handle with care",
  • "site_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "Client added successfully.",
  • "client": {
    }
}

Update a Client

Updates an existing client associated with the current account.

Authorizations:
basicAuth
path Parameters
id
required
string

Client's ID

Request Body schema: application/json
required
name
string

The updated full name of the client

email
string <email>

The updated email address of the client

company_name
string

The updated name of the client's company

first_name
string

The updated first name of the client

last_name
string

The updated last name of the client

address
string

The updated address of the client

note
string

Updated additional notes about the client

site_ids
Array of strings

Updated list of site IDs associated with the client

Responses

Request samples

Content type
application/json
{
  • "name": "John Smith",
  • "email": "john.smith@example.com",
  • "company_name": "Smith Enterprises",
  • "first_name": "John",
  • "last_name": "Smith",
  • "address": "456 Oak St, Newtown, USA",
  • "note": "Updated to premium package",
  • "site_ids": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "Client updated successfully.",
  • "client": {
    }
}