{ "swagger": "2.0", "info": { "description": "Our HTTP [REST API](https:\/\/en.wikipedia.org\/wiki\/Representational_state_transfer) allows you to manage vital details of your account and services in client portal. [JSON](http:\/\/www.json.org\/) is used for all API returns.\n\n## Authentication\n\n## Basic Authentication\n\n```bash\n# pass the correct header with each request (-u option)\ncurl 'https:\/\/92.246.84.2\/api\/details' \\\n -u \"username:password\"\n```\n\n```php\nuse GuzzleHttp\\Client;\n\n$client = new Client([\n 'base_uri' => 'https:\/\/92.246.84.2\/api\/',\n 'auth' => ['username', 'password']\n]);\n\n$resp = $client->get('details');\n```\n\n> Make sure to replace `username` and `password` with your client area details.\n\nThis authentication method requires that you send your client area username (email address) and password with each request.\n\nAPI calls that require authentication expect a header in the form of `Authorization: Basic `, where credentials is the Base64 encoding of username and password joined by a single colon `:`.\n\nFor example: `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`\n\nYou can find more info on this authentication method here: [Basic HTTP Authentication](https:\/\/en.wikipedia.org\/wiki\/Basic_access_authentication)\n\n> You must replace `QWxhZGRpbjpvcGVuIHNlc2FtZQ==` with base64 encoded version of your access details.\n\n> For security, we highly recommend to issue API calls over [HTTPS](http:\/\/en.wikipedia.org\/wiki\/HTTP_Secure)\n\n", "version": "4.20260504", "title": "XSServer GmbH User API" }, "host": "92.246.84.2", "basePath": "\/api", "tags": [ { "name": "Clientarea" }, { "name": "Billing" }, { "name": "Support" }, { "name": "Domains" }, { "name": "SSL Certificates" }, { "name": "Services" }, { "name": "DNS" } ], "schemes": [ "https" ], "paths": { "\/login": { "post": { "tags": [ "Clientarea" ], "summary": "Login", "description": "Generate new authorization token", "operationId": "getToken", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "username": { "type": "string", "description": "Your acount email address ", "example": "user@example.com" }, "password": { "type": "string", "description": "Account password ", "example": "secret" } }, "example": { "username": "user@example.com", "password": "secret" } } } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRw(...)5lZ9T79ft9uwOkqRRmIBbtR51_w", "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzMD(...)ChwIAb3zvxBu6kvULa2AwAt9U-I" } }, "schema": { "type": "object", "example": { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRw(...)5lZ9T79ft9uwOkqRRmIBbtR51_w", "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiIzMD(...)ChwIAb3zvxBu6kvULa2AwAt9U-I" } } } } } }, "\/logout": { "post": { "tags": [ "Clientarea" ], "summary": "Logout", "description": "Invalidate authorization token", "operationId": "dropToken", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "status": true } }, "schema": { "type": "object", "example": { "status": true } } } } } }, "\/token": { "post": { "tags": [ "Clientarea" ], "summary": "Refresh Token", "description": "Generate new authorization token using refresh token", "operationId": "refreshToken", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "refresh_token": { "type": "string", "description": "Refresh token previously obtained from `POST \/login`", "example": "refresh_tokenValue" } }, "example": { "refresh_token": "refresh_tokenValue" } } } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHR(...)vY2xlYiHGvauCWZD9B0VwXgHEzXDllqY", "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJBQ(...)Rmivc_u3YA_kgDqOPtUuGNXOzueXYtZw" } }, "schema": { "type": "object", "example": { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHR(...)vY2xlYiHGvauCWZD9B0VwXgHEzXDllqY", "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJBQ(...)Rmivc_u3YA_kgDqOPtUuGNXOzueXYtZw" } } } } } }, "\/revoke": { "post": { "tags": [ "Clientarea" ], "summary": "Revoke Token", "description": "Invalidate authorization and refresh token.\nPass refresh token or call this method with valid access token", "operationId": "revokeToken", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "refresh_token": { "type": "string", "example": "refresh_tokenValue" } }, "example": { "refresh_token": "refresh_tokenValue" } } } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "status": true } }, "schema": { "type": "object", "example": { "status": true } } } } } }, "\/details": { "get": { "tags": [ "Clientarea" ], "summary": "User Details", "description": "Return registration details for my account", "operationId": "getDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "client": { "id": "26", "email": "api@example.com", "lastlogin": "2016-12-30 12:24:28", "ip": "172.100.2.1", "host": "hostname", "firstname": "Joe", "lastname": "Doe", "companyname": "", "address1": "Pretty View Lane", "address2": "3294", "city": "Santa Rosa", "state": "California", "postcode": "95401", "country": "US", "phonenumber": "+1.24123123" } } }, "schema": { "type": "object", "example": { "client": { "id": "26", "email": "api@example.com", "lastlogin": "2016-12-30 12:24:28", "ip": "172.100.2.1", "host": "hostname", "firstname": "Joe", "lastname": "Doe", "companyname": "", "address1": "Pretty View Lane", "address2": "3294", "city": "Santa Rosa", "state": "California", "postcode": "95401", "country": "US", "phonenumber": "+1.24123123" } } } } } } }, "\/logs": { "get": { "tags": [ "Clientarea" ], "summary": "User Logs", "description": "Returns logs from history", "operationId": "getLogs", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/affiliates\/summary": { "get": { "tags": [ "Clientarea" ], "summary": "Get Affiliate summary", "description": "", "operationId": "affiliates_summary", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/affiliates\/campaigns": { "get": { "tags": [ "Clientarea" ], "summary": "Get Affiliate campaigns", "description": "", "operationId": "affiliates_campaigns", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/affiliates\/commissions": { "get": { "tags": [ "Clientarea" ], "summary": "Get Affiliate commissions", "description": "", "operationId": "affiliates_commissions", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/affiliates\/payouts": { "get": { "tags": [ "Clientarea" ], "summary": "Get Affiliate payouts", "description": "", "operationId": "affiliates_payouts", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/affiliates\/vouchers": { "get": { "tags": [ "Clientarea" ], "summary": "Get Affiliate vouchers", "description": "", "operationId": "affiliates_vouchers", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/affiliates\/commissionplans": { "get": { "tags": [ "Clientarea" ], "summary": "Get Affiliate commission plans", "description": "", "operationId": "affiliates_commission_plans", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/balance": { "get": { "tags": [ "Billing" ], "summary": "Account balance", "description": "Get current account balance(unpaid invoices total), account credit", "operationId": "getBalance", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/invoice": { "get": { "tags": [ "Billing" ], "summary": "List Invoices", "description": "List all invoices under my account", "operationId": "getInvoices", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "invoices": [ { "id": "308976", "date": "2016-12-30", "dateorig": "2016-12-30", "duedate": "2017-01-06", "paybefore": "2017-01-06", "total": "19.65", "datepaid": "2016-12-30 12:40:47", "status": "Paid", "merge_id": null, "number": "2016\/12\/1", "currency": "USD" } ] } }, "schema": { "type": "object", "example": { "invoices": [ { "id": "308976", "date": "2016-12-30", "dateorig": "2016-12-30", "duedate": "2017-01-06", "paybefore": "2017-01-06", "total": "19.65", "datepaid": "2016-12-30 12:40:47", "status": "Paid", "merge_id": null, "number": "2016\/12\/1", "currency": "USD" } ] } } } } } }, "\/invoice\/{id}": { "get": { "tags": [ "Billing" ], "summary": "Invoice Details", "description": "Get invoice details", "operationId": "getInvoiceDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "invoice": { "id": "308976", "status": "Paid", "date": "2016-12-30", "duedate": "2017-01-06", "paybefore": "2017-01-06", "datepaid": "2016-12-30 12:40:47", "subtotal": 16.24, "credit": 0, "tax": 3.41, "taxrate": 21, "tax2": 0, "taxrate2": 0, "taxexempt": "0", "total": 19.65, "rate": 1, "rate2": 0, "rate3": 1, "notes": "", "items": [ { "id": "12305", "invoice_id": "308976", "type": "Other", "item_id": "0", "description": "Example Service", "amount": "15.00", "taxed": "1", "qty": "1.00", "linetotal": "15.00" }, { "id": "12309", "invoice_id": "308976", "type": "Other", "item_id": "-2", "description": "PayPal Payment Fee", "amount": "1.24", "taxed": "1", "qty": "1.00", "linetotal": "1.24" } ], "client": { "id": "26", "email": "api@example.com", "firstname": "Joe", "lastname": "Doe", "companyname": "", "address1": "Pretty View Lane", "address2": "3194", "city": "Santa Rosa", "state": "California", "postcode": "95401", "country": "US", "phonenumber": "+1.24123123" }, "number": "2016\/12\/1", "currency": "USD" } } }, "schema": { "type": "object", "example": { "invoice": { "id": "308976", "status": "Paid", "date": "2016-12-30", "duedate": "2017-01-06", "paybefore": "2017-01-06", "datepaid": "2016-12-30 12:40:47", "subtotal": 16.24, "credit": 0, "tax": 3.41, "taxrate": 21, "tax2": 0, "taxrate2": 0, "taxexempt": "0", "total": 19.65, "rate": 1, "rate2": 0, "rate3": 1, "notes": "", "items": [ { "id": "12305", "invoice_id": "308976", "type": "Other", "item_id": "0", "description": "Example Service", "amount": "15.00", "taxed": "1", "qty": "1.00", "linetotal": "15.00" }, { "id": "12309", "invoice_id": "308976", "type": "Other", "item_id": "-2", "description": "PayPal Payment Fee", "amount": "1.24", "taxed": "1", "qty": "1.00", "linetotal": "1.24" } ], "client": { "id": "26", "email": "api@example.com", "firstname": "Joe", "lastname": "Doe", "companyname": "", "address1": "Pretty View Lane", "address2": "3194", "city": "Santa Rosa", "state": "California", "postcode": "95401", "country": "US", "phonenumber": "+1.24123123" }, "number": "2016\/12\/1", "currency": "USD" } } } } } } }, "\/invoice\/{id}\/credit": { "post": { "tags": [ "Billing" ], "summary": "Apply credit", "description": "Apply account credit to invoice", "operationId": "applyCreditToInvoice", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "amount": { "type": "number", "description": "Optional credit amount, when no value is specified maximum amount to fully pay the invoice will be used", "example": "amountValue" } }, "example": { "amount": "amountValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "success": true, "invoice_status": "Paid", "applied": 2.1 } }, "schema": { "type": "object", "example": { "success": true, "invoice_status": "Paid", "applied": 2.1 } } } } } }, "\/addfunds": { "get": { "tags": [ "Billing" ], "summary": "Get Add Funds Information", "description": "Get add funds configuration: minimum and maximum deposit amounts and available payment gateways", "operationId": "getAddFundsInfo", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "min_amount": 10, "max_amount": 1000, "gateways": [ { "id": 1, "name": "Bank Transfer" }, { "id": 2, "name": "PayPal" } ] } }, "schema": { "type": "object", "example": { "min_amount": 10, "max_amount": 1000, "gateways": [ { "id": 1, "name": "Bank Transfer" }, { "id": 2, "name": "PayPal" } ] } } } } }, "post": { "tags": [ "Billing" ], "summary": "Add Funds", "description": "Generate add funds invoice", "operationId": "createAddFunds", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "amount": { "type": "number", "description": "Amount to add to account ", "example": "100.00" }, "gateway": { "type": "number", "description": "Payment gateway ID, use `GET \/addfunds` to list available gateways", "example": "gatewayValue" } }, "example": { "amount": "100.00", "gateway": "gatewayValue" } } } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "success": true, "invoice_id": 123 } }, "schema": { "type": "object", "example": { "success": true, "invoice_id": 123 } } } } } }, "\/invoice\/{id}\/pdf": { "get": { "tags": [ "Billing" ], "summary": "Invoice PDF", "description": "Get specific invoice PDF as base64 string", "operationId": "getInvoicePdf", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/tickets": { "get": { "tags": [ "Support" ], "summary": "List Tickets", "description": "List support tickets under my account", "operationId": "getTickets", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "tickets": [ { "client_read": "1", "ticket_number": "736633", "date": "2016-12-30 12:48:13", "deptname": "Billing", "subject": "Lore Ipsum", "status": "Open", "lastreply": "2020-09-12 11:10:03" } ] } }, "schema": { "type": "object", "example": { "tickets": [ { "client_read": "1", "ticket_number": "736633", "date": "2016-12-30 12:48:13", "deptname": "Billing", "subject": "Lore Ipsum", "status": "Open", "lastreply": "2020-09-12 11:10:03" } ] } } } } }, "post": { "tags": [ "Support" ], "summary": "Create Ticket", "description": "Submit new ticket", "operationId": "createTicket", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "dept_id": { "type": "integer", "description": "Department id ", "example": 1 }, "subject": { "type": "string", "description": "Ticket subject ", "example": "Subject" }, "body": { "type": "string", "description": "Ticket message ", "example": "Message ..." } }, "example": { "dept_id": 1, "subject": "Subject", "body": "Message ..." } } } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "ticket": 865650 } }, "schema": { "type": "object", "example": { "ticket": 865650 } } } } } }, "\/tickets\/{number}": { "get": { "tags": [ "Support" ], "summary": "Ticket details", "description": "Get ticket details, including all replies", "operationId": "getTicketDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "number", "type": "integer", "in": "path", "description": "Ticket number", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "ticket": { "date": "2016-12-30 12:48:13", "ticket_number": "736633", "name": "Joe Doe", "email": "api@example.com", "subject": "Lore Ipsum", "body": "Donec sollicitudin molestie malesuada. \r\nSed porttitor lectus nibh. Vivamus magna justo, \r\nlacinia eget consectetur sed, convallis at tellus.", "status": "Answered", "client_read": "1", "deptname": "Billing" }, "replies": [ { "id": "929", "name": "Suppport Staff", "date": "2016-12-30 12:51:04", "body": "Vestibulum ac diam sit amet quam \r\nvehicula elementum sed sit amet dui. \r\nPraesent sapien massa\r\n\r\n-- Maecenas efficitur elit est --", "status": "Sent", "type": "Admin" } ] } }, "schema": { "type": "object", "example": { "ticket": { "date": "2016-12-30 12:48:13", "ticket_number": "736633", "name": "Joe Doe", "email": "api@example.com", "subject": "Lore Ipsum", "body": "Donec sollicitudin molestie malesuada. \r\nSed porttitor lectus nibh. Vivamus magna justo, \r\nlacinia eget consectetur sed, convallis at tellus.", "status": "Answered", "client_read": "1", "deptname": "Billing" }, "replies": [ { "id": "929", "name": "Suppport Staff", "date": "2016-12-30 12:51:04", "body": "Vestibulum ac diam sit amet quam \r\nvehicula elementum sed sit amet dui. \r\nPraesent sapien massa\r\n\r\n-- Maecenas efficitur elit est --", "status": "Sent", "type": "Admin" } ] } } } } }, "post": { "tags": [ "Support" ], "summary": "Create Reply", "description": "Reply to ticket", "operationId": "createTicketReply", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "number": { "type": "integer", "description": "Ticket number", "example": "numberValue" }, "body": { "type": "string", "description": "Reply message ", "example": "reply text .." } }, "example": { "number": "numberValue", "body": "reply text .." } } }, { "name": "number", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "info": [ "reply_added" ] } }, "schema": { "type": "object", "example": { "info": [ "reply_added" ] } } } } } }, "\/tickets\/{number}\/open": { "put": { "tags": [ "Support" ], "summary": "Re-open ticket", "description": "Try to re-open closed ticket", "operationId": "reopenTicket", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "number": { "type": "integer", "description": "Ticket number", "example": "numberValue" } }, "example": { "number": "numberValue" } } }, { "name": "number", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "status": true } }, "schema": { "type": "object", "example": { "status": true } } } } } }, "\/tickets\/{number}\/close": { "put": { "tags": [ "Support" ], "summary": "Close ticket", "description": "Send request to close a ticket", "operationId": "closeTicket", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "number": { "type": "integer", "description": "Ticket number", "example": "numberValue" } }, "example": { "number": "numberValue" } } }, { "name": "number", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "status": true } }, "schema": { "type": "object", "example": { "status": true } } } } } }, "\/ticket\/departments": { "get": { "tags": [ "Support" ], "summary": "List ticket departments", "description": "Get the list of ticket departments", "operationId": "listTicketDepartments", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/news": { "get": { "tags": [ "Support" ], "summary": "List News", "description": "List News", "operationId": "getNews", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/news\/{news_id}": { "get": { "tags": [ "Support" ], "summary": "Get news item", "description": "Returns details of the news item", "operationId": "getNewsItem", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "news_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/knowledgebase": { "get": { "tags": [ "Support" ], "summary": "List all knowledgebase categories", "description": "Returns list all knowledgebase categories", "operationId": "getKnowledgebaseCategories", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/knowledgebase\/{category_id}": { "get": { "tags": [ "Support" ], "summary": "Get knowledgebase category details", "description": "Returns subcategories and articles of the knowledgebase category", "operationId": "getKnowledgebaseCategoryDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "category_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/knowledgebase\/article\/{article_id}": { "get": { "tags": [ "Support" ], "summary": "Get knowledgebase article", "description": "Returns an article details", "operationId": "getKnowledgebaseArticleDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "article_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/{id}\/reg": { "get": { "tags": [ "Domains" ], "summary": "Get registered nameservers", "description": "List registered private\/glue nameservers for a domain.\nNote: Not all domain registrar modules support returning registered nameservers.\nIf the module does not support this feature, an empty list may be returned.", "operationId": "domain_ns_reg_get", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain": { "get": { "tags": [ "Domains" ], "summary": "List Domains", "description": "List domains under your account", "operationId": "domain", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "domains": [ { "id": "47", "name": "testname.com", "expires": "2017-12-30", "recurring_amount": "15.00", "date_created": "2016-12-30", "status": "Active", "period": "1", "autorenew": "1", "daytoexpire": "365" } ] } }, "schema": { "type": "object", "example": { "domains": [ { "id": "47", "name": "testname.com", "expires": "2017-12-30", "recurring_amount": "15.00", "date_created": "2016-12-30", "status": "Active", "period": "1", "autorenew": "1", "daytoexpire": "365" } ] } } } } } }, "\/domain\/{id}": { "get": { "tags": [ "Domains" ], "summary": "Domain details", "description": "Get domain details", "operationId": "domainDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "details": { "id": "47", "name": "testname.com", "date_created": "2016-12-30", "firstpayment": "10.00", "recurring_amount": "15.00", "period": "1", "expires": "2017-12-30", "status": "Active", "next_due": "2017-12-30", "next_invoice": "2017-11-30", "idprotection": "0", "nameservers": [ "ns1.example.com", "ns2.example.com", "ns3.example.com", "ns4.example.com" ], "autorenew": "1" } } }, "schema": { "type": "object", "example": { "details": { "id": "47", "name": "testname.com", "date_created": "2016-12-30", "firstpayment": "10.00", "recurring_amount": "15.00", "period": "1", "expires": "2017-12-30", "status": "Active", "next_due": "2017-12-30", "next_invoice": "2017-11-30", "idprotection": "0", "nameservers": [ "ns1.example.com", "ns2.example.com", "ns3.example.com", "ns4.example.com" ], "autorenew": "1" } } } } } } }, "\/domain\/name\/{name}": { "get": { "tags": [ "Domains" ], "summary": "Domain details by name", "description": "Get domain details by name", "operationId": "domainNameDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "name", "type": "string", "in": "path", "description": "Domain name", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/{id}\/ns": { "put": { "tags": [ "Domains" ], "summary": "Update domain nameservers", "description": "Change domain nameservers, if `$nameservers` is left empty, default namesevers will be used", "operationId": "domain_ns", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Domain id", "example": "idValue" }, "nameservers": { "type": "array", "description": "List of nameservers to use", "items": { "type": "string" }, "example": "nameserversValue" } }, "example": { "id": "idValue", "nameservers": "nameserversValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "info": [ "success_changes_save" ] } }, "schema": { "type": "object", "example": { "info": [ "success_changes_save" ] } } } } } }, "\/domain\/{id}\/dns": { "get": { "tags": [ "Domains" ], "summary": "DNS RecordsDNS Records", "description": "List DNS records", "operationId": "domain_dns", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "records": [ { "id": 1, "name": "test", "ttl": 0, "priority": 0, "type": "A", "content": "100.100.10.1" } ] } }, "schema": { "type": "object", "example": { "records": [ { "id": 1, "name": "test", "ttl": 0, "priority": 0, "type": "A", "content": "100.100.10.1" } ] } } } } }, "post": { "tags": [ "Domains" ], "summary": "Create DNS Records", "description": "Add a new DNS record", "operationId": "domain_dns_add", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Domain id", "example": "idValue" }, "name": { "type": "string", "description": "Reord name", "example": "nameValue" }, "type": { "type": "string", "description": "Reord type", "example": "typeValue" }, "priority": { "type": "string", "description": "Reord priority", "example": "priorityValue" }, "content": { "type": "string", "description": "Reord content eg. IP addres for A records", "example": "contentValue" } }, "example": { "id": "idValue", "name": "nameValue", "type": "typeValue", "priority": "priorityValue", "content": "contentValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "info": [ "DNS Management updated successfully" ] } }, "schema": { "type": "object", "example": { "info": [ "DNS Management updated successfully" ] } } } } } }, "\/domain\/{id}\/dns\/{index}": { "put": { "tags": [ "Domains" ], "summary": "Update DNS Records", "description": "Change a DNS record", "operationId": "domain_dns_upd", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Domain id", "example": "idValue" }, "record_id": { "type": "integer", "description": "Recod index", "example": "record_idValue" }, "name": { "type": "string", "description": "Record name", "example": "nameValue" }, "type": { "type": "string", "description": "Record type", "example": "typeValue" }, "priority": { "type": "string", "description": "Record priority", "example": "priorityValue" }, "content": { "type": "string", "description": "Record content eg. IP address for A records", "example": "contentValue" } }, "example": { "id": "idValue", "record_id": "record_idValue", "name": "nameValue", "type": "typeValue", "priority": "priorityValue", "content": "contentValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true }, { "name": "index", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "info": [ "DNS Management updated successfully" ] } }, "schema": { "type": "object", "example": { "info": [ "DNS Management updated successfully" ] } } } } }, "delete": { "tags": [ "Domains" ], "summary": "Remove DNS Records", "description": "Remove a DNS record", "operationId": "domain_dns_del", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true }, { "name": "record_id", "type": "integer", "in": "query", "description": "Recod index" }, { "name": "index", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "info": [ "DNS Management updated successfully" ] } }, "schema": { "type": "object", "example": { "info": [ "DNS Management updated successfully" ] } } } } } }, "\/certificate\/{service_id}": { "get": { "tags": [ "SSL Certificates" ], "summary": "Certificate details", "description": "Return details for certificate `@service_id`", "operationId": "certificate_details", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "service_id", "type": "integer", "in": "path", "description": "Service id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/certificate\/{service_id}\/crt": { "get": { "tags": [ "SSL Certificates" ], "summary": "Download certificate", "description": "Return X.509 certificate data", "operationId": "certificate_crt", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "service_id", "type": "integer", "in": "path", "description": "Service id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/{id}\/renew": { "post": { "tags": [ "Services" ], "summary": "Manual Service Renew", "description": "Generate an invoice to renew the service.", "operationId": "service_renew", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Service id", "example": "idValue" } }, "example": { "id": "idValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "status": true, "invoice_id": "504426", "info": [ "manualrenew_ok" ] } }, "schema": { "type": "object", "example": { "status": true, "invoice_id": "504426", "info": [ "manualrenew_ok" ] } } } } } }, "\/service\/{id}\/cycle": { "get": { "tags": [ "Services" ], "summary": "List Billing Cycle", "description": "Get recurring billing cycle options", "operationId": "service_cycle", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Service id", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "current": "m", "cycles": { "m": "14.95", "a": "179.40", "b": "358.80" } } }, "schema": { "type": "object", "example": { "current": "m", "cycles": { "m": "14.95", "a": "179.40", "b": "358.80" } } } } } }, "post": { "tags": [ "Services" ], "summary": "Change Billing Cycle", "description": "Change recurring billing cycle for the service", "operationId": "service_cycle_set", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Service id", "example": "idValue" }, "cycle": { "type": "string", "description": "New billing cycle", "example": "cycleValue" } }, "example": { "id": "idValue", "cycle": "cycleValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "success": true, "info": [ "changebillingcycle_ok" ] } }, "schema": { "type": "object", "example": { "success": true, "info": [ "changebillingcycle_ok" ] } } } } } }, "\/service\/{id}\/ip": { "get": { "tags": [ "Services" ], "summary": "IP Addresses", "description": "List Service IP Addresses", "operationId": "ip", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Service ID", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/{id}\/rdns": { "get": { "tags": [ "Services" ], "summary": "Reverse DNS", "description": "Get reverse DNS entries for service's IP addresses", "operationId": "rdns", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Service ID", "required": true } ], "responses": { "200": { "description": "`Success`" } } }, "post": { "tags": [ "Services" ], "summary": "Update rDNS", "description": "Update reverse DNS entries service's IP addresses", "operationId": "uprdns", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Service ID", "example": "idValue" }, "ipaddress": { "type": "array", "description": "Use Ip address as parameter key and hostname as value", "items": { "type": "string" }, "example": "ipaddressValue" } }, "example": { "id": "idValue", "ipaddress": "ipaddressValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/{id}\/pdu": { "get": { "tags": [ "Services" ], "summary": "PDU ports", "description": "List PDU ports assigned to service", "operationId": "outlets", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Service id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/{service_id}\/dns": { "get": { "tags": [ "DNS" ], "summary": "List DNS for service", "description": "Returns a list of DNS zones under the service", "operationId": "dns_list_zones", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "service_id", "type": "integer", "in": "path", "description": "Service ID", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "error": [ "invalid method" ] } }, "schema": { "type": "object", "example": { "error": [ "invalid method" ] } } } } } } }, "securityDefinitions": { "basicAuth": { "type": "basic" } }, "security": [ { "basicAuth": [] } ], "definitions": { "Clientarea": { "type": "object", "properties": { "username": { "type": "string", "description": "Your acount email address " }, "password": { "type": "string", "description": "Account password " }, "refresh_token": { "type": "string" } } }, "Billing": { "type": "object", "properties": { "amount": { "type": "number", "description": "Amount to add to account " }, "gateway": { "type": "number", "description": "Payment gateway ID, use `GET \/addfunds` to list available gateways" } } }, "Support": { "type": "object", "properties": { "number": { "type": "integer", "description": "Ticket number" }, "dept_id": { "type": "integer", "description": "Department id " }, "subject": { "type": "string", "description": "Ticket subject " }, "body": { "type": "string", "description": "Reply message " } } }, "Domains": { "type": "object", "properties": { "id": { "type": "integer", "description": "Domain id" }, "name": { "type": "string", "description": "Record name" }, "nameservers": { "type": "array", "items": { "type": "string" }, "description": "List of nameservers to use" }, "type": { "type": "string", "description": "Record type" }, "priority": { "type": "string", "description": "Record priority" }, "content": { "type": "string", "description": "Record content eg. IP address for A records" }, "record_id": { "type": "integer", "description": "Recod index" } } }, "SSL Certificates": { "type": "object", "properties": { "service_id": { "type": "integer", "description": "Service id" } } }, "Services": { "type": "object", "properties": { "id": { "type": "integer", "description": "Service id" }, "cycle": { "type": "string", "description": "New billing cycle" }, "ipaddress": { "type": "array", "items": { "type": "string" }, "description": "Use Ip address as parameter key and hostname as value" } } }, "DNS": { "type": "object", "properties": { "service_id": { "type": "integer", "description": "Service ID" } } } }, "externalDocs": { "description": "Find out more about UserAPI", "url": "https:\/\/92.246.84.2\/?cmd=userapi" } }