D7net
Home
Console
Upload
information
Create File
Create Folder
About
Tools
:
/
opt
/
psa
/
admin
/
htdocs
/
modules
/
rest-api
/
public
/
v2
/
Filename :
swagger.json
back
Copy
{ "swagger": "2.0", "info": { "version": "v2", "title": "Plesk RESTful API" }, "basePath": "/api/v2", "schemes": [ "https" ], "securityDefinitions": { "BasicAuth": { "type": "basic" }, "APIKeyHeader": { "type": "apiKey", "in": "header", "name": "X-API-Key" } }, "security": [ { "BasicAuth": [] }, { "APIKeyHeader": [] } ], "tags": [ { "name": "Authentication", "description": "Auth entry points" }, { "name": "Cli", "description": "CLI gate entry points" }, { "name": "Server", "description": "Server entry points" }, { "name": "Extensions", "description": "Extensions entry points" }, { "name": "Clients", "description": "Clients entry points" }, { "name": "Domains", "description": "Domains entry points" }, { "name": "FtpUsers", "description": "FTP Users entry points" }, { "name": "Databases", "description": "Databases, database servers and database users entry points" }, { "name": "DNS", "description": "DNS entry points" } ], "paths": { "/auth/keys": { "post": { "tags": [ "Authentication" ], "summary": "Generate a secret key", "description": "", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "Key parameters", "required": true, "schema": { "$ref": "#/definitions/SecretKeyRequest" } } ], "responses": { "201": { "description": "Secret key was successfully created", "schema": { "$ref": "#/definitions/SecretKeyResponse" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "401": { "description": "Incorrect login", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/auth/keys/{key}": { "delete": { "tags": [ "Authentication" ], "summary": "Delete a secret key", "description": "", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "key", "description": "Key ID", "required": true, "x-example": "3d2e93ad-85e6-1a3e-9f81-b9d26650e4f9", "type": "string" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "404": { "description": "Key does not exist", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/cli/commands": { "get": { "tags": [ "Cli" ], "summary": "List of available commands", "description": "", "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "type": "string" } } } } } }, "/cli/{id}/ref": { "get": { "tags": [ "Cli" ], "x-plesk-since": "17.9", "summary": "Command reference", "description": "plesk: >= 17.9", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "description": "Command identifier", "type": "string", "required": true, "x-example": "settings" } ], "responses": { "200": { "description": "OK", "schema": { "type": "object", "properties": { "allowed_commands": { "type": "object" }, "allowed_options": { "type": "object" } } } }, "404": { "description": "Command is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/cli/{id}/call": { "post": { "tags": [ "Cli" ], "summary": "Execute command", "description": "", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "description": "Command identifier", "type": "string", "required": true, "x-example": "settings" }, { "in": "body", "name": "body", "description": "Command execution parameters", "schema": { "$ref": "#/definitions/CliCallRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CliCallResponse" } }, "404": { "description": "Command is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/server": { "get": { "tags": [ "Server" ], "summary": "Server Meta Information", "description": "", "produces": [ "application/json" ], "responses": { "200": { "description": "Return Server Meta Information", "schema": { "$ref": "#/definitions/ServerMeta" } } } } }, "/server/init": { "post": { "tags": [ "Server" ], "summary": "Performing initial server setup", "description": "", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "Inital setup parameters", "required": true, "schema": { "$ref": "#/definitions/ServerInit" } } ], "responses": { "200": { "description": "Inital server setup was succesfully performed", "schema": { "$ref": "#/definitions/StatusResponse" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/server/license": { "post": { "tags": [ "Server" ], "summary": "Installing license key", "description": "", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "License key", "required": true, "schema": { "$ref": "#/definitions/ServerLicense" } } ], "responses": { "200": { "description": "License key was succesfully installed", "schema": { "$ref": "#/definitions/StatusResponse" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/server/ips": { "get": { "tags": [ "Server" ], "summary": "Server IP Addresses", "description": "", "produces": [ "application/json" ], "responses": { "200": { "description": "Return Server IP Addresses list", "schema": { "type": "array", "items": { "$ref": "#/definitions/ServerIp" } } } } } }, "/extensions": { "get": { "tags": [ "Extensions" ], "summary": "List of installed Extensions", "description": "", "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/Extension" } } } } }, "post": { "tags": [ "Extensions" ], "summary": "Install a new Extension", "description": "", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "Installation type and resource", "required": true, "schema": { "$ref": "#/definitions/ExtensionInstallRequest" } } ], "responses": { "200": { "description": "Extension successfully installed", "schema": { "$ref": "#/definitions/StatusResponse" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/extensions/{id}": { "get": { "tags": [ "Extensions" ], "summary": "Extension details", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "description": "Extension identifier", "type": "string", "required": true, "x-example": "letsencrypt" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Extension" } }, "404": { "description": "Extension is not installed", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "Extensions" ], "summary": "Delete an Extension", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "description": "Extension identifier", "type": "string", "required": true, "x-example": "letsencrypt" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "404": { "description": "Extension is not installed", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/extensions/{id}/enable": { "put": { "tags": [ "Extensions" ], "summary": "Enable extension", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "description": "Extension identifier", "type": "string", "required": true, "x-example": "letsencrypt" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "404": { "description": "Extension is not installed", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/extensions/{id}/disable": { "put": { "tags": [ "Extensions" ], "summary": "Disable extension", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "description": "Extension identifier", "type": "string", "required": true, "x-example": "letsencrypt" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "404": { "description": "Extension is not installed", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/clients": { "get": { "tags": [ "Clients" ], "summary": "List all clients", "description": "", "produces": [ "application/json" ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/Client" } } } } }, "post": { "tags": [ "Clients" ], "summary": "Create a new Client account", "description": "", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "Client data", "required": true, "schema": { "$ref": "#/definitions/ClientRequest" } } ], "responses": { "201": { "description": "Client account successfully created", "schema": { "$ref": "#/definitions/CreatedResponse" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/clients/{id}": { "get": { "tags": [ "Clients" ], "summary": "Client details", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Client ID", "x-example": 7 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Client" } }, "404": { "description": "Client is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "put": { "tags": [ "Clients" ], "summary": "Update client account", "description": "", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Client ID", "x-example": 7 }, { "in": "body", "name": "body", "description": "Client data", "required": true, "schema": { "$ref": "#/definitions/ClientUpdateRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CreatedResponse" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Client is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "Clients" ], "summary": "Delete client account", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Client ID", "x-example": 7 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CreatedResponse" } }, "404": { "description": "Client is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/clients/{id}/domains": { "get": { "tags": [ "Clients" ], "summary": "List of client domains", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Client ID", "x-example": 7 } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/DomainResponse" } } }, "404": { "description": "Client is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/clients/{id}/statistics": { "get": { "tags": [ "Clients" ], "summary": "Get client stats", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Client ID", "x-example": 7 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/ClientStatistics" } }, "404": { "description": "Client is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/clients/{id}/activate": { "put": { "tags": [ "Clients" ], "summary": "Activate client", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Client ID", "x-example": 7 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "404": { "description": "Client is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/clients/{id}/suspend": { "put": { "tags": [ "Clients" ], "summary": "Suspend client", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Client ID", "x-example": 7 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "404": { "description": "Client is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/domains": { "get": { "tags": [ "Domains" ], "summary": "List all domains", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "query", "name": "name", "description": "Filter data by domain name", "type": "string", "x-example": "example.com" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/DomainResponse" } } } } }, "post": { "tags": [ "Domains" ], "summary": "Create a new Domain", "description": "", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "Domain data", "required": true, "schema": { "$ref": "#/definitions/DomainRequest" } } ], "responses": { "201": { "description": "Domain successfully created", "schema": { "$ref": "#/definitions/CreatedResponse" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/domains/{id}": { "get": { "tags": [ "Domains" ], "summary": "Domain details", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Domain ID", "x-example": 1 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DomainResponse" } }, "404": { "description": "Domain is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "put": { "tags": [ "Domains" ], "summary": "Update a Domain", "description": "", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Domain ID", "x-example": 1 }, { "in": "body", "name": "body", "description": "Domain", "required": true, "schema": { "$ref": "#/definitions/DomainRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CreatedResponse" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Domain is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "Domains" ], "summary": "Delete a Domain", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Domain ID", "x-example": 1 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/CreatedResponse" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Domain is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/domains/{id}/client": { "get": { "tags": [ "Domains" ], "summary": "Get domain client", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Domain ID", "x-example": 1 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Client" } }, "404": { "description": "Domain is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/domains/{id}/status": { "get": { "tags": [ "Domains" ], "summary": "Get Domain status", "description": "", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Domain ID", "x-example": 1 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DomainStatus" } }, "404": { "description": "Domain is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "put": { "tags": [ "Domains" ], "summary": "Update a Domain status", "description": "", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "type": "integer", "required": true, "description": "Domain ID", "x-example": 1 }, { "name": "body", "in": "body", "description": "Domain status", "required": true, "schema": { "$ref": "#/definitions/DomainStatus" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DomainStatus" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Domain is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/ftpusers": { "get": { "tags": [ "FtpUsers" ], "summary": "Get FTP users", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "query", "name": "name", "description": "Filter data by user name", "type": "string", "x-example": "exampleuser" }, { "in": "query", "name": "domain", "description": "Filter data by domain name", "type": "string", "x-example": "example.com" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/FtpUser" } } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Domain/user is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "post": { "tags": [ "FtpUsers" ], "summary": "Create FTP user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "FTP User data", "required": true, "schema": { "$ref": "#/definitions/FtpUserRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/FtpUser" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Domain is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/ftpusers/{name}": { "put": { "tags": [ "FtpUsers" ], "summary": "Update FTP user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "name", "description": "FTP user name", "required": true, "type": "string", "x-example": "exampleuser" }, { "in": "body", "name": "body", "description": "FTP User data", "required": true, "schema": { "$ref": "#/definitions/FtpUserUpdateRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "User is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "FtpUsers" ], "summary": "Delete FTP user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "name", "description": "FTP User name", "required": true, "type": "string", "x-example": "exampleuser" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "404": { "description": "User is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/databases": { "get": { "tags": [ "Databases" ], "summary": "Get databases", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "query", "name": "domain", "description": "Filter data by domain name", "type": "string", "x-example": "example.com" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/Database" } } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Server is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "post": { "tags": [ "Databases" ], "summary": "Create database", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "Database data", "required": true, "schema": { "$ref": "#/definitions/DatabaseRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/Database" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Domain is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/databases/{id}": { "delete": { "tags": [ "Databases" ], "summary": "Delete database", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "description": "Database ID", "required": true, "type": "integer", "x-example": 10 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "404": { "description": "Database is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/dbusers": { "get": { "tags": [ "Databases" ], "summary": "Get database users", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "query", "name": "dbId", "description": "Filter data by database ID", "type": "integer", "x-example": 44 } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/DatabaseUser" } } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Domain/database is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "post": { "tags": [ "Databases" ], "summary": "Create database user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "body", "name": "body", "description": "Database User data", "required": true, "schema": { "$ref": "#/definitions/DatabaseUserRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DatabaseUser" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Server/database/domain is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/dbusers/{id}": { "put": { "tags": [ "Databases" ], "summary": "Update database user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "description": "Database user ID", "required": true, "type": "integer", "x-example": 12 }, { "in": "body", "name": "body", "description": "Database user data", "required": true, "schema": { "$ref": "#/definitions/DatabaseUserUpdateRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Server/database/domain is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "Databases" ], "summary": "Delete database user", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "description": "Database user ID", "required": true, "type": "integer", "x-example": 12 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "404": { "description": "Database user is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/dbservers": { "get": { "tags": [ "Databases" ], "summary": "Get database servers", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "query", "name": "id", "description": "Filter data by database server id", "type": "integer", "x-example": 1 } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/DatabaseServer" } } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Server is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/dns/records": { "get": { "tags": [ "DNS" ], "summary": "Get domain or domain alias DNS records", "produces": [ "application/json" ], "parameters": [ { "in": "query", "name": "domain", "description": "Filter by domain or domain alias name", "type": "string", "required": true, "x-example": "example.com" } ], "responses": { "200": { "description": "OK", "schema": { "type": "array", "items": { "$ref": "#/definitions/DnsRecord" } } } } }, "post": { "tags": [ "DNS" ], "summary": "Create domain or domain alias DNS record", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "query", "name": "domain", "description": "Filter by domain or domain alias name", "type": "string", "required": true, "x-example": "example.com" }, { "in": "body", "name": "body", "description": "DNS record data", "required": true, "schema": { "$ref": "#/definitions/DnsRecordRequest" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DnsRecord" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "Domain or Domain Alias is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } }, "/dns/records/{id}": { "get": { "tags": [ "DNS" ], "summary": "Get DNS record", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "description": "DNS record ID", "type": "integer", "required": true, "x-example": 123 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/DnsRecord" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "DNS record is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "put": { "tags": [ "DNS" ], "summary": "Update DNS record", "consumes": [ "application/json" ], "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "description": "DNS record ID", "type": "integer", "required": true, "x-example": 123 }, { "in": "body", "name": "body", "description": "DNS record data", "required": true, "schema": { "$ref": "#/definitions/DnsRecord" } } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "400": { "description": "Invalid request data", "schema": { "$ref": "#/definitions/ErrorResponse" } }, "404": { "description": "DNS record is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } }, "delete": { "tags": [ "DNS" ], "summary": "Delete DNS record", "produces": [ "application/json" ], "parameters": [ { "in": "path", "name": "id", "description": "DNS record ID", "type": "integer", "required": true, "x-example": 123 } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/StatusResponse" } }, "404": { "description": "DNS record is not found", "schema": { "$ref": "#/definitions/ErrorResponse" } } } } } }, "definitions": { "StatusResponse": { "properties": { "status": { "description": "Result of the operation", "type": "string", "example": "success" } }, "required": [ "status" ] }, "CreatedResponse": { "properties": { "id": { "description": "Entity with the specified ID successfully created", "type": "integer", "example": 100 }, "guid": { "description": "Entity successfully created, new GUID is", "type": "string", "example": "18b78dd1-2b43-44f7-9599-56ccb56a85dc" } }, "required": [ "id", "guid" ] }, "ErrorResponse": { "properties": { "code": { "type": "integer", "example": 400 }, "message": { "type": "string", "example": "Account with this name already exists" } }, "required": [ "code", "message" ] }, "SecretKeyRequest": { "description": "Secret key parameters", "properties": { "ip": { "description": "The IP address that will be linked to the key. If this node or 'ips' node is not specified, the IP address of the request sender will be used.", "type": "string", "example": "195.214.233.128" }, "ips": { "description": "Array of IP addresses that will be linked to the key. If this node or 'ip' node is not specified, the IP address of the request sender will be used.", "type": "array", "items": { "type": "string" }, "example": [ "93.184.216.34", "2606:2800:220:1:248:1893:25c8:1946" ] }, "login": { "description": "The login name of an existing customer or a reseller that will have this secret key. The customer's or reseller's account should be active. If this node is not specified, the administrator's login will be used.", "type": "string", "example": "admin" }, "description": { "description": "Additional information about the key.", "type": "string", "example": "Secret key for Administrator" } } }, "SecretKeyResponse": { "properties": { "key": { "description": "Secret key value.", "type": "string", "example": "c5b239d1-8eb6-8cee-76b7-aa16be37fee8" } }, "required": [ "key" ] }, "CliCallRequest": { "description": "Command execution parameters", "properties": { "params": { "type": "array", "items": { "type": "string" }, "example": [ "--get", "FullHostName" ] }, "env": { "type": "object", "example": { "PSA_PASSWORD": "password" } } } }, "CliCallResponse": { "description": "Command execution result", "properties": { "code": { "description": "Command return code.", "type": "integer", "example": 0 }, "stdout": { "description": "Command stdout.", "type": "string", "example": "Done" }, "stderr": { "description": "Command stderr.", "type": "string", "example": "Execution failed" } } }, "ServerMeta": { "description": "Server Meta Information", "properties": { "platform": { "description": "Server platform type.", "type": "string", "example": "Unix" }, "hostname": { "description": "Server hostname.", "type": "string", "example": "example.com" }, "guid": { "description": "Server GUID.", "type": "string", "example": "baa58292-fee0-4ecb-9da1-bba0cc5adea7" }, "panel_version": { "description": "Product version.", "type": "string", "example": "17.9.3" }, "panel_revision": { "description": "Product build revision.", "type": "string", "example": "1711e2bceff6fd6656c821b8cb6444c2726f3784" }, "panel_build_date": { "description": "Product ISO build date.", "type": "string", "format": "date", "example": "2018-06-20" }, "panel_update_version": { "description": "Product installed update version.", "type": "string", "example": "10" }, "extension_version": { "description": "REST API extension version.", "type": "string", "example": "1.1.0" }, "extension_release": { "description": "REST API release number.", "type": "string", "example": "10" } }, "required": [ "platform", "hostname", "guid", "panel_version", "panel_revision", "panel_build_date", "panel_update_version", "extension_version", "extension_release" ] }, "ServerInit": { "description": "Initial server setup parameters", "properties": { "admin": { "$ref": "#/definitions/Admin" }, "password": { "description": "The new Plesk Administrator's password that will replace the default one.", "type": "string", "example": "setup" }, "server_name": { "description": "The full host name.", "type": "string", "example": "my-plesk-server.com" } }, "required": [ "admin", "password" ] }, "Admin": { "description": "Plesk administrator information", "properties": { "name": { "description": "The administrator's personal name.", "type": "string", "example": "John Smith" }, "email": { "description": "The administrator's e-mail address.", "type": "string", "format": "email", "example": "john_smith@plesk.com" }, "company": { "description": "The administrator's company name.", "type": "string", "example": "Plesk" }, "phone": { "description": "The administrator's phone number.", "type": "string", "example": "+41 31 528 12 23" }, "fax": { "description": "The administrator's fax number.", "type": "string", "example": "+41 31 528 12 23" }, "address": { "description": "The administrator's street address.", "type": "string", "example": "Vordergasse 59" }, "city": { "description": "The name of the city where administrator lives.", "type": "string", "example": "Schaffhausen" }, "state": { "description": "The name of state (for US citizens) or province where administrator lives.", "type": "string", "example": "Kanton Schaffhausen" }, "post_code": { "description": "The administrator's zip/postal code.", "type": "string", "example": "8200" }, "country": { "description": "The name of the country where administrator lives.", "type": "string", "example": "CH" }, "send_announce": { "description": "It specifies whether Plesk announcement messages are sent to the administrator's e-mail.", "type": "boolean", "example": false }, "locale": { "description": "The locale used by the administrator.", "type": "string", "example": "en-US" }, "multiple_sessions": { "description": "It specifies the information if the administrator has multiple sessions in Plesk.", "type": "boolean", "example": false } }, "required": [ "name", "email" ] }, "ServerIp": { "description": "Server IP Addresses", "properties": { "ipv4": { "description": "The IP address in Plesk database (IPv4).", "type": "string", "format": "ipv4", "example": "93.184.216.34" }, "ipv6": { "description": "The IP address in Plesk database (IPv6).", "type": "string", "format": "ipv6", "example": "2606:2800:220:1:248:1893:25c8:1946" }, "netmask": { "description": "The netmask of the network.", "type": "string", "example": "255.255.255.0" }, "interface": { "description": "The server network interface name.", "type": "string", "example": "eth0" }, "type": { "description": "The type of IP address. Allowed values: shared | exclusive.", "type": "string", "enum": [ "shared", "exclusive" ], "example": "exclusive" } }, "required": [ "netmask", "interface", "type" ] }, "ServerLicense": { "description": "License parameters", "properties": { "key": { "description": "License key data.", "type": "string", "example": "/RjdfLic1RwpNPkEnLlxNJkJCPzNDWSRDOyVeJDI/MSo1RlFEMD4+VTEzKTk3S0pfVjFOJTZFXzMpTEVPQC5JRjdUR0RZCk0hMSJYOzYhVFxPI14jTFJPRSlaRFI0VjZWPEYiT1s5T0opJV8+NCMnUigvQ1o7K0U+QEtbISc1MlMqLV0KTSorUDVfMzxHNUkrSksxWzZVNVZJXTc5T18xQVNNNzRXWTo3WVkmW0I/J2AnYC4iJTlTP1grSCdYS0E+RApNPVteRk43RCNAVFpVO0dBO1hZMjo+K0pQNEsiLj5UUDQlLDA7XyVZIVo/QypGJiJcW1FbJF1fVVxUJy5ECk1HXCpSUzwtUVYoJzwsVV47MT5bJD8wWlgyYCo/KTM0QUJFMmAuOjc7QypMWylfQiFVP05PRj05LCY5SkgKTVRTWE9cRi84OUgxJDpgLl5RPEtPPkE4RCUtXU06NixHLi1ZL0ZBVSkyVkBVUCgiN0YrKyoyXTJMJ08qVwpNIk4lOyFeLFwmIiQ4NkBgMUEmTDRcWDdJKihZTEMhTENOJEMiKV0wIzkkSU4qMTEzO1BIJjo4K0U3LzU6Ck0wPCNTUytONjAhQEFROCFbUDI5OktVLlEsMlY9ND1gSjpgJVMjLS4tVzsrRzpAME8yVTpLVmAiT1NHLFAKTVU0SSowNVo1IShEWipAO10tRlsxQldVSkZSKDcyPjpWLik5I0YzWD0yVTs9NTlNL1dASyglXk5YN1U4UgpNTV8sXD0tRTQuLkBFMVk2I0REUCItXyVMNlRPRkEyTEA7Pl9QO10jUSI6I1tNIzVRU0VZVE1HWDInIzk4Ck1XRUNPVz5CSFUjUSo4K0IvOFlDWSNTLydXSls7KD9VTD8+WzUqQEA5Uic0S1BMJSowOk9fQ0QvQThUVCEKTT1AKiJFKztAKCFXNl9ORDhUVlleOCU5JS8rJzc+JEZUXigzMDs4PDtbNkUpPD8vUiJAREQoTkxUPlQ2JgpNVFdbVz9bT10mVy5FVEkyXD5MPSIkMkRVVipKWTolXVhRTzkoM1tLLSJRJFlXNTRTYEBNWy1UUV09K04wCk1SVWBbLyckXj5KXjsnUzgyRzE3QVUlWilXX0ZCX1BGMkRMSThHXjZBWE5FTUBEMjBgRTomVTpVLy1WRCQKTVtWUyQ+XDcsRUA+XU0hXz4pKFxBJ1JCNUQ6XCEnQjoyPFw" }, "code": { "description": "Activation code.", "type": "string", "example": "AB1C23-4DEF56-7GHI89-JK1L23-MNP456" }, "additional": { "description": "It specifies if the key that will be installed is an additional key.", "type": "boolean", "example": false } } }, "Extension": { "description": "Extension entity", "properties": { "id": { "description": "Extension identifier.", "type": "string", "example": "letsencrypt" }, "name": { "description": "Human readable name.", "type": "string", "example": "Let's Encrypt" }, "version": { "description": "Extension version.", "type": "string", "example": "2.6.1" }, "release": { "description": "Extension release number.", "type": "string", "example": "398" }, "active": { "description": "Extension status.", "type": "boolean", "example": true } }, "required": [ "id", "name", "version", "release", "active" ] }, "ExtensionInstallRequest": { "description": "Extension installation request", "properties": { "id": { "description": "Installation by Identifier.", "type": "string", "example": "letsencrypt" }, "url": { "description": "Installation by URL.", "type": "string", "example": "https://example.com/catalog/letsencrypt.zip" }, "file": { "description": "Installation by file.", "type": "string", "example": "/path/to/extension.zip" } } }, "Client": { "description": "The client entity", "properties": { "id": { "description": "The client's ID.", "type": "integer", "example": 7 }, "created": { "description": "Creation date.", "type": "string", "format": "date", "example": "2016-11-13" }, "name": { "description": "Client's personal name (1 to 60 characters long).", "type": "string", "example": "John Smith" }, "company": { "description": "The company name (0 to 60 characters long).", "type": "string", "example": "Plesk" }, "login": { "description": "The login name of the client account (1 to 60 characters long).", "type": "string", "x-validators": [ "UniqueClientLogin" ], "example": "john-unit-test" }, "status": { "description": "The current status of the client account. Allowed values: 0 (active) | 16 (disabled by admin) | 4 (under backup/restore) | 256 (expired).", "type": "integer", "example": 0 }, "email": { "description": "The email address of the client account owner (0 to 255 characters long).", "type": "string", "example": "john_smith@msn.com" }, "locale": { "description": "The locale used on the client account. Default value: en-US.", "type": "string", "example": "en-US" }, "guid": { "description": "The global user ID of the client account just added to Plesk.", "type": "string", "example": "18b78dd1-2b43-44f7-9599-56ccb56a85dc" }, "owner_login": { "description": "The login name of a client account owner. If the client account owner is Plesk Administrator, specify the admin login name.", "type": "string", "example": "admin" }, "external_id": { "description": "The client GUID in the Plesk components (for example, Business Manager).", "type": "string", "example": "link:12345" }, "description": { "description": "The description for the client account.", "type": "string", "example": "Nice guy" }, "type": { "description": "The type of the client account. Allowed values: reseller | customer | admin.", "type": "string", "enum": [ "reseller", "customer", "admin" ], "example": "reseller" } }, "required": [ "id", "created", "name", "company", "login", "status", "email", "locale", "guid", "description", "type" ] }, "ClientRequest": { "description": "The client entity", "properties": { "name": { "description": "Client's personal name (1 to 60 characters long).", "type": "string", "example": "John Smith" }, "company": { "description": "The company name (0 to 60 characters long).", "type": "string", "example": "Plesk" }, "login": { "description": "The login name of the client account (1 to 60 characters long).", "type": "string", "x-validators": [ "UniqueClientLogin" ], "example": "john-unit-test" }, "status": { "description": "The current status of the client account. Allowed values: 0 (active) | 16 (disabled by admin) | 4 (under backup/restore) | 256 (expired).", "type": "integer", "example": 0 }, "email": { "description": "The email address of the client account owner (0 to 255 characters long).", "type": "string", "example": "john_smith@msn.com" }, "locale": { "description": "The locale used on the client account. Default value: en-US.", "type": "string", "example": "en-US" }, "owner_login": { "description": "The login name of a client account owner. If the client account owner is Plesk Administrator, specify the admin login name.", "type": "string", "example": "admin" }, "external_id": { "description": "The client GUID in the Plesk components (for example, Business Manager).", "type": "string", "example": "link:12345" }, "description": { "description": "The description for the client account.", "type": "string", "example": "Nice guy" }, "password": { "description": "The password of the client account (5 to 14 characters long).", "type": "string", "x-validators": [ "PasswordStrength" ], "example": "changeme1Q**" }, "type": { "description": "The type of the client account. Allowed values: reseller | customer | admin.", "type": "string", "enum": [ "reseller", "customer", "admin" ], "example": "reseller" } }, "required": [ "name", "login", "password", "email", "type" ] }, "ClientUpdateRequest": { "description": "The client entity", "properties": { "name": { "description": "Client's personal name (1 to 60 characters long).", "type": "string", "example": "John Smith" }, "company": { "description": "The company name (0 to 60 characters long).", "type": "string", "example": "Plesk" }, "login": { "description": "The login name of the client account (1 to 60 characters long).", "type": "string", "x-validators": [ "UniqueClientLogin" ], "example": "john-unit-test" }, "status": { "description": "The current status of the client account. Allowed values: 0 (active) | 16 (disabled by admin) | 4 (under backup/restore) | 256 (expired).", "type": "integer", "example": 0 }, "email": { "description": "The email address of the client account owner (0 to 255 characters long).", "type": "string", "example": "john_smith@msn.com" }, "locale": { "description": "The locale used on the client account. Default value: en-US.", "type": "string", "example": "en-US" }, "owner_login": { "description": "The login name of a client account owner. If the client account owner is Plesk Administrator, specify the admin login name.", "type": "string", "example": "admin" }, "external_id": { "description": "The client GUID in the Plesk components (for example, Business Manager).", "type": "string", "example": "link:12345" }, "description": { "description": "The description for the client account.", "type": "string", "example": "Nice guy" }, "password": { "description": "The password of the client account (5 to 14 characters long).", "type": "string", "x-validators": [ "PasswordStrength" ], "example": "changeme1Q**" } } }, "ClientStatistics": { "description": "The client statistics", "properties": { "active_domains": { "description": "The number of active domains created by a client.", "type": "integer", "example": 1 }, "subdomains": { "description": "The number of sub-domains created by a client.", "type": "integer", "example": 0 }, "disk_space": { "description": "The amount of disk space occupied by the given a client.", "type": "integer", "example": 765952 }, "email_postboxes": { "description": "The number of email boxes created by a client.", "type": "integer", "example": 1 }, "email_redirects": { "description": "The number of redirects created by a client.", "type": "integer", "example": 0 }, "email_response_messages": { "description": "The number of automatic response messages created by a client.", "type": "integer", "example": 0 }, "mailing_lists": { "description": "The number of mailing lists created by a client.", "type": "integer", "example": 0 }, "databases": { "description": "The number of databases used by a client.", "type": "integer", "example": 0 }, "traffic": { "description": "The amount of traffic (in bytes) spent by a client monthly.", "type": "integer", "example": 0 }, "traffic_prevday": { "description": "The amount of traffic (in bytes) spent by a client during the previous day.", "type": "integer", "example": 0 } }, "required": [ "active_domains", "subdomains", "disk_space", "email_postboxes", "email_redirects", "email_response_messages", "mailing_lists", "databases", "traffic", "traffic_prevday" ] }, "DomainRequest": { "properties": { "name": { "description": "Domain name.", "type": "string", "example": "example.com" }, "description": { "description": "The description for the domain.", "type": "string", "example": "My website" }, "hosting_type": { "description": "It specifies the hosting type of the created domain. Allowed values: `virtual` | `standard_forwarding` | `frame_forwarding` | `none`.\nMeanings: `virtual` - the domain ships with physical hosting.\n`standard_forwarding` - the domain ships with standard forwarding. When the user goes to a domain on which the standard forwarding is set, Plesk redirects this user from the requested URL to the destination URL. This is done explicitly: the user sees the real ‘destination’ address in the path bar of the browser.\n`frame_forwarding` - the domain ships with frame forwarding. When the user goes to such site on which frame forwarding is set, Plesk redirects this user from the requested URL to the ‘destination’ URL implicitly (the user still sees the initial URL in the path bar of the browser).\n`none` - no hosting ships with the domain.", "type": "string", "enum": [ "virtual", "standard_forwarding", "frame_forwarding", "none" ] }, "hosting_settings": { "description": " for *physical hosting*:\n`ftp_login` - it specifies the ftp user login name (required). `ftp_password` - it specifies the ftp user password (required).\nfor *frame forwarding* and *standard forwarding*:\n`dest_url` - it specifies the URL to which the user will be redirected explicitly at the attempt to visit the specified domain.", "type": "object", "properties": { "ftp_login": { "type": "string", "x-validators": [ "UniqueFtpLogin" ], "example": "login" }, "ftp_password": { "type": "string", "example": "qwe123" } }, "additionalProperties": true, "example": { "ftp_login": "test_login", "ftp_password": "changeme1Q**" } }, "base_domain": { "description": "It specifies the base domain when creating the addon domain.", "$ref": "#/definitions/DomainReference" }, "parent_domain": { "description": "It specifies the parent domain when creating the subdomain.", "$ref": "#/definitions/DomainReference" }, "owner_client": { "description": "It specifies the ID, login, GUID or external ID of the new subscription owner Administrator, reseller, or customer.", "$ref": "#/definitions/OwnerClientReference" }, "ip_addresses": { "description": "The IP address associated with the domain.", "type": "array", "items": { "type": "string" }, "example": [ "93.184.216.34", "2606:2800:220:1:248:1893:25c8:1946" ] }, "ipv4": { "description": "@deprecated", "type": "array", "items": { "type": "string", "format": "ipv4" }, "example": [ "93.184.216.34" ] }, "ipv6": { "description": "@deprecated", "type": "array", "items": { "type": "string", "format": "ipv6" }, "example": [ "2606:2800:220:1:248:1893:25c8:1946" ] }, "plan": { "$ref": "#/definitions/PlanReference" } } }, "DomainResponse": { "properties": { "id": { "description": "Domain ID.", "type": "integer", "example": 7 }, "name": { "description": "Domain name.", "type": "string", "example": "example.com" }, "ascii_name": { "description": "Domain display name.", "type": "string", "example": "ascii-example.com" }, "hosting_type": { "description": "Domain hosting type.", "type": "string", "enum": [ "virtual", "standard_forwarding", "frame_forwarding", "none" ] }, "base_domain_id": { "description": "Base domain ID.", "type": "integer", "example": 3 }, "www_root": { "description": "WWW Root on filesystem", "type": "string", "example": "/var/www/vhosts/example.com/httpdocs" }, "guid": { "description": "Domain GUID.", "type": "string", "example": "b623e93d-dc72-4102-b5f0-ded427cf0fb1" }, "created": { "description": "Creation date.", "type": "string", "format": "date", "example": "2016-11-13" }, "aliases": { "x-since": "18.0.42", "description": "Domain aliases that point to this domain.", "type": "array", "items": { "$ref": "#/definitions/DomainAlias" } } }, "required": [ "id", "name", "ascii_name", "hosting_type", "base_domain_id", "www_root", "guid", "created" ] }, "DomainReference": { "properties": { "id": { "description": "Domain ID.", "type": "integer", "example": 7 }, "name": { "description": "Domain name.", "type": "string", "example": "example.com" }, "guid": { "description": "Domain GUID.", "type": "string", "example": "b623e93d-dc72-4102-b5f0-ded427cf0fb1" } }, "required": [ "id", "name", "guid" ] }, "DomainStatus": { "properties": { "status": { "description": "Status of the specified domain.", "type": "string", "enum": [ "active", "suspended", "disabled" ], "example": "active" } }, "required": [ "status" ] }, "OwnerClientReference": { "properties": { "id": { "description": "The client's ID.", "type": "integer", "example": 7 }, "login": { "description": "The login name of the client account owner.", "type": "string", "example": "owner" }, "guid": { "description": "The global user ID of the client account just added to Plesk.", "type": "string", "example": "b623e93d-dc72-4102-b5f0-ded427cf0fb1" }, "external_id": { "description": "The client GUID in the Plesk components (for example, Business Manager).", "type": "string", "example": "b623e93d-dc72-4102-b5f0-ded427cf0fb1" } }, "required": [ "id", "login", "guid", "external_id" ] }, "PlanReference": { "properties": { "name": { "description": "The service plan by name if it is necessary to create a subscription to a certain service plan.", "type": "string", "example": "Unlimited" } }, "required": [ "name" ] }, "DomainAlias": { "properties": { "name": { "description": "Domain alias name.", "type": "string", "example": "example.com" }, "ascii_name": { "description": "Domain alias name in ASCII.", "type": "string", "example": "ascii-example.com" }, "web": { "description": "Web service status.", "type": "boolean", "example": false }, "dns": { "description": "DNS service status.", "type": "boolean", "example": true }, "mail": { "description": "Mail service status.", "type": "boolean", "example": false }, "seo_redirect": { "description": "301 redirect to HTTPS status.", "type": "boolean", "example": true } }, "required": [ "name", "ascii_name", "web", "dns", "mail", "seo_redirect" ] }, "FtpUser": { "properties": { "id": { "description": "User ID in the database", "type": "integer", "example": 2 }, "name": { "description": "User name in the system", "type": "string", "example": "exampleuser" }, "home": { "description": "Subdirectory of the WWW Root that user is restricted to", "type": "string", "example": "/httpdocs" }, "quota": { "description": "Hard disk quota in bytes (if supported by platform)", "type": "integer", "example": -1 }, "permissions": { "description": "Access permissions of the user (if supported by platform)", "type": "object", "properties": { "write": { "type": "string", "enum": [ "true", "false" ] }, "read": { "type": "string", "enum": [ "true", "false" ] } } }, "parent_domain": { "description": "ID of the parent domain", "type": "integer", "example": 4 } }, "required": [ "id", "name", "home", "parent_domain" ] }, "FtpUserRequest": { "properties": { "name": { "description": "User name in the system", "type": "string", "example": "exampleuser" }, "password": { "description": "User password", "type": "string", "example": "changeme1Q**" }, "home": { "description": "Subdirectory of the WWW Root that user is restricted to", "type": "string", "example": "/httpdocs" }, "quota": { "description": "Hard disk quota in bytes (if supported by platform)", "type": "integer", "example": -1 }, "permissions": { "description": "Access permissions of the user (if supported by platform)", "type": "object", "properties": { "read": { "type": "string", "enum": [ "true", "false" ] }, "write": { "type": "string", "enum": [ "true", "false" ] } } }, "parent_domain": { "$ref": "#/definitions/DomainReference" } }, "required": [ "name", "password", "parent_domain" ] }, "FtpUserUpdateRequest": { "properties": { "name": { "description": "User name in the system", "type": "string", "example": "exampleuser" }, "password": { "description": "User password", "type": "string" }, "home": { "description": "Subdirectory of the WWW Root that user is restricted to", "type": "string", "example": "/httpdocs" }, "quota": { "description": "Hard disk quota in bytes (if supported by platform)", "type": "integer", "example": -1 }, "permissions": { "description": "Access permissions of the user (if supported by platform)", "type": "object", "properties": { "read": { "type": "string", "enum": [ "true", "false" ] }, "write": { "type": "string", "enum": [ "true", "false" ] } } } } }, "Database": { "properties": { "id": { "description": "ID of the database", "type": "integer", "example": 2 }, "name": { "description": "Database name", "type": "string", "example": "exampledb" }, "type": { "description": "Database server type", "type": "string", "enum": [ "mssql", "mysql", "postgresql" ] }, "parent_domain": { "description": "ID of the parent domain", "type": "integer", "example": 3 }, "server_id": { "description": "ID of the database server", "type": "integer", "example": 1 }, "default_user_id": { "description": "ID of the default database user for database", "type": "integer", "example": 6 } } }, "DatabaseRequest": { "properties": { "name": { "description": "Database name", "type": "string", "example": "exampledb" }, "type": { "description": "Database server type", "type": "string", "enum": [ "mssql", "mysql", "postgresql" ] }, "parent_domain": { "$ref": "#/definitions/DomainReference" }, "server_id": { "description": "ID of the database server", "type": "integer", "example": 1 } } }, "DatabaseServer": { "properties": { "id": { "description": "ID of the database server", "type": "integer", "example": 1 }, "host": { "description": "Database server host", "type": "string", "example": "127.0.0.1" }, "port": { "description": "Database server port", "type": "integer", "example": 3306 }, "type": { "description": "Database server type", "type": "string", "enum": [ "mssql", "mysql", "postgresql" ] }, "status": { "description": "Database server status", "type": "string" }, "db_count": { "description": "Database server database count", "type": "integer", "example": 123 }, "is_default": { "description": "Flag that server is default for servers of this type", "type": "boolean" }, "is_local": { "description": "Flag that server is installed on local service node", "type": "boolean" } } }, "DatabaseUser": { "properties": { "id": { "description": "ID of the database user", "type": "integer", "example": 5 }, "login": { "description": "Database user login", "type": "string", "example": "exampledbuser" }, "database_id": { "description": "ID of the database", "type": "integer", "example": 12 } } }, "DatabaseUserRequest": { "properties": { "login": { "description": "Database user login", "type": "string", "example": "exampledbuser" }, "password": { "description": "User password", "type": "string", "example": "changeme1Q**" }, "parent_domain": { "$ref": "#/definitions/DomainReference" }, "server_id": { "description": "ID of the database server (if user should have access to all databases on subscription)", "type": "integer", "example": 9 }, "database_id": { "description": "ID of the database (if user should have access to one database)", "type": "integer", "example": 3 } } }, "DatabaseUserUpdateRequest": { "properties": { "login": { "description": "Database user login", "type": "string", "example": "exampledbuser" }, "password": { "description": "New user password", "type": "string", "example": "changeme1Q**" } } }, "DnsRecord": { "properties": { "id": { "description": "Unique identifier of the DNS record", "type": "integer" }, "type": { "description": "The type of the DNS record", "type": "string", "enum": [ "A", "CNAME", "PTR", "MX", "NS", "TXT", "SOA", "AXFR", "SRV", "AAAA", "DS", "CAA", "TLSA", "HTTPS" ] }, "host": { "description": "The IP address or name of a host, that will be used by DNS", "type": "string" }, "value": { "description": "The value that will be linked with the host value", "type": "string" }, "opt": { "description": "Optional information about the DNS record", "type": "string" }, "ttl": { "description": "The amount of time (in seconds) that slave DNS servers should store the record in a cache", "type": "integer" } } }, "DnsRecordRequest": { "properties": { "type": { "description": "The type of the DNS record", "type": "string", "enum": [ "A", "CNAME", "PTR", "MX", "NS", "TXT", "SOA", "AXFR", "SRV", "AAAA", "DS", "CAA", "TLSA", "HTTPS" ] }, "host": { "description": "The IP address or name of a host, that will be used by DNS", "type": "string" }, "value": { "description": "The value that will be linked with the host value", "type": "string" }, "opt": { "description": "Optional information about the DNS record", "type": "string" }, "ttl": { "description": "The amount of time (in seconds) that slave DNS servers should store the record in a cache", "type": "integer" } } } } }