Solar VPS icon

Solar VPS

This is the Solar VPS Public API

COMMUNITYAPI KEY0 INSTALLS
OpenAPI Specificationv3.0
{
  "swagger": "2.0",
  "schemes": [
    "http"
  ],
  "host": "api.ss.solarvps.com",
  "basePath": "/",
  "info": {
    "contact": {
      "email": "support@solarvps.com"
    },
    "description": "This is the Solar VPS Public API. You can find more at http://www.solarvps.com",
    "title": "Solar VPS",
    "version": "1.0.0",
    "x-logo": {
      "url": "https://api.apis.guru/v2/cache/logo/https_solarvps_com_wp-content_themes_solarvps_images_logo-footer@2x.svg"
    },
    "x-origin": [
      {
        "format": "swagger",
        "url": "http://api.ss.solarvps.com/api-docs",
        "version": "1.2"
      }
    ],
    "x-providerName": "solarvps.com"
  },
  "produces": [
    "application/json"
  ],
  "securityDefinitions": {
    "apiKey": {
      "in": "query",
      "name": "api_key",
      "type": "apiKey"
    }
  },
  "tags": [
    {
      "description": "Operations about DNS Records",
      "name": "contacts"
    },
    {
      "description": "Operations about DNS Records",
      "name": "dns"
    },
    {
      "description": "Operations about DNS Domains",
      "name": "domains"
    },
    {
      "description": "Operations about API Keys",
      "name": "key"
    },
    {
      "description": "Operations about pods",
      "name": "pods"
    },
    {
      "description": "Operations about SolarRay Monitoring",
      "name": "solarray"
    },
    {
      "description": "Operations about Support / Billing / Sales Tickets",
      "name": "tickets"
    }
  ],
  "paths": {
    "/contacts": {
      "get": {
        "description": "Shows all contacts under the client account.",
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "View all contacts under your account",
        "tags": [
          "contacts"
        ]
      }
    },
    "/dns/{domain}": {
      "get": {
        "description": "Shows all your records for a specific domain. You can try example.com below.",
        "parameters": [
          {
            "description": "Domain name you want to get records for",
            "in": "path",
            "name": "domain",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "View all your records for a given domain",
        "tags": [
          "dns"
        ]
      }
    },
    "/dns/{domain}/add": {
      "post": {
        "description": "You can try example.com below. Types allowed are: A CNAME NS TXT MX SRV SPF",
        "parameters": [
          {
            "description": "Domain you want to add records for",
            "in": "path",
            "name": "domain",
            "required": true,
            "type": "string"
          },
          {
            "description": "Fully qualified DNS name",
            "in": "query",
            "name": "name",
            "required": true,
            "type": "string"
          },
          {
            "description": "Type of DNS record",
            "in": "query",
            "name": "type",
            "required": true,
            "type": "string"
          },
          {
            "description": "Content for DNS record",
            "in": "query",
            "name": "content",
            "required": true,
            "type": "string"
          },
          {
            "description": "Time To Live for DNS record",
            "in": "query",
            "name": "ttl",
            "required": true,
            "type": "string"
          },
          {
            "description": "Priority of DNS record",
            "in": "query",
            "name": "prio",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Add dns record for given domain",
        "tags": [
          "dns"
        ]
      }
    },
    "/dns/{domain}/delete": {
      "post": {
        "description": "Shows all your records for a specific domain. You can try example.com below.",
        "parameters": [
          {
            "description": "Domain name you want to get records for",
            "in": "path",
            "name": "domain",
            "required": true,
            "type": "string"
          },
          {
            "description": "Id of the DNS Record",
            "in": "query",
            "name": "id",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Delete dns record for a given domain",
        "tags": [
          "dns"
        ]
      }
    },
    "/dns/{domain}/update": {
      "post": {
        "description": "You can try example.com below.",
        "parameters": [
          {
            "description": "Domain name to add record under",
            "in": "path",
            "name": "domain",
            "required": true,
            "type": "string"
          },
          {
            "description": "Id of DNS record",
            "in": "query",
            "name": "id",
            "required": true,
            "type": "string"
          },
          {
            "description": "Fully qualified name for the DNS record",
            "in": "query",
            "name": "name",
            "required": false,
            "type": "string"
          },
          {
            "description": "Type for DNS record",
            "in": "query",
            "name": "type",
            "required": false,
            "type": "string"
          },
          {
            "description": "Content for the DNS Record",
            "in": "query",
            "name": "content",
            "required": false,
            "type": "string"
          },
          {
            "description": "Time To Live for DNS record",
            "in": "query",
            "name": "ttl",
            "required": false,
            "type": "string"
          },
          {
            "description": "Priority of the DNS record",
            "in": "query",
            "name": "prio",
            "required": false,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Update dns record for a given domain",
        "tags": [
          "dns"
        ]
      }
    },
    "/domains": {
      "get": {
        "description": "Shows all your domains",
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "View all your domains managed by SolarVPS Distributed DNS",
        "tags": [
          "domains"
        ]
      }
    },
    "/domains/add": {
      "post": {
        "description": "Adds domain to SolarVPS Distributed DNS",
        "parameters": [
          {
            "description": "Domain to add to SolarVPS Distributed DNS",
            "in": "query",
            "name": "domain",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Add domain to be managed by SolarVPS Distributed DNS",
        "tags": [
          "domains"
        ]
      }
    },
    "/domains/delete": {
      "post": {
        "description": "Deletes domain from SolarVPS Distributed DNS",
        "parameters": [
          {
            "description": "Domain to delete from SolarVPS Distributed DNS",
            "in": "query",
            "name": "domain",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Delete domain from SolarVPS Distributed DNS",
        "tags": [
          "domains"
        ]
      }
    },
    "/key/generate": {
      "get": {
        "description": "API Key is regenerated if it already exists",
        "parameters": [
          {
            "description": "Email address used to login to SolarSystem",
            "in": "query",
            "name": "username",
            "required": true,
            "type": "string"
          },
          {
            "description": "Password used to login to SolarSystem",
            "in": "query",
            "name": "password",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Generate API Key",
        "tags": [
          "key"
        ]
      }
    },
    "/key/get": {
      "get": {
        "description": "Gets the API Key for user",
        "parameters": [
          {
            "description": "Email address used to login to SolarSystem",
            "in": "query",
            "name": "username",
            "required": true,
            "type": "string"
          },
          {
            "description": "Password used to login to SolarSystem",
            "in": "query",
            "name": "password",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Get API Key",
        "tags": [
          "key"
        ]
      }
    },
    "/pods": {
      "get": {
        "description": "Shows all your pods",
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "View all your pods",
        "tags": [
          "pods"
        ]
      }
    },
    "/pods/{podId}": {
      "get": {
        "description": "Shows details of a specific pod. Enter 1 below to see an example",
        "parameters": [
          {
            "description": "Id of the pod you want to perform actions on",
            "in": "path",
            "name": "podId",
            "required": true,
            "type": "number"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "View information on a specific pod",
        "tags": [
          "pods"
        ]
      }
    },
    "/pods/{podId}/ping": {
      "get": {
        "description": "Returns the ping response from your server.",
        "parameters": [
          {
            "description": "Id of the pod you want to ping check",
            "in": "path",
            "name": "podId",
            "required": true,
            "type": "number"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Ping your specified pod",
        "tags": [
          "pods"
        ]
      }
    },
    "/pods/{podId}/{action}": {
      "get": {
        "description": "Allowed actions are reboot, shutdown, boot",
        "parameters": [
          {
            "description": "Id of the pod you want to perform actions on",
            "in": "path",
            "name": "podId",
            "required": true,
            "type": "number"
          },
          {
            "description": "Action to perform on selected pod",
            "in": "path",
            "name": "action",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Perform action on a specific pod",
        "tags": [
          "pods"
        ]
      }
    },
    "/solarray": {
      "get": {
        "description": "Shows all your monitors",
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "View all your monitors",
        "tags": [
          "solarray"
        ]
      }
    },
    "/solarray/critical": {
      "get": {
        "description": "Shows all your critical notifications",
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "View all your critical notifications",
        "tags": [
          "solarray"
        ]
      }
    },
    "/tickets": {
      "get": {
        "description": "Shows all your tickets",
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "View all your tickets",
        "tags": [
          "tickets"
        ]
      }
    },
    "/tickets/{department}/add": {
      "post": {
        "description": "Available departments are support, billing, sales",
        "parameters": [
          {
            "description": "Department you want to open a ticket with",
            "in": "path",
            "name": "department",
            "required": true,
            "type": "string"
          },
          {
            "description": "Subject of the ticket you are opening",
            "in": "query",
            "name": "subject",
            "required": true,
            "type": "string"
          },
          {
            "description": "Message reply being sent",
            "in": "query",
            "name": "contents",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Open ticket with desired department",
        "tags": [
          "tickets"
        ]
      }
    },
    "/tickets/{ticketId}": {
      "get": {
        "description": "Shows all information of a specific ticketId",
        "parameters": [
          {
            "description": "TicketId you want to see",
            "in": "path",
            "name": "ticketId",
            "required": true,
            "type": "number"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "View details on a specific ticket",
        "tags": [
          "tickets"
        ]
      }
    },
    "/tickets/{ticketid}/update": {
      "post": {
        "parameters": [
          {
            "description": "TicketId of the ticket you want to post an update to",
            "in": "path",
            "name": "ticketid",
            "required": true,
            "type": "number"
          },
          {
            "description": "Message reply being sent",
            "in": "query",
            "name": "contents",
            "required": true,
            "type": "string"
          }
        ],
        "responses": {
          "200": {
            "description": "No response was specified"
          }
        },
        "security": [
          {
            "apiKey": []
          }
        ],
        "summary": "Post a reply to a ticket",
        "tags": [
          "tickets"
        ]
      }
    }
  }
}