{
"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.",
"version": "4.20240816",
"title": "DNS.services User API"
},
"host": "dns.services",
"basePath": "\/api",
"tags": [
{
"name": "Clientarea"
},
{
"name": "Billing"
},
{
"name": "Support"
},
{
"name": "Domains"
},
{
"name": "Services"
},
{
"name": "Cart"
},
{
"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": "username",
"type": "string",
"in": "query",
"description": "Your acount email address "
},
{
"name": "password",
"type": "string",
"in": "query",
"description": "Account password "
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"logout": {
"post": {
"tags": [
"Clientarea"
],
"summary": "Logout",
"description": "Invalidate authorization token",
"operationId": "dropToken",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"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": "refresh_token",
"type": "string",
"in": "query",
"description": "Refresh token previously obtained from `POST \/login`"
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"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": "refresh_token",
"type": "string",
"in": "query"
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"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": "```json\n\r{\n \"client\": {\n \"id\": \"26\",\n \"email\": \"api@example.com\",\n \"lastlogin\": \"2016-12-30 12:24:28\",\n \"ip\": \"172.100.2.1\",\n \"host\": \"hostname\",\n \"firstname\": \"Joe\",\n \"lastname\": \"Doe\",\n \"companyname\": \"\",\n \"address1\": \"Pretty View Lane\",\n \"address2\": \"3294\",\n \"city\": \"Santa Rosa\",\n \"state\": \"California\",\n \"postcode\": \"95401\",\n \"country\": \"US\",\n \"phonenumber\": \"+1.24123123\"\n }\n}"
}
}
}
},
"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`"
}
}
}
},
"contact": {
"get": {
"tags": [
"Clientarea"
],
"summary": "List contacts",
"description": "Return a list of contacts on this account",
"operationId": "profiles",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [],
"responses": {
"200": {
"description": "```json\n\r{\n \"contacts\": [\n {\n \"email\": \"mary@example.com\",\n \"id\": \"49\",\n \"firstname\": \"Mary\",\n \"lastname\": \"Sue\",\n \"companyname\": \"\",\n \"company\": \"0\",\n \"lastlogin\": \"0000-00-00 00:00:00\"\n }\n ]\n}"
}
}
}
},
"contact\/privileges": {
"get": {
"tags": [
"Clientarea"
],
"summary": "Contact privileges",
"description": "List possible contact privileges.\nEach domain and service may list additional privileges, depending on available features.
",
"operationId": "profile_privs",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [],
"responses": {
"200": {
"description": "```json\n\r{\n \"privileges\": {\n \"billing\": [\n \"emails\", \/\/ Receive billing notifications\n \"payinvoice\", \/\/ Allow to view\/pay invoices\n \"orders\", \/\/ Allow to place new orders\n \"balance\", \/\/ View account balance\n \"addfunds\", \/\/ Add account funds\n \"creditcard\" \/\/ Edit Credit Card details\n ],\n \"support\": [\n \"newticket\", \/\/ Open new tickets\n \"tickets\", \/\/ View all tickets\n \"closeticket\", \/\/ Close tickets\n \"emails\" \/\/ Receive email notifications from support\n ],\n \"misc\": [\n \"editmain\", \/\/ Modify main profile details\n \"emails\", \/\/ View emails history\n \"editipaccess\", \/\/ Edit allowed IP access\n \"manageprofiles\", \/\/ Add \/ Edit contacts\n \"affiliates\" \/\/ Access affiliates section\n ],\n \"services\": {\n \"full\": 1, \/\/ Full control over services\n \"332\": [\n \"basic\", \/\/ View basic details\n \"billing\", \/\/ View billing info\n \"cancelation\", \/\/ Request cancellation\n \"upgrade\", \/\/ Upgrade \/ Downgrade\n \"notify\", \/\/ Receive related email notifications \n (...)\n \"logindetails\"\n ]\n },\n \"domains\": {\n \"full\": 1, \/\/ Full control over domains\n \"523\": [\n \"basic\", \/\/ View basic details\n \"renew\", \/\/ Renew domain\n \"notify\", \/\/ Receive related email notifications \n \"contactinfo\", \/\/ Contact Information\n (...)\n \"nameservers\" \/\/ Manage Nameservers\n ]\n }\n }\n}"
}
}
}
},
"contact\/@id": {
"get": {
"tags": [
"Clientarea"
],
"summary": "Get contacts details",
"description": "Return array with contact details",
"operationId": "profile_data",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Contact ID",
"required": true
}
],
"responses": {
"200": {
"description": "```json\n\r{\n \"contact\": {\n \"id\": \"49\",\n \"email\": \"mary@example.com\",\n \"firstname\": \"Mary\",\n \"lastname\": \"Sue\",\n \"companyname\": \"\",\n \"address1\": \"Pretty View Lane\",\n \"address2\": \"3194\",\n \"city\": \"Santa Rosa\",\n \"state\": \"California\",\n \"postcode\": \"95401\",\n \"country\": \"US\",\n \"phonenumber\": \"+1.24123123\",\n \"type\": \"Private\",\n \"privileges\" : {\n \"support\" : [\"tickets\", \"newticket\"]\n }\n }\n}"
}
}
}
},
"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": "```json\n\r{\n {\n \"success\": true,\n \"details\": {\n \"currency\": \"USD\",\n \"acc_balance\": \"123456.55\",\n \"acc_credit\": \"0.00\"\n }\n }\n}"
}
}
}
},
"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": "```json\n\r{\n \"invoices\": [\n {\n \"id\": \"308976\",\n \"date\": \"2016-12-30\",\n \"dateorig\": \"2016-12-30\",\n \"duedate\": \"2017-01-06\",\n \"paybefore\": \"2017-01-06\",\n \"total\": \"19.65\",\n \"datepaid\": \"2016-12-30 12:40:47\",\n \"status\": \"Paid\",\n \"merge_id\": null,\n \"number\": \"2016\\\/12\\\/1\",\n \"currency\": \"USD\"\n }\n ]\n}"
}
}
}
},
"invoice\/@id": {
"get": {
"tags": [
"Billing"
],
"summary": "Invoice Details",
"description": "Get invoice details",
"operationId": "getInvoiceDetails",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "```json\n\r{\n \"invoice\": {\n \"id\": \"308976\",\n \"status\": \"Paid\",\n \"date\": \"2016-12-30\",\n \"duedate\": \"2017-01-06\",\n \"paybefore\": \"2017-01-06\",\n \"datepaid\": \"2016-12-30 12:40:47\",\n \"subtotal\": 16.24,\n \"credit\": 0,\n \"tax\": 3.41,\n \"taxrate\": 21,\n \"tax2\": 0,\n \"taxrate2\": 0,\n \"taxexempt\": \"0\",\n \"total\": 19.65,\n \"rate\": 1,\n \"rate2\": 0,\n \"rate3\": 1,\n \"notes\": \"\",\n \"items\": [\n {\n \"id\": \"12305\",\n \"invoice_id\": \"308976\",\n \"type\": \"Other\",\n \"item_id\": \"0\",\n \"description\": \"Example Service\",\n \"amount\": \"15.00\",\n \"taxed\": \"1\",\n \"qty\": \"1.00\",\n \"linetotal\": \"15.00\"\n },\n {\n \"id\": \"12309\",\n \"invoice_id\": \"308976\",\n \"type\": \"Other\",\n \"item_id\": \"-2\",\n \"description\": \"PayPal Payment Fee\",\n \"amount\": \"1.24\",\n \"taxed\": \"1\",\n \"qty\": \"1.00\",\n \"linetotal\": \"1.24\"\n }\n ],\n \"client\": {\n \"id\": \"26\",\n \"email\": \"api@example.com\",\n \"firstname\": \"Joe\",\n \"lastname\": \"Doe\",\n \"companyname\": \"\",\n \"address1\": \"Pretty View Lane\",\n \"address2\": \"3194\",\n \"city\": \"Santa Rosa\",\n \"state\": \"California\",\n \"postcode\": \"95401\",\n \"country\": \"US\",\n \"phonenumber\": \"+1.24123123\"\n },\n \"number\": \"2016\\\/12\\\/1\",\n \"currency\": \"USD\"\n }\n}"
}
}
}
},
"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": "id",
"type": "integer",
"in": "path",
"required": true
},
{
"name": "amount",
"type": "number",
"in": "query",
"description": "Optional credit amount, when no value is specified maximum amount to fully pay the invoice will be used"
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"payment": {
"get": {
"tags": [
"Billing"
],
"summary": "Payment Methods",
"description": "List available payment methods",
"operationId": "paymethod",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [],
"responses": {
"200": {
"description": "```json\n\r{\n \"payments\": {\n \"10\": \"BankTransfer\",\n \"9\": \"PayPal\"\n }\n}"
}
}
}
},
"payment\/fees": {
"get": {
"tags": [
"Billing"
],
"summary": "Payment Methods Fees",
"description": "List available payment methods with fees",
"operationId": "paymethod_fee",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [],
"responses": {
"200": {
"description": "```json\n\r{\n \"payments\": [\n {\n \"id\": 1,\n \"name\": \"Bank Transfer\",\n \"fixed_fee\": \"0.0\",\n \"percent_fee\": \"0.0\",\n },\n {\n \"id\": 2,\n \"name\": \"Stripe\",\n \"fixed_fee\": \"0.5\",\n \"percent_fee\": \"2.9\",\n },\n {\n \"id\": 4,\n \"name\": \"Credit Card\",\n \"fixed_fee\": \"0.1\",\n \"percent_fee\": \"2.4\"\n },\n {\n \"id\": 5,\n \"name\": \"PayPal\",\n \"fixed_fee\": \"0.3\",\n \"percent_fee\": \"2.9\"\n }\n ]\n}"
}
}
}
},
"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": "```json\n\r{\n \"tickets\": [\n {\n \"client_read\": \"1\",\n \"ticket_number\": \"736633\",\n \"date\": \"2016-12-30 12:48:13\",\n \"deptname\": \"Billing\",\n \"subject\": \"Lore Ipsum\",\n \"status\": \"Open\",\n \"lastreply\": \"2020-09-12 11:10:03\"\n }\n ]\n}"
}
}
},
"post": {
"tags": [
"Support"
],
"summary": "Create Ticket",
"description": "Submit new ticket",
"operationId": "createTicket",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "dept_id",
"type": "integer",
"in": "query",
"description": "Department id "
},
{
"name": "subject",
"type": "string",
"in": "query",
"description": "Ticket subject "
},
{
"name": "body",
"type": "string",
"in": "query",
"description": "Ticket message "
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"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": "```json\n\r{\n \"ticket\": {\n \"date\": \"2016-12-30 12:48:13\",\n \"ticket_number\": \"736633\",\n \"name\": \"Joe Doe\",\n \"email\": \"api@example.com\",\n \"subject\": \"Lore Ipsum\",\n \"body\": \"Donec sollicitudin molestie malesuada. \\r\\nSed porttitor lectus nibh. Vivamus magna justo, \\r\\nlacinia eget consectetur sed, convallis at tellus.\",\n \"status\": \"Answered\",\n \"client_read\": \"1\",\n \"deptname\": \"Billing\"\n },\n \"replies\": [\n {\n \"id\": \"929\",\n \"name\": \"Suppport Staff\",\n \"date\": \"2016-12-30 12:51:04\",\n \"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 --\",\n \"status\": \"Sent\",\n \"type\": \"Admin\"\n }\n ]\n}"
}
}
},
"post": {
"tags": [
"Support"
],
"summary": "Create Reply",
"description": "Reply to ticket",
"operationId": "createTicketReply",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "number",
"type": "integer",
"in": "path",
"description": "Ticket number",
"required": true
},
{
"name": "body",
"type": "string",
"in": "query",
"description": "Reply message "
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"ticket\/attachment\/@file": {
"get": {
"tags": [
"Support"
],
"summary": "Ticket attachment",
"description": "Get ticket attachment",
"operationId": "getTicketAttachment",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "number",
"type": "integer",
"in": "query",
"description": "Ticket number"
},
{
"name": "file",
"type": "string",
"in": "path",
"description": "Attachment id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"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": "number",
"type": "integer",
"in": "path",
"description": "Ticket number",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"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": "number",
"type": "integer",
"in": "path",
"description": "Ticket number",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"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`"
}
}
}
},
"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": "```json\n\r{\n \"domains\": [\n {\n \"id\": \"47\",\n \"name\": \"testname.com\",\n \"expires\": \"2017-12-30\",\n \"recurring_amount\": \"15.00\",\n \"date_created\": \"2016-12-30\",\n \"status\": \"Active\",\n \"period\": \"1\",\n \"autorenew\": \"1\",\n \"daytoexpire\": \"365\"\n }\n ]\n}"
}
}
}
},
"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": "```json\n\r{\n \"details\": {\n \"id\": \"47\",\n \"name\": \"testname.com\",\n \"date_created\": \"2016-12-30\",\n \"firstpayment\": \"10.00\",\n \"recurring_amount\": \"15.00\",\n \"period\": \"1\",\n \"expires\": \"2017-12-30\",\n \"status\": \"Active\",\n \"next_due\": \"2017-12-30\",\n \"next_invoice\": \"2017-11-30\",\n \"idprotection\": \"0\",\n \"nameservers\": [\n \"ns1.example.com\",\n \"ns2.example.com\",\n \"ns3.example.com\",\n \"ns4.example.com\"\n ],\n \"autorenew\": \"1\"\n }\n}"
}
}
}
},
"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": "```json\n\r{\n \"details\": [\n {\n \"id\": \"47\",\n \"name\": \"testname.com\",\n \"date_created\": \"2016-12-30\",\n \"firstpayment\": \"10.00\",\n \"recurring_amount\": \"15.00\",\n \"period\": \"1\",\n \"expires\": \"2017-12-30\",\n \"status\": \"Active\",\n \"next_due\": \"2017-12-30\",\n \"next_invoice\": \"2017-11-30\",\n \"idprotection\": \"0\",\n \"nameservers\": [\n \"ns1.example.com\",\n \"ns2.example.com\",\n \"ns3.example.com\",\n \"ns4.example.com\"\n ],\n \"autorenew\": \"1\"\n },\n {\n \"id\": \"48\",\n \"name\": \"testname.com\",\n \"date_created\": \"2016-05-30\",\n \"firstpayment\": \"10.00\",\n \"recurring_amount\": \"15.00\",\n \"period\": \"1\",\n \"expires\": \"2017-05-30\",\n \"status\": \"Expired\",\n \"next_due\": \"2017-05-30\",\n \"next_invoice\": \"2017-04-30\",\n \"idprotection\": \"0\",\n \"nameservers\": [\n \"ns1.example.com\",\n \"ns2.example.com\",\n \"ns3.example.com\",\n \"ns4.example.com\"\n ],\n \"autorenew\": \"1\"\n },\n ]\n}"
}
}
}
},
"domain\/@id\/ns": {
"get": {
"tags": [
"Domains"
],
"summary": "Get domain nameservers",
"description": "",
"operationId": "domain_ns_get",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
},
"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": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
},
{
"name": "nameservers",
"type": "array",
"in": "query",
"description": "List of nameservers to use",
"items": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/reg": {
"post": {
"tags": [
"Domains"
],
"summary": "Register domain nameservers",
"description": "",
"operationId": "domain_ns_reg",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/dns": {
"get": {
"tags": [
"Domains"
],
"summary": "DNS Records\nDNS 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": "```json\n\r{\n \"records\": [\n {\n \"id\": 1,\n \"name\": \"test\",\n \"ttl\": 0,\n \"priority\": 0,\n \"type\": \"A\",\n \"content\": \"100.100.10.1\"\n }\n ]\n}"
}
}
},
"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": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
},
{
"name": "name",
"type": "string",
"in": "query",
"description": "Reord name"
},
{
"name": "type",
"type": "string",
"in": "query",
"description": "Reord type"
},
{
"name": "priority",
"type": "string",
"in": "query",
"description": "Reord priority"
},
{
"name": "content",
"type": "string",
"in": "query",
"description": "Reord content eg. IP addres for A records"
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"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": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
},
{
"name": "record_id",
"type": "integer",
"in": "path",
"description": "Recod index",
"required": true
},
{
"name": "name",
"type": "string",
"in": "query",
"description": "Record name"
},
{
"name": "type",
"type": "string",
"in": "query",
"description": "Record type"
},
{
"name": "priority",
"type": "string",
"in": "query",
"description": "Record priority"
},
{
"name": "content",
"type": "string",
"in": "query",
"description": "Record content eg. IP address for A records"
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
},
"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": "path",
"description": "Recod index",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/dns\/types": {
"get": {
"tags": [
"Domains"
],
"summary": "DNS Records Types",
"description": "List supported records type",
"operationId": "domain_dns_suported",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "```json\n\r{\n \"types\": [\n \"A\",\n \"CNAME\",\n \"URL\",\n \"FRAME\",\n \"MX\",\n \"MXE\",\n \"TXT\"\n ]\n}"
}
}
}
},
"domain\/@id\/epp": {
"get": {
"tags": [
"Domains"
],
"summary": "Get domain EPP Code",
"description": "",
"operationId": "domain_eppcode",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/sync": {
"get": {
"tags": [
"Domains"
],
"summary": "Synchronize domain",
"description": "",
"operationId": "domain_sync",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/reglock": {
"get": {
"tags": [
"Domains"
],
"summary": "Get domain lock",
"description": "",
"operationId": "domain_reglock",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
},
"put": {
"tags": [
"Domains"
],
"summary": "Update domain lock",
"description": "",
"operationId": "domain_reglock_update",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/idprotection": {
"put": {
"tags": [
"Domains"
],
"summary": "Update domain ID Protection",
"description": "",
"operationId": "domain_idprotection_update",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/contact": {
"get": {
"tags": [
"Domains"
],
"summary": "Get domain contact info",
"description": "",
"operationId": "domain_contact_get",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
},
"put": {
"tags": [
"Domains"
],
"summary": "Update domain contact info",
"description": "",
"operationId": "domain_contact_update",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/emforwarding": {
"get": {
"tags": [
"Domains"
],
"summary": "Get email forwarding",
"description": "",
"operationId": "domain_email_forwarding",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
},
"put": {
"tags": [
"Domains"
],
"summary": "Update email forwarding",
"description": "",
"operationId": "domain_email_forwarding_update",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/forwarding": {
"put": {
"tags": [
"Domains"
],
"summary": "Update domain forwarding",
"description": "",
"operationId": "domain_forwarding_update",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/autorenew": {
"get": {
"tags": [
"Domains"
],
"summary": "Get domain autorenew",
"description": "",
"operationId": "domain_autorenew",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
},
"put": {
"tags": [
"Domains"
],
"summary": "Enable\/disable domain autorenew",
"description": "",
"operationId": "domain_autorenew_update",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/dnssec\/flags": {
"get": {
"tags": [
"Domains"
],
"summary": "Returns the available flags",
"description": "",
"operationId": "domain_dnssec_get_flags",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/dnssec": {
"get": {
"tags": [
"Domains"
],
"summary": "Returns the list of DNSSEC keys",
"description": "",
"operationId": "domain_dnssec_get",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
},
"put": {
"tags": [
"Domains"
],
"summary": "Adds the DNSSEC key",
"description": "",
"operationId": "domain_dnssec_add",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/@id\/dnssec\/@key": {
"delete": {
"tags": [
"Domains"
],
"summary": "",
"description": "",
"operationId": "domain_dnssec_remove",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Domain id",
"required": true
},
{
"name": "key",
"type": "string",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/lookup": {
"post": {
"tags": [
"Domains"
],
"summary": "Domain availability",
"description": "Check if domain is available for registration. Returns status: \"ok\" if domain is available, empty response otherwise",
"operationId": "domain_lookup",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "name",
"type": "string",
"in": "query",
"description": "Domain name "
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/order": {
"get": {
"tags": [
"Domains"
],
"summary": "Available TLDs",
"description": "List TLDs available for registration and transfer",
"operationId": "domain_tlds",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [],
"responses": {
"200": {
"description": "```json\n\r{\n \"tlds\": [\n {\n \"id\": \"6\",\n \"tld\": \".com\",\n \"periods\": [\n {\n \"period\": \"1\",\n \"register\": \"10.00\",\n \"transfer\": \"0.00\",\n \"renew\": \"15.00\",\n \"redemption\": \"40.00\"\n },\n {\n \"period\": \"2\",\n \"register\": \"20.00\",\n \"transfer\": \"20.00\",\n \"renew\": \"30.00\",\n \"redemption\": \"80.00\"\n }\n ]\n },\n (...)\n ]\n}"
}
}
},
"post": {
"tags": [
"Domains"
],
"summary": "Order new domain",
"description": "Create new order for a domain, please check if requested domain is available first,\notherwise your order may get cancelled.",
"operationId": "domain_order",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "name",
"type": "string",
"in": "query",
"description": "Domain name "
},
{
"name": "years",
"type": "string",
"in": "query",
"description": "Number of years"
},
{
"name": "action",
"type": "string",
"in": "query",
"description": "register|transfer"
},
{
"name": "tld_id",
"type": "string",
"in": "query",
"description": "TLD id"
},
{
"name": "pay_method",
"type": "integer",
"in": "query",
"description": "Payment method ID"
},
{
"name": "epp",
"type": "string",
"in": "query",
"description": "EPP Transfer code, required when transfering some domains"
},
{
"name": "nameservers",
"type": "array",
"in": "query",
"description": "Optional array with 2 - 4 nameservers that you want to use",
"items": {
"type": "string"
}
},
{
"name": "registrant",
"type": "integer",
"in": "query",
"description": "Optional contact ID to use for registrant contact this domain"
},
{
"name": "admin",
"type": "integer",
"in": "query",
"description": "Optional contact ID to use for admin contact this domain"
},
{
"name": "tech",
"type": "integer",
"in": "query",
"description": "Optional contact ID to use for tech contact this domain"
},
{
"name": "billing",
"type": "integer",
"in": "query",
"description": "Optional contact ID to use for billing contact this domain"
},
{
"name": "data",
"type": "array",
"in": "query",
"description": "Addditional data required for some TLDs",
"items": {
"type": "string"
}
},
{
"name": "aff_id",
"type": "integer",
"in": "query",
"description": "Affiliate ID"
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"domain\/order\/@id\/form": {
"get": {
"tags": [
"Domains"
],
"summary": "Additinal data for TLD",
"description": "Get additional forms required for some TLDs",
"operationId": "domain_tld_froms",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "tld_id",
"type": "integer",
"in": "path",
"description": "TLD ID",
"required": true
}
],
"responses": {
"200": {
"description": "```json\n\r{\n \"forms\": [\n {\n \"type\": \"domaindnssupport\",\n \"title\": \"DNS Management\",\n \"id\": \"1424\",\n \"firstItemId\": 9067,\n \"description\": \"\",\n \"name\": \"custom[1424][9067]\",\n \"required\": false,\n \"multiple\": false,\n \"config\": {\n \"enableddefault\": 0\n },\n \"value\": [],\n \"textvalue\": [],\n \"price\": 0,\n \"recurring_price\": 0,\n \"setup\": 0,\n \"prorata_date\": null,\n \"items\": [\n {\n \"title\": \"\",\n \"value\": 1,\n \"id\": 9067,\n \"price\": 4,\n \"setup\": 0,\n \"selected\": false\n }\n ]\n },\n {\n \"type\": \"select\",\n \"title\": \"Language\",\n \"id\": \"1755\",\n \"firstItemId\": 10952,\n \"description\": \"\",\n \"name\": \"custom[1755]\",\n \"required\": false,\n \"multiple\": false,\n \"config\": {\n \"conditionals\": []\n },\n \"value\": [],\n \"textvalue\": [],\n \"price\": 0,\n \"recurring_price\": 0,\n \"setup\": 0,\n \"prorata_date\": null,\n \"items\": [\n {\n \"title\": \"AFR\",\n \"value\": 1,\n \"id\": 10952,\n \"price\": 0,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"ALB\",\n \"value\": 1,\n \"id\": 10953,\n \"price\": 0,\n \"setup\": 0,\n \"selected\": false\n },\n (...)\n ]\n }\n ]\n}"
}
}
}
},
"domain\/@id\/renew": {
"post": {
"tags": [
"Domains"
],
"summary": "Renew domain",
"description": "Create new renew order for a domain, please check if requested domain is available first, otherwise your order may get cancelled.",
"operationId": "domain_renew",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"required": true
},
{
"name": "years",
"type": "string",
"in": "query",
"description": "Number of years"
},
{
"name": "pay_method",
"type": "integer",
"in": "query",
"description": "Payment method ID"
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"service": {
"get": {
"tags": [
"Services"
],
"summary": "List services",
"description": "List all services under your account",
"operationId": "service",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [],
"responses": {
"200": {
"description": "```json\n\r{\n \"services\": [\n {\n \"id\": \"301\",\n \"domain\": \"examplename.com\",\n \"total\": \"9.99\",\n \"status\": \"Pending\",\n \"billingcycle\": \"Monthly\",\n \"next_due\": \"2017-12-30\",\n \"category\": \"Hosting\",\n \"category_url\": \"hosting\",\n \"name\": \"Starter Hosting\"\n }\n ]\n}"
}
}
}
},
"service\/@id": {
"get": {
"tags": [
"Services"
],
"summary": "Service details",
"description": "Return details for service `@id`",
"operationId": "serviceDetails",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Service id",
"required": true
}
],
"responses": {
"200": {
"description": "```json\n\r{\n \"service\": {\n \"id\": \"301\",\n \"date_created\": \"2016-12-30\",\n \"domain\": \"examplename.com\",\n \"firstpayment\": \"9.99\",\n \"total\": \"9.99\",\n \"billingcycle\": \"Monthly\",\n \"next_due\": \"2017-12-30\",\n \"next_invoice\": \"2017-01-27\",\n \"status\": \"Active\",\n \"label\": \"\",\n \"username\": \"examplen\",\n \"password\": \"pdtzc\",\n \"name\": \"Starter Hosting\"\n }\n}"
}
}
}
},
"service\/@id\/methods": {
"get": {
"tags": [
"Services"
],
"summary": "List service methods",
"description": "List methods available for service",
"operationId": "serviceMethods",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "```json\n\r{\n \"methods\": [\n {\n \"name\": \"Upgrade Request\",\n \"method\": \"POST\",\n \"route\": \"\\\/service\\\/@id\\\/upgrade\"\n },\n {\n \"name\": \"Upgrade Options\",\n \"method\": \"GET\",\n \"route\": \"\\\/service\\\/@id\\\/upgrade\"\n },\n {\n \"name\": \"Change service label\",\n \"method\": \"POST\",\n \"route\": \"\\\/service\\\/@id\\\/label\"\n },\n {\n \"name\": \"Service label\",\n \"method\": \"GET\",\n \"route\": \"\\\/service\\\/@id\\\/label\"\n },\n {\n \"name\": \"Cancel Service\",\n \"method\": \"POST\",\n \"route\": \"\\\/service\\\/@id\\\/cancel\"\n }\n ]\n}"
}
}
}
},
"service\/@id\/upgrade": {
"get": {
"tags": [
"Services"
],
"summary": "Upgrade Options",
"description": "List upgrade options",
"operationId": "upgrade",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "```json\n\r{\n \"resources\": [\n {\n \"id\": 1557,\n \"name\": \"Bandwidth\",\n \"type\": \"select\",\n \"items\": [\n {\n \"id\": \"9953\",\n \"name\": \"100 GB\",\n \"price\": 1,\n \"setup_price\": 0,\n \"selected\": true\n },\n {\n \"id\": \"10103\",\n \"name\": \"500 GB\",\n \"price\": 5,\n \"setup_price\": 0,\n \"selected\": false\n },\n {\n \"id\": \"10104\",\n \"name\": \"1 TB\",\n \"price\": 10,\n \"setup_price\": 0,\n \"selected\": false\n }\n ]\n }\n ],\n \"package\": []\n}"
}
}
},
"post": {
"tags": [
"Services"
],
"summary": "Upgrade Request",
"description": "Estimate or request upgrade\n\n```json\n\/\/ Format of ''resources'' paremeter\n{\n \"resource_id\" : \"qty_value\", \/\/ sliders & qty fields\n \"resource_id\" : \"item_id\", \/\/ dropdown & radio fields\n \"resource_id\" : {\n \"item_id\": \"qty_value\" \/\/ dropdown with qty field\n }\n}\n```",
"operationId": "upgrade_test",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Service id",
"required": true
},
{
"name": "resources",
"type": "array",
"in": "query",
"description": "array with resource values",
"items": {
"type": "string"
}
},
{
"name": "package",
"type": "integer",
"in": "query",
"description": "New package id, optonal when upgrading resources"
},
{
"name": "cycle",
"type": "string",
"in": "query",
"description": "New billing cycle, optonal when upgrading resources"
},
{
"name": "send",
"type": "boolean",
"in": "query",
"description": "Set to true when you want to send your upgrade request"
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"service\/@id\/cancel": {
"post": {
"tags": [
"Services"
],
"summary": "Cancel Service",
"description": "Request service cancellation",
"operationId": "service_cancel",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Service id",
"required": true
},
{
"name": "immediate",
"type": "string",
"in": "query",
"description": "set to false<\/code> to terminate service at the end of billing date, true<\/code> - terminate immediately"
},
{
"name": "reason",
"type": "string",
"in": "query",
"description": "Reason for this request"
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"service\/@id\/label": {
"get": {
"tags": [
"Services"
],
"summary": "Service label",
"description": "Show current service label",
"operationId": "service_get_label",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Service id",
"required": true
}
],
"responses": {
"200": {
"description": "```json\n\r{\n \"label\": \"example\"\n}"
}
}
},
"post": {
"tags": [
"Services"
],
"summary": "Change service label",
"description": "Set new custom label to identify this service",
"operationId": "service_set_label",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "id",
"type": "integer",
"in": "path",
"description": "Service id",
"required": true
},
{
"name": "label",
"type": "string",
"in": "query",
"description": "New label"
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"category": {
"get": {
"tags": [
"Cart"
],
"summary": "List product categories",
"description": "Return a list of product categories.",
"operationId": "cart_categories",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [],
"responses": {
"200": {
"description": "```json\n\r{\n \"categories\": [\n {\n \"id\": \"10\",\n \"name\": \"Hosting\",\n \"description\": \"\",\n \"slug\": \"hosting\"\n },\n {\n \"id\": \"6\",\n \"name\": \"Domains\",\n \"description\": \"\",\n \"slug\": \"domains\"\n },\n {\n \"id\": \"16\",\n \"name\": \"Dedicated\",\n \"description\": \"\",\n \"slug\": \"dedicated\"\n }\n ]\n}"
}
}
}
},
"category\/@category_id\/product": {
"get": {
"tags": [
"Cart"
],
"summary": "List products in category",
"description": "Return a list of product available for purchase under requested category",
"operationId": "cart_products",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "category_id",
"type": "integer",
"in": "path",
"description": "Category ID",
"required": true
}
],
"responses": {
"200": {
"description": "```json\n\r{\n \"products\": [\n {\n \"id\": \"333\",\n \"type\": \"1\",\n \"name\": \"Starter Hosting\",\n \"stock\": false,\n \"paytype\": \"Regular\",\n \"description\": \"Disk:10GB
Memory:2GB
MySql:10 DB
Email:100 Users
\",\n \"qty\": \"0\",\n \"tags\": [\n\n ],\n \"periods\": [\n {\n \"title\": \"m\",\n \"value\": \"m\",\n \"price\": 9.99,\n \"setup\": 0,\n \"selected\": true\n },\n {\n \"title\": \"a\",\n \"value\": \"a\",\n \"price\": 109.89,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"b\",\n \"value\": \"b\",\n \"price\": 199.8,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"t\",\n \"value\": \"t\",\n \"price\": 299.7,\n \"setup\": 0,\n \"selected\": false\n }\n ]\n },\n (...)\n ]\n}"
}
}
}
},
"order\/@product_id": {
"get": {
"tags": [
"Cart"
],
"summary": "Get product configuration details",
"description": "Return product details with form configuration, addons and subproducts if available.",
"operationId": "cart_product",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "product_id",
"type": "integer",
"in": "path",
"description": "Product ID",
"required": true
}
],
"responses": {
"200": {
"description": "```json\n\r{\n \"product\": {\n \"id\": \"333\",\n \"category_name\": \"Hosting\",\n \"category_id\": \"49\",\n \"name\": \"Starter Hosting\",\n \"price\": 9.99,\n \"recurring\": \"m\",\n \"setup\": 0,\n \"config\": {\n \"product\": [\n {\n \"type\": \"select\",\n \"title\": \"pickcycle\",\n \"id\": \"cycle\",\n \"name\": \"cycle\",\n \"items\": [\n {\n \"title\": \"m\",\n \"value\": \"m\",\n \"price\": 9.99,\n \"setup\": 0,\n \"selected\": true\n },\n {\n \"title\": \"a\",\n \"value\": \"a\",\n \"price\": 109.89,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"b\",\n \"value\": \"b\",\n \"price\": 199.8,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"t\",\n \"value\": \"t\",\n \"price\": 299.7,\n \"setup\": 0,\n \"selected\": false\n }\n ],\n \"value\": \"m\",\n \"price\": 9.99,\n \"setup\": 0\n },\n {\n \"type\": \"input\",\n \"title\": \"domain\",\n \"id\": \"domain\",\n \"name\": \"domain\",\n \"value\": null\n }\n ],\n \"forms\": [\n {\n \"type\": \"select\",\n \"title\": \"Disk Size\",\n \"id\": \"1618\",\n \"firstItemId\": 10330,\n \"description\": \"\",\n \"name\": \"custom[1618]\",\n \"required\": false,\n \"multiple\": false,\n \"config\": {\n \"conditionals\": []\n },\n \"value\": [],\n \"textvalue\": [],\n \"price\": 0,\n \"recurring_price\": 0,\n \"setup\": 0,\n \"prorata_date\": null,\n \"items\": [\n {\n \"title\": \"512MB\",\n \"value\": 1,\n \"id\": 10330,\n \"price\": 0,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"1GB\",\n \"value\": 1,\n \"id\": 10331,\n \"price\": 0,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"2GB\",\n \"value\": 1,\n \"id\": 10332,\n \"price\": 0,\n \"setup\": 0,\n \"selected\": false\n }\n ]\n },\n (...)\n ],\n \"addons\": [\n {\n \"type\": \"subitem\",\n \"title\": \"Cpanel2: Add Extra IP\",\n \"id\": \"31\",\n \"value\": null,\n \"description\": \"Automatically adds IP address to account\",\n \"config\": [\n {\n \"type\": \"checkbox\",\n \"title\": \"add\",\n \"name\": \"addon[31]\",\n \"checked\": false\n },\n {\n \"type\": \"select\",\n \"title\": \"billingcycle\",\n \"name\": \"addon_cycles[31]\",\n \"items\": [\n {\n \"title\": \"m\",\n \"value\": \"m\",\n \"price\": 5,\n \"setup\": 0,\n \"selected\": true\n },\n {\n \"title\": \"q\",\n \"value\": \"q\",\n \"price\": 20,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"a\",\n \"value\": \"a\",\n \"price\": 50,\n \"setup\": 0,\n \"selected\": false\n }\n ]\n }\n ],\n \"price\": 0,\n \"recurring_price\": 0,\n \"setup\": 0,\n \"prorata_date\": null\n },\n (...)\n ],\n \"subproducts\": []\n },\n \"recurring_price\": 9.99,\n \"prorata_date\": null\n }\n}"
}
}
},
"post": {
"tags": [
"Cart"
],
"summary": "Order new service",
"description": "Create and submit new order for selected product.\n\nTo get available cycle and configuration options lookup product details\nusing `GET \/order\/@product_id`",
"operationId": "cart_order",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "product_id",
"type": "integer",
"in": "path",
"description": "Product ID",
"required": true
},
{
"name": "domain",
"type": "string",
"in": "query",
"description": "Domain name, ie. example.com, may be optional"
},
{
"name": "cycle",
"type": "string",
"in": "query",
"description": "Billing period symbol"
},
{
"name": "pay_method",
"type": "integer",
"in": "query",
"description": "Payment method ID"
},
{
"name": "custom",
"type": "array",
"in": "query",
"description": "Additional options data available for sop products",
"items": {
"type": "string"
}
},
{
"name": "promocode",
"type": "string",
"in": "query",
"description": "Promotion code"
},
{
"name": "aff_id",
"type": "integer",
"in": "query",
"description": "Affiliate ID"
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"order": {
"post": {
"tags": [
"Cart"
],
"summary": "Order multiple services",
"description": "Create and submit new order for multiple services\n\nEach item in the `items` array needs to include order `type` and parameters used\nby one of the method listed below:\n
• `POST \/order\/$product_id` - use `product` for item type
• `POST \/domain\/order` - use `domain` for item type",
"operationId": "cart_order_multi",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "pay_method",
"type": "integer",
"in": "query",
"description": "Payment method ID "
},
{
"name": "ignore_errors",
"type": "boolean",
"in": "query",
"description": "Process order even if some of the items were rejected due to errors "
},
{
"name": "items",
"type": "array",
"in": "query",
"description": "list with order items",
"items": {
"type": "string"
}
},
{
"name": "aff_id",
"type": "integer",
"in": "query",
"description": "Affiliate ID"
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"quote": {
"post": {
"tags": [
"Cart"
],
"summary": "Get order quote",
"description": "Calculate order cost and recurring prices for selected items.\nUse the same parameters as for `POST \/order`",
"operationId": "cart_order_quote",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "pay_method",
"type": "integer",
"in": "query",
"description": "Payment method ID"
},
{
"name": "output",
"type": "string",
"in": "query",
"description": "Type of output, default is short. Possible options\n\n short<\/code> - Basic details about the item in cart<\/li>\n config<\/code>- Basic details and form components<\/li>\n full<\/code> - All details available in cart<\/li>\n<\/ul> "
},
{
"name": "items",
"type": "array",
"in": "query",
"description": "list with order items",
"items": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"dns": {
"get": {
"tags": [
"DNS"
],
"summary": "List DNS",
"description": "Returns a list of all DNS",
"operationId": "dns_get",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [],
"responses": {
"200": {
"description": "```json\n\r{\n \"service_ids\": [\n \"10\",\n \"20\"\n ],\n \"zones\": [\n {\n \"domain_id\": \"60\",\n \"name\": \"booble.com\",\n \"service_id\": \"10\"\n },\n {\n \"domain_id\": \"61\",\n \"name\": \"bgg12ooble.com\",\n \"service_id\": \"20\"\n }\n ]\n}"
}
}
}
},
"service\/@service_id\/dns": {
"post": {
"tags": [
"DNS"
],
"summary": "Add DNS Zone",
"description": "Creates a new DNS zone",
"operationId": "dns_add_zone",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "service_id",
"type": "integer",
"in": "path",
"description": "Service ID",
"required": true
},
{
"name": "name",
"type": "string",
"in": "query",
"description": "Zone name "
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
},
"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": "```json\n\r{\n \"error\": [\n \"invalid method\"\n ]\n}"
}
}
}
},
"service\/@service_id\/dns\/@zone_id": {
"get": {
"tags": [
"DNS"
],
"summary": "Get DNS details",
"description": "Returns details of the DNS zone",
"operationId": "dns_get_zone",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "service_id",
"type": "integer",
"in": "path",
"description": "Service ID",
"required": true
},
{
"name": "zone_id",
"type": "integer",
"in": "path",
"description": "Zone ID",
"required": true
}
],
"responses": {
"200": {
"description": "```json\n\r{\n \"service_id\": 10,\n \"name\": \"booble.com\",\n \"records\": [\n {\n \"id\":\"10\",\n \"name\":\"qwerty\",\n \"ttl\":1800,\n \"priority\":0,\n \"content\":\"127.0.0.1\",\n \"type\":\"A\"\n },\n {\n \"id\":\"11\",\n \"name\":\"qwerty\",\n \"ttl\":1800,\n \"priority\":0,\n \"content\":\"ns1.qwerty.com\",\n \"type\":\"NS\"\n }\n ]\n}"
}
}
},
"delete": {
"tags": [
"DNS"
],
"summary": "Remove DNS zone",
"description": "Deletes the selected DNS zone",
"operationId": "dns_delete_zone",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "service_id",
"type": "integer",
"in": "path",
"description": "Service ID",
"required": true
},
{
"name": "zone_id",
"type": "integer",
"in": "path",
"description": "Zone ID",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"service\/@service_id\/dns\/@zone_id\/records": {
"post": {
"tags": [
"DNS"
],
"summary": "Add DNS Record",
"description": "Creates a new record in the DNS zone",
"operationId": "dns_add_record",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "service_id",
"type": "integer",
"in": "path",
"description": "Service ID",
"required": true
},
{
"name": "zone_id",
"type": "integer",
"in": "path",
"description": "Zone ID",
"required": true
},
{
"name": "name",
"type": "string",
"in": "query",
"description": "Record name "
},
{
"name": "ttl",
"type": "integer",
"in": "query",
"description": "Record ttl "
},
{
"name": "priority",
"type": "integer",
"in": "query",
"description": "Priority of the record "
},
{
"name": "type",
"type": "string",
"in": "query",
"description": "Record type "
},
{
"name": "content",
"type": "string",
"in": "query",
"description": "Contents of the record "
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
},
"service\/@service_id\/dns\/@zone_id\/records\/@record_id": {
"put": {
"tags": [
"DNS"
],
"summary": "Edit DNS Record",
"description": "Edits the selected DNS zone record",
"operationId": "dns_edit_record",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "service_id",
"type": "integer",
"in": "path",
"description": "Service ID",
"required": true
},
{
"name": "zone_id",
"type": "integer",
"in": "path",
"description": "Zone ID",
"required": true
},
{
"name": "record_id",
"type": "integer",
"in": "path",
"description": "Record ID",
"required": true
},
{
"name": "name",
"type": "string",
"in": "query",
"description": "Record name "
},
{
"name": "ttl",
"type": "integer",
"in": "query",
"description": "Record ttl "
},
{
"name": "priority",
"type": "integer",
"in": "query",
"description": "Priority of the record "
},
{
"name": "type",
"type": "string",
"in": "query",
"description": "Record type "
},
{
"name": "content",
"type": "string",
"in": "query",
"description": "Contents of the record "
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
},
"delete": {
"tags": [
"DNS"
],
"summary": "Remove DNS Record",
"description": "Removes the selected DNS zone record",
"operationId": "dns_delete_record",
"consumes": [
"application\/json"
],
"produces": [
"application\/json"
],
"parameters": [
{
"name": "service_id",
"type": "integer",
"in": "path",
"description": "Service ID",
"required": true
},
{
"name": "zone_id",
"type": "integer",
"in": "path",
"description": "Zone ID",
"required": true
},
{
"name": "record_id",
"type": "integer",
"in": "path",
"description": "Record ID",
"required": true
}
],
"responses": {
"200": {
"description": "`Success`"
}
}
}
}
},
"securityDefinitions": {
"http": {
"type": "basic"
}
},
"definitions": {
"Clientarea": {
"type": "object",
"properties": {
"username": {
"type": "string",
"description": "Your acount email address "
},
"password": {
"type": "string",
"description": "Account password "
},
"refresh_token": {
"type": "string"
},
"id": {
"type": "integer",
"description": "Contact ID"
}
}
},
"Billing": {
"type": "object",
"properties": {
"id": {
"type": "integer"
},
"amount": {
"type": "number",
"description": "Optional credit amount, when no value is specified maximum amount to fully pay the invoice will be used"
}
}
},
"Support": {
"type": "object",
"properties": {
"number": {
"type": "integer",
"description": "Ticket number"
},
"file": {
"type": "string",
"description": "Attachment id"
},
"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"
},
"name": {
"type": "string",
"description": "Domain name "
},
"nameservers": {
"type": "array",
"items": {
"type": "string"
},
"description": "Optional array with 2 - 4 nameservers that you want 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"
},
"key": {
"type": "string"
},
"tld_id": {
"type": "string",
"description": "TLD id"
},
"years": {
"type": "string",
"description": "Number of years"
},
"action": {
"type": "string",
"description": "register|transfer"
},
"pay_method": {
"type": "integer",
"description": "Payment method ID"
},
"epp": {
"type": "string",
"description": "EPP Transfer code, required when transfering some domains"
},
"registrant": {
"type": "integer",
"description": "Optional contact ID to use for registrant contact this domain"
},
"admin": {
"type": "integer",
"description": "Optional contact ID to use for admin contact this domain"
},
"tech": {
"type": "integer",
"description": "Optional contact ID to use for tech contact this domain"
},
"billing": {
"type": "integer",
"description": "Optional contact ID to use for billing contact this domain"
},
"data": {
"type": "array",
"items": {
"type": "string"
},
"description": "Addditional data required for some TLDs"
},
"aff_id": {
"type": "integer",
"description": "Affiliate ID"
}
}
},
"Services": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "Service id"
},
"resources": {
"type": "array",
"items": {
"type": "string"
},
"description": "array with resource values"
},
"package": {
"type": "integer",
"description": "New package id, optonal when upgrading resources"
},
"cycle": {
"type": "string",
"description": "New billing cycle, optonal when upgrading resources"
},
"send": {
"type": "boolean",
"description": "Set to true when you want to send your upgrade request"
},
"immediate": {
"type": "string",
"description": "set to false<\/code> to terminate service at the end of billing date, true<\/code> - terminate immediately"
},
"reason": {
"type": "string",
"description": "Reason for this request"
},
"label": {
"type": "string",
"description": "New label"
}
}
},
"Cart": {
"type": "object",
"properties": {
"category_id": {
"type": "integer",
"description": "Category ID"
},
"product_id": {
"type": "integer",
"description": "Product ID"
},
"domain": {
"type": "string",
"description": "Domain name, ie. example.com, may be optional"
},
"cycle": {
"type": "string",
"description": "Billing period symbol"
},
"pay_method": {
"type": "integer",
"description": "Payment method ID"
},
"custom": {
"type": "array",
"items": {
"type": "string"
},
"description": "Additional options data available for sop products"
},
"promocode": {
"type": "string",
"description": "Promotion code"
},
"aff_id": {
"type": "integer",
"description": "Affiliate ID"
},
"ignore_errors": {
"type": "boolean",
"description": "Process order even if some of the items were rejected due to errors "
},
"items": {
"type": "array",
"items": {
"type": "string"
},
"description": "list with order items"
},
"output": {
"type": "string",
"description": "Type of output, default is short. Possible options\n\n short<\/code> - Basic details about the item in cart<\/li>\n config<\/code>- Basic details and form components<\/li>\n full<\/code> - All details available in cart<\/li>\n<\/ul> "
}
}
},
"DNS": {
"type": "object",
"properties": {
"service_id": {
"type": "integer",
"description": "Service ID"
},
"name": {
"type": "string",
"description": "Record name "
},
"zone_id": {
"type": "integer",
"description": "Zone ID"
},
"ttl": {
"type": "integer",
"description": "Record ttl "
},
"priority": {
"type": "integer",
"description": "Priority of the record "
},
"type": {
"type": "string",
"description": "Record type "
},
"content": {
"type": "string",
"description": "Contents of the record "
},
"record_id": {
"type": "integer",
"description": "Record ID"
}
}
}
},
"externalDocs": {
"description": "Find out more about UserAPI",
"url": "https:\/\/dns.services\/?cmd=userapi"
}
}