Introduction
Scroll down for code samples, example requests and responses.
Welcome to the SpinupWP REST API documentation.
This API is currently in BETA, which means it can change at any time. We highly recommend subscribing to the REST API Beta email list to be notified at least a day in advance of any updates.
We’ve released a very limited set of endpoints to start so that we can gather input from REST API users. We welcome feedback and suggestions, which can be shared with us in the SpinupWP developer community, or via email.
To get started with our API, you will need a SpinupWP account. If you don't have an account yet, you can sign up for a free trial.
Our API accepts form-encoded request bodies and returns JSON responses. All API requests must be made over HTTPS.
Alternatively, we also have a PHP SDK, which provides an expressive interface for interacting with SpinupWP's API. It includes a pre-defined set of classes for API resources that initialize themselves dynamically from API responses.
Authentication
Request
curl -X GET https://api.spinupwp.app/v1/servers \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
$spinupwp = new DeliciousBrains\SpinupWp\SpinupWp('API_TOKEN');
Once you have a SpinupWP account, you will need an API access token to use our API. The API access token must be sent with each request in the Authorization
header as a Bearer token. API access tokens can be created for your personal account or as part of a team.
To generate a personal API access token, navigate to the API Tokens tab in your “My Account” settings page in SpinupWP. API access tokens you create via the “My Account” page are only relevant to resources created under your personal account.
If you are a team admin or a team owner, you can also generate access tokens from the API Tokens tab on the “Team Settings” page for any of the teams you own/manage. API access tokens you create via the “Team Settings” page are only relevant for resources associated with that team.
Pagination
Request
curl -X GET https://api.spinupwp.app/v1/servers?page=2 \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
$spinupwp = new DeliciousBrains\SpinupWp\SpinupWp('API_TOKEN');
$servers = $spinupwp->servers->list();
// Auto-pagination handles fetching lists of resources without having
// to paginate results and perform subsequent requests manually
foreach ($servers as $server) {
// Do something with $server
}
Response
{
"data": [...],
"pagination": {
"previous": "https://api.spinupwp.app/v1/sites?page=1",
"next": "https://api.spinupwp.app/v1/sites?page=3",
"count": 25
}
}
All “list” endpoints include pagination, and have a limit of 10 objects per page. These endpoints will include a top-level pagination
object with previous
and next
links along with a total count
of objects.
These endpoints accept a page
query parameter, which is the index of the page you want to retrieve. You can also optionally pass a limit
parameter between 1 and 100, which is the limit of the number of objects to be returned. The default limit is 10.
Rate Limiting
The SpinupWP API has limit of 60 requests per minute. If you exceed the allowed limit you will receive a 429 Too Many Attempts
response. To help you determine if you are approaching the limit we include the X-RateLimit-Limit
and X-RateLimit-Remaining
headers on each request.
Servers
The Servers endpoint allows you to view servers.
List all servers
Request
curl -X GET https://api.spinupwp.app/v1/servers \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
$spinupwp = new DeliciousBrains\SpinupWp\SpinupWp('API_TOKEN');
$servers = $spinupwp->servers->list();
Response
{
"data": [
{
"id": 1,
"name": "hellfish-media",
"provider_name": "DigitalOcean",
"ubuntu_version": "20.04",
"ip_address": "10.0.0.1",
"ssh_port": 22,
"timezone": "UTC",
"region": "TOR1",
"size": "1 GB / 1 vCPU",
"disk_space": {
"total": 25210576000,
"available": 20966548000,
"used": 4244028000,
"updated_at": "2021-01-01T12:00:00.000000Z"
},
"database": {
"server": "mysql-8.0",
"host": "localhost",
"port": 3306
},
"ssh_publickey": "ssh-rsa AAAA....",
"git_publickey": "ssh-rsa AAAA....",
"connection_status": "connected",
"reboot_required": true,
"upgrade_required": false,
"install_notes": null,
"created_at": "2021-01-01T12:00:00.000000Z",
"status": "provisioned"
}
],
"pagination": {
"previous": null,
"next": "https://api.spinupwp.app/v1/servers?page=2",
"per_page": 10,
"count": 15
}
}
GET /servers
Retrieves a list of servers. Returns a paginated list of Server objects.
Retrieve a server
Request
curl -X GET https://api.spinupwp.app/v1/servers/{id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
$spinupwp = new DeliciousBrains\SpinupWp\SpinupWp('API_TOKEN');
$server = $spinupwp->servers->get($serverId);
Response
{
"data": {
"id": 1,
"name": "hellfish-media",
"provider_name": "DigitalOcean",
"ubuntu_version": "20.04",
"ip_address": "10.0.0.1",
"ssh_port": 22,
"timezone": "UTC",
"region": "TOR1",
"size": "1 GB / 1 vCPU",
"disk_space": {
"total": 25210576000,
"available": 20966548000,
"used": 4244028000,
"updated_at": "2021-01-01T12:00:00.000000Z"
},
"database": {
"server": "mysql-8.0",
"host": "localhost",
"port": 3306
},
"ssh_publickey": "ssh-rsa AAAA....",
"git_publickey": "ssh-rsa AAAA....",
"connection_status": "connected",
"reboot_required": true,
"upgrade_required": false,
"install_notes": null,
"created_at": "2021-01-01T12:00:00.000000Z",
"status": "provisioned"
}
}
GET /servers/{id}
Retrieves the details of a single server. Returns a Server object.
Sites
The Sites endpoint allows you to create, view, and delete sites.
List all Sites
Request
curl -X GET https://api.spinupwp.app/v1/sites \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-d server_id=1 \
-G
$spinupwp = new DeliciousBrains\SpinupWp\SpinupWp('API_TOKEN');
// List all sites
$sites = $spinupwp->sites->list();
// List sites by server
$sites = $spinupwp->sites->listForServer($serverId);
Response
{
"data": [
{
"id": 0,
"server_id": 1,
"domain": "hellfish.media",
"additional_domains": [
{
"domain": "www.hellfish.media",
"redirect": {
"enabled": true
},
"created_at": "2019-08-24T14:15:22Z"
}
],
"site_user": "hellfishmedia",
"php_version": "7.4",
"public_folder": "/",
"is_wordpress": true,
"page_cache": {
"enabled": true
},
"https": {
"enabled": true
},
"nginx": {
"uploads_directory_protected": true,
"xmlrpc_protected": true,
"subdirectory_rewrite_in_place": false
},
"database": {
"id": 1,
"user_id": 1,
"table_prefix": "wp_"
},
"backups": {
"files": true,
"database": true,
"paths_to_exclude": "node_modules\\n/files/vendor",
"retention_period": 30,
"next_run_time": "2021-01-01T12:00:00.000000Z",
"storage_provider": {
"id": 1,
"region": "nyc3",
"bucket": "hellfish-media"
}
},
"wp_core_update": true,
"wp_theme_updates": 0,
"wp_plugin_updates": 3,
"git": {
"repo": "[email protected]:deliciousbrains/spinupwp-composer-site.git",
"branch": "main",
"deploy_script": "composer install --optimize-autoload --no-dev",
"push_enabled": true,
"deployment_url": "https://api.spinupwp.app/git/jeJLdKrl63/deploy"
},
"basic_auth": {
"enabled": true,
"username": "hellfish"
},
"created_at": "2021-01-01T12:00:00.000000Z",
"status": "deployed"
}
],
"pagination": {
"previous": null,
"next": "https://api.spinupwp.app/v1/sites?page=2",
"per_page": 10,
"count": 15
}
}
GET /sites
Retrieves a list of sites. Optionally filtered by server. Returns a paginated list of Site objects.
Parameters
(* indicates a required field)
Name | Type | Description |
---|---|---|
server_id |
integer | Filter by Server ID |
Create a Site
Request
curl -X POST https://api.spinupwp.app/v1/sites \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-d 'server_id'=1 \
-d 'domain'=hellfish.media \
-d 'additional_domains[1][domain]'=www.hellfish.media \
-d 'additional_domains[1][redirect]'=true \
-d 'site_user'=hellfishmedia \
-d 'installation_method'=wp \
-d 'page_cache[enabled]'=true \
-d 'https[enabled]'=true \
-d 'database[name]'=hellfishmedia \
-d 'database[username]'=hellfishmedia \
-d 'wordpress[title]'="Hellfish Media" \
-d 'wordpress[admin_user]'=admin \
-d 'wordpress[admin_email]'=[email protected] \
-d 'wordpress[admin_password]'=DK6Jrfj8gyWzL
$spinupwp = new DeliciousBrains\SpinupWp\SpinupWp('API_TOKEN');
$site = $spinupwp->sites->create($serverId, [
'domain' => 'hellfish.media',
'site_user' => 'hellfishmedia',
'installation_method' => 'wp',
'page_cache' => [
'enabled' => true,
],
'https' => [
'enabled' => true,
],
'database' => [
'name' => 'hellfishmedia',
'username' => 'hellfishmedia',
],
'wordpress' => [
'title' => 'Hellfish Media',
'admin_user' => 'admin',
'admin_email' => '[email protected]',
'admin_password' => 'DK6Jrfj8gyWzL',
]
]);
Response
{
"event_id": 1,
"data": {
"id": 0,
"server_id": 1,
"domain": "hellfish.media",
"additional_domains": [
{
"domain": "www.hellfish.media",
"redirect": {
"enabled": true
},
"created_at": "2019-08-24T14:15:22Z"
}
],
"site_user": "hellfishmedia",
"php_version": "7.4",
"public_folder": "/",
"is_wordpress": true,
"page_cache": {
"enabled": true
},
"https": {
"enabled": true
},
"nginx": {
"uploads_directory_protected": true,
"xmlrpc_protected": true,
"subdirectory_rewrite_in_place": false
},
"database": {
"id": 1,
"user_id": 1,
"table_prefix": "wp_"
},
"backups": {
"files": true,
"database": true,
"paths_to_exclude": "node_modules\\n/files/vendor",
"retention_period": 30,
"next_run_time": "2021-01-01T12:00:00.000000Z",
"storage_provider": {
"id": 1,
"region": "nyc3",
"bucket": "hellfish-media"
}
},
"wp_core_update": true,
"wp_theme_updates": 0,
"wp_plugin_updates": 3,
"git": {
"repo": "[email protected]:deliciousbrains/spinupwp-composer-site.git",
"branch": "main",
"deploy_script": "composer install --optimize-autoload --no-dev",
"push_enabled": true,
"deployment_url": "https://api.spinupwp.app/git/jeJLdKrl63/deploy"
},
"basic_auth": {
"enabled": true,
"username": "hellfish"
},
"created_at": "2021-01-01T12:00:00.000000Z",
"status": "deployed"
}
}
POST /sites
Creates a new site. Returns the event_id
of the create site event along with the created Site object. You can check the events endpoint for the event_id
every few minutes to find out when the site is ready.
Parameters
(* indicates a required field)
Name | Type | Description |
---|---|---|
server_id * |
integer | The ID of the server where the site should be created. |
domain * |
string | The site’s primary domain. |
additional_domains |
array | List of Additional Domain objects. |
site_user * |
string | The username for the site user. |
php_version |
string | The site’s PHP version. One of 7.3 , 7.4 , or 8.0 . Defaults to 7.4 . |
public_folder |
string | The site’s public folder. Defaults to / . |
installation_method * |
string | The type of site. One of wp , wp_subdirectory , wp_subdomain , git or blank . |
deploy_script |
string | This script will run after the site has been deployed. The script is executed as the site user from the ~/files directory. |
page_cache.enabled |
boolean | Whether to enable page caching. |
https.enabled |
boolean | Whether to enable HTTPS. |
https.certificate_path |
string | Only required when using a custom HTTPS certificate. Specify a path to the certificate. |
https.private_key_path |
string | Only required when using a custom HTTPS certificate. Specify a path to the prive key. |
database.name |
string | Database name. Only required if adding a database. |
database.username |
string | Database username. Only required if adding a database. |
database.password |
string | Database password. Leave blank to auto generate. |
database.table_prefix |
string | Table prefix for WordPress. Leave blank to auto generate. |
wordpress.title |
string | WordPress site title. Only required when using a WordPress installation method. |
wordpress.admin_user |
string | WordPress admin username. Only required when using a WordPress installation method. |
wordpress.admin_password |
string | WordPress admin password. Only required when using a WordPress installation method. |
wordpress.admin_email |
string | WordPress admin email. Only required when using a WordPress installation method. |
git.repo |
string | Link to repository if enabling git. |
git.branch |
string | Git repository branch to deploy from. |
git.always_run_deploy_script |
boolean | Run the site’s deploy script after each git deployment. If this is not true , the script will run once after the site has been created and will not be saved. |
git.push_to_deploy |
boolean | Enable push to deploy for git. Need to setup a webhook with your git provider to point to the returned git_deployment_url . |
Retrieve a Site
Request
curl -X GET https://api.spinupwp.app/v1/sites/{id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
$spinupwp = new DeliciousBrains\SpinupWp\SpinupWp('API_TOKEN');
$site = $spinupwp->sites->get($siteId);
Response
{
"data": {
"id": 0,
"server_id": 1,
"domain": "hellfish.media",
"additional_domains": [
{
"domain": "www.hellfish.media",
"redirect": {
"enabled": true
},
"created_at": "2019-08-24T14:15:22Z"
}
],
"site_user": "hellfishmedia",
"php_version": "7.4",
"public_folder": "/",
"is_wordpress": true,
"page_cache": {
"enabled": true
},
"https": {
"enabled": true
},
"nginx": {
"uploads_directory_protected": true,
"xmlrpc_protected": true,
"subdirectory_rewrite_in_place": false
},
"database": {
"id": 1,
"user_id": 1,
"table_prefix": "wp_"
},
"backups": {
"files": true,
"database": true,
"paths_to_exclude": "node_modules\\n/files/vendor",
"retention_period": 30,
"next_run_time": "2021-01-01T12:00:00.000000Z",
"storage_provider": {
"id": 1,
"region": "nyc3",
"bucket": "hellfish-media"
}
},
"wp_core_update": true,
"wp_theme_updates": 0,
"wp_plugin_updates": 3,
"git": {
"repo": "[email protected]:deliciousbrains/spinupwp-composer-site.git",
"branch": "main",
"deploy_script": "composer install --optimize-autoload --no-dev",
"push_enabled": true,
"deployment_url": "https://api.spinupwp.app/git/jeJLdKrl63/deploy"
},
"basic_auth": {
"enabled": true,
"username": "hellfish"
},
"created_at": "2021-01-01T12:00:00.000000Z",
"status": "deployed"
}
}
GET /sites/{id}
Retrieves the details of a single site. Returns a Site object.
Delete a Site
Request
curl -X DELETE https://api.spinupwp.app/v1/sites/{id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}' \
-d delete_database=true \
-d delete_backups=true \
-G
$spinupwp = new DeliciousBrains\SpinupWp\SpinupWp('API_TOKEN');
$eventId = $spinupwp->sites->delete($siteId);
Response
{
"event_id": 1
}
DELETE /sites/{id}
Permanently deletes a site. This cannot be undone. Returns the event_id
of the delete site event.
Parameters
(* indicates a required field)
Name | Type | Description |
---|---|---|
delete_database |
boolean | Delete associated database |
delete_backups |
boolean | Delete associated backups |
Run a Git Deployment
Request
curl -X POST https://api.spinupwp.app/v1/sites/{id}/git/deploy \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
$spinupwp = new DeliciousBrains\SpinupWp\SpinupWp('API_TOKEN');
$eventId = $spinupwp->sites->gitDeploy($siteId);
Response
{
"event_id": 1
}
POST /sites/{id}/git/deploy
Run a Git deployment which will pull the latest changes from your Git repository to the site on your server, and run your deployment script afterward (if you have one configured). Returns the event_id
of the git deployment event.
Events
The Events endpoint allows you to view events.
Retrieve an Event
Request
curl -X GET https://api.spinupwp.app/v1/events/{id} \
-H 'Accept: application/json' \
-H 'Authorization: Bearer {access-token}'
$spinupwp = new DeliciousBrains\SpinupWp\SpinupWp('API_TOKEN');
$event = $spinupwp->events->get($eventId);
Response
{
"data": {
"id": 0,
"initiated_by": "Abraham",
"server_id": 1,
"name": "Creating site hellfish.media",
"status": "deployed",
"output": null,
"created_at": "2021-01-01T12:00:00.000000Z",
"started_at": "2021-01-01T12:00:00.000000Z",
"finished_at": "2021-01-01T12:00:00.000000Z"
}
}
GET /events/{id}
Retrieves the details of a single event. Returns an Event object. For operations that return an event_id
you can use this endpoint to check the status of the event. A status
of “deployed” means that the event was successfully completed. If the event fails, the output
field will contain any error messages.
Schemas
Server
{
"id": 1,
"name": "hellfish-media",
"provider_name": "DigitalOcean",
"ubuntu_version": "20.04",
"ip_address": "10.0.0.1",
"ssh_port": 22,
"timezone": "UTC",
"region": "TOR1",
"size": "1 GB / 1 vCPU",
"disk_space": {
"total": 25210576000,
"available": 20966548000,
"used": 4244028000,
"updated_at": "2021-01-01T12:00:00.000000Z"
},
"database": {
"server": "mysql-8.0",
"host": "localhost",
"port": 3306
},
"ssh_publickey": "ssh-rsa AAAA....",
"git_publickey": "ssh-rsa AAAA....",
"connection_status": "connected",
"reboot_required": true,
"upgrade_required": false,
"install_notes": null,
"created_at": "2021-01-01T12:00:00.000000Z",
"status": "provisioned"
}
Properties
Name | Type | Description |
---|---|---|
id |
integer | Unique identifier for the server. |
name |
string | The server’s name. For display purposes only. |
provider_name |
string | The server’s provider name. |
ubuntu_version |
string | The version of Ubuntu on the server. One of 18.04 or 20.04 . |
ip_address |
string | The server’s IP address. |
ssh_port |
integer | Port where the server accepts SSH connections. |
timezone |
string | The server’s timezone. |
region |
string | The server’s region. For display purposes only. |
size |
string | The server’s size. For display purposes only. |
disk_space |
object | Disk space details. |
» total |
integer | Total disk space detected on the server. (In bytes). |
» available |
integer | Available disk space detected on the server. (In bytes). |
» used |
integer | Used disk space detected on the server. (In bytes). |
» updated_at |
string(date-time) | The time that disk space was updated. |
database |
object | Database details. |
» server |
string | The database type on the server. |
» host |
string | The hostname for the database. |
» port |
integer | The port for the database. |
ssh_publickey |
string | The server’s public key. |
git_publickey |
string | The server’s public key for git connections. |
connection_status |
string | The server’s connection status. One of connected or disconnected . |
reboot_required |
boolean | If the server requires a reboot |
upgrade_required |
boolean | If the server has a pending SpinupWP upgrade. |
install_notes |
string | Notes about the server. |
created_at |
string(date-time) | The date the server was created. |
status |
string | The server’s status. One of provisioning , provisioned , or failed . |
Site
{
"id": 0,
"server_id": 1,
"domain": "hellfish.media",
"additional_domains": [
{
"domain": "www.hellfish.media",
"redirect": {
"enabled": true
},
"created_at": "2019-08-24T14:15:22Z"
}
],
"site_user": "hellfishmedia",
"php_version": "7.4",
"public_folder": "/",
"is_wordpress": true,
"page_cache": {
"enabled": true
},
"https": {
"enabled": true,
"certificate_path": "/etc/nginx/ssl/hellfish.media/certificate-bundle.crt",
"private_key_path": "/etc/nginx/ssl/hellfish.media/private-key.key"
},
"nginx": {
"uploads_directory_protected": true,
"xmlrpc_protected": true,
"subdirectory_rewrite_in_place": false
},
"database": {
"id": 1,
"user_id": 1,
"table_prefix": "wp_"
},
"backups": {
"files": true,
"database": true,
"paths_to_exclude": "node_modules\\n/files/vendor",
"retention_period": 30,
"next_run_time": "2021-01-01T12:00:00.000000Z",
"storage_provider": {
"id": 1,
"region": "nyc3",
"bucket": "hellfish-media"
}
},
"wp_core_update": true,
"wp_theme_updates": 0,
"wp_plugin_updates": 3,
"git": {
"repo": "[email protected]:deliciousbrains/spinupwp-composer-site.git",
"branch": "main",
"deploy_script": "composer install --optimize-autoload --no-dev",
"push_enabled": true,
"deployment_url": "https://api.spinupwp.app/git/jeJLdKrl63/deploy"
},
"basic_auth": {
"enabled": true,
"username": "hellfish"
},
"created_at": "2021-01-01T12:00:00.000000Z",
"status": "deployed"
}
Properties
Name | Type | Description |
---|---|---|
id |
integer | Unique identifier for the site. |
server_id |
integer | The site’s server ID. |
domain |
string | The site’s primary domain. |
additional_domains |
[AdditionalDomain] | The site’s additional domains. |
site_user |
string | The username for the site user. |
php_version |
string | The site’s PHP version. |
public_folder |
string | The site’s public folder. |
is_wordpress |
boolean | If a WordPress install was detected. |
page_cache |
object | Page cache details. |
» enabled |
boolean | If page caching is enabled. |
https |
object | HTTPS details. |
» enabled |
boolean | If https is enabled. |
» certificate_path |
string | The path to the certificate when using a custom HTTPS. |
» private_key_path |
string | The path to the private key when using a custom HTTPS. |
nginx |
object | Nginx options. |
» uploads_directory_protected |
boolean | Disallow PHP execution in the uploads folder. |
» xmlrpc_protected |
boolean | Disable xmlrpc.php |
» subdirectory_rewrite_in_place |
boolean | If rewrite rules are enabled for a WordPress Multisite subdirectory install. |
database |
object | Database details. |
» id |
integer | The site’s database ID. |
» user_id |
integer | The site’s database user ID. |
» table_prefix |
string | The site’s WordPress table prefix. |
backups |
object | Backup details. |
» files |
boolean | If file backups are enabled. |
» database |
boolean | If database backups are enabled. |
» paths_to_exclude |
string | Paths to be excluded from the file backups. |
» retention_period |
integer | Number of days to retain the site backups. |
» next_run_time |
string(date-time) | The timestamp in UTC that the next automatically scheduled backup will run. |
» storage_provider |
object | Storage provider details. |
»» id |
integer | The site’s storage provider ID. |
»» region |
string | The site’s storage provider region. |
»» bucket |
string | The site’s storage provider bucket. |
wp_core_update |
boolean | If WordPress core has updates available. |
wp_theme_updates |
integer | Number of WordPress themes that have updates available. |
wp_plugin_updates |
integer | Number of WordPress plugins that have updates available. |
git |
object | Git details. |
» repo |
string | The site’s git repository URL. |
» branch |
string | The site’s git branch. |
» deploy_script |
string | The script that will run after each git deployment. The script is executed as the site user from the ~/files directory. |
» push_enabled |
boolean | If git push to deploy is enabled. |
» deployment_url |
string | URL that git provider needs to make a POST request to for push to deploy. |
basic_auth |
object | Basic auth details. |
» enabled |
boolean | If basic authentication is enabled. |
» username |
string | The basic auth username. |
created_at |
string(date-time) | The date the site was created. |
status |
string | The site’s status. One of deploying , deployed , or failed . |
Event
{
"id": 0,
"initiated_by": "Abraham",
"server_id": 1,
"name": "Creating site hellfish.media",
"status": "deployed",
"output": null,
"created_at": "2021-01-01T12:00:00.000000Z",
"started_at": "2021-01-01T12:00:00.000000Z",
"finished_at": "2021-01-01T12:00:00.000000Z"
}
Properties
Name | Type | Description |
---|---|---|
id |
integer | Unique identifier for the event. |
initiated_by |
string | The name of the person that initiated the event. |
server_id |
integer | The event’s server ID. |
name |
string | The name of the event. |
status |
string | The event’s status. One of queued ,creating ,updating ,deleting ,deployed , or failed . |
output |
string | The event’s output. |
created_at |
string(date-time) | The time that the event was created. |
started_at |
string(date-time) | The time that the event was started. |
finished_at |
string(date-time) | The time that the event finished. |
Additional Domain
{
"domain": "www.hellfish.media",
"redirect": {
"enabled": true
},
"created_at": "2019-08-24T14:15:22Z"
}
Properties
Name | Type | Description |
---|---|---|
domain |
string | Additional domain name. |
redirect |
object | The domain redirect details. |
» enabled |
boolean | If true the domain will redirect to the primary domain. |
created_at |
string(date-time) | Date the domain was added. |
Pagination
{
"previous": null,
"next": "https://api.spinupwp.app/v1/sites?page=2",
"per_page": 10,
"count": 15
}
Properties
Name | Type | Description |
---|---|---|
previous |
string | Link to the previous page. Null if the current page is the first page. |
next |
string | Link to the previous page. Null if the current page is the last page. |
per_page |
integer | Number of objects per page. |
count |
integer | Total number of objects. |
Errors
The SpinupWP API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request – Your request is invalid. |
401 | Unauthorized – Your API token is wrong or no longer valid. |
402 | Payment Required – The team does not have a valid subscription. |
403 | Forbidden – You do not have permission to access the endpoint. |
404 | Not Found – The specified resource could not be found. |
405 | Method Not Allowed – You tried to access an endpoint with an invalid method. |
422 | Validation Error – Invalid or missing parameters. |
429 | Too Many Attempts – You’ve hit the rate limit on API requests. |
500 | Internal Server Error – We had a problem with our server. Try again later. |
503 | Service Unavailable – We’re temporarily offline for maintenance. Please try again later. |