{ "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.20240304", "title": "BKNS., JSC User API" }, "host": "my.bkns.net", "basePath": "\/api", "tags": [ { "name": "Clientarea" }, { "name": "Billing" }, { "name": "Support" }, { "name": "Domains" }, { "name": "SSL Certificates" }, { "name": "Services" }, { "name": "Cart" }, { "name": "DNS" }, { "name": "Location" } ], "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.\r\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`" } } } }, "\/signup": { "post": { "tags": [ "Clientarea" ], "summary": "Sign up", "description": "Create new account", "operationId": "postSignup", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "type", "type": "string", "in": "query", "description": "Account Type", "enum": [ "Private", "Company" ] }, { "name": "companyname", "type": "string", "in": "query", "description": "Organization" }, { "name": "taxid", "type": "string", "in": "query", "description": "M\u00e3 s\u1ed1 thu\u1ebf" }, { "name": "gender", "type": "string", "in": "query", "description": "gender", "enum": [ "Male", "Female" ] }, { "name": "lastname", "type": "string", "in": "query", "description": "Last Name" }, { "name": "firstname", "type": "string", "in": "query", "description": "First Name" }, { "name": "email", "type": "string", "in": "query", "description": "Email Address" }, { "name": "phonenumber", "type": "string", "in": "query", "description": "Phone" }, { "name": "zalonumber", "type": "string", "in": "query", "description": "Zalo - S\u1ed1 \u0111i\u1ec7n tho\u1ea1i s\u1eed d\u1ee5ng Zalo N\u1ebfu qu\u00fd kh\u00e1ch \u0111\u1ed3ng \u00fd nh\u1eadn th\u00f4ng b\u00e1o d\u1ecbch v\u1ee5 h\u1ebft h\u1ea1n, ho\u00e1 \u0111\u01a1n qua tin nh\u1eafn Zalo" }, { "name": "nationalid", "type": "string", "in": "query", "description": "CCCD\/Passport" }, { "name": "birthday", "type": "string", "in": "query", "description": "Ng\u00e0y sinh (ng\u00e0y-th\u00e1ng-n\u0103m)" }, { "name": "country", "type": "string", "in": "query", "description": "Country" }, { "name": "state", "type": "string", "in": "query", "description": "State" }, { "name": "city", "type": "string", "in": "query", "description": "City" }, { "name": "ward", "type": "string", "in": "query", "description": "X\u00e3\/Ph\u01b0\u1eddng" }, { "name": "address1", "type": "string", "in": "query", "description": "Address 1" }, { "name": "password", "type": "string", "in": "query", "description": "Password" }, { "name": "currency", "type": "string", "in": "query", "description": "Currency", "enum": [ "VND", "USD" ] } ], "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{\r\n \"client\": {\r\n \"id\": \"26\",\r\n \"email\": \"api@example.com\",\r\n \"lastlogin\": \"2016-12-30 12:24:28\",\r\n \"ip\": \"172.100.2.1\",\r\n \"host\": \"hostname\",\r\n \"firstname\": \"Joe\",\r\n \"lastname\": \"Doe\",\r\n \"companyname\": \"\",\r\n \"address1\": \"Pretty View Lane\",\r\n \"address2\": \"3294\",\r\n \"city\": \"Santa Rosa\",\r\n \"state\": \"California\",\r\n \"postcode\": \"95401\",\r\n \"country\": \"US\",\r\n \"phonenumber\": \"+1.24123123\"\r\n }\r\n}" } } } }, "\/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{\r\n \"contacts\": [\r\n {\r\n \"email\": \"mary@example.com\",\r\n \"id\": \"49\",\r\n \"firstname\": \"Mary\",\r\n \"lastname\": \"Sue\",\r\n \"companyname\": \"\",\r\n \"company\": \"0\",\r\n \"lastlogin\": \"0000-00-00 00:00:00\"\r\n }\r\n ]\r\n}" } } }, "post": { "tags": [ "Clientarea" ], "summary": "Add contact", "description": "Create new contact account, if password is provided you\r\ncan use provided email addres to login as that contact.", "operationId": "profiles_add", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "password", "type": "string", "in": "query", "description": "Optional, allows you to login as contact" }, { "name": "privileges", "type": "array", "in": "query", "description": "Array with privileges that you want to enable. Formatted the same way as output from GET \/contact\/privileges<\/code>", "items": { "type": "string" } }, { "name": "type", "type": "string", "in": "query", "description": "Account Type", "enum": [ "Private", "Company" ] }, { "name": "companyname", "type": "string", "in": "query", "description": "Organization" }, { "name": "taxid", "type": "string", "in": "query", "description": "M\u00e3 s\u1ed1 thu\u1ebf" }, { "name": "gender", "type": "string", "in": "query", "description": "gender", "enum": [ "Male", "Female" ] }, { "name": "lastname", "type": "string", "in": "query", "description": "Last Name" }, { "name": "firstname", "type": "string", "in": "query", "description": "First Name" }, { "name": "email", "type": "string", "in": "query", "description": "Email Address" }, { "name": "phonenumber", "type": "string", "in": "query", "description": "Phone" }, { "name": "zalonumber", "type": "string", "in": "query", "description": "Zalo - S\u1ed1 \u0111i\u1ec7n tho\u1ea1i s\u1eed d\u1ee5ng Zalo N\u1ebfu qu\u00fd kh\u00e1ch \u0111\u1ed3ng \u00fd nh\u1eadn th\u00f4ng b\u00e1o d\u1ecbch v\u1ee5 h\u1ebft h\u1ea1n, ho\u00e1 \u0111\u01a1n qua tin nh\u1eafn Zalo" }, { "name": "nationalid", "type": "string", "in": "query", "description": "CCCD\/Passport" }, { "name": "birthday", "type": "string", "in": "query", "description": "Ng\u00e0y sinh (ng\u00e0y-th\u00e1ng-n\u0103m)" }, { "name": "country", "type": "string", "in": "query", "description": "Country" }, { "name": "state", "type": "string", "in": "query", "description": "State" }, { "name": "city", "type": "string", "in": "query", "description": "City" }, { "name": "ward", "type": "string", "in": "query", "description": "X\u00e3\/Ph\u01b0\u1eddng" }, { "name": "address1", "type": "string", "in": "query", "description": "Address 1" }, { "name": "postcode", "type": "string", "in": "query", "description": "Post code" }, { "name": "telegramnotifications", "type": "array", "in": "query", "description": "Telegram", "items": { "type": "string" }, "enum": [ "Yes" ] }, { "name": "zalonotifications", "type": "array", "in": "query", "description": "T\u1eaft th\u00f4ng b\u00e1o Zalo - M\u1eb7c \u0111\u1ecbnh qu\u00fd kh\u00e1ch s\u1ebd nh\u1eadn \u0111\u01b0\u1ee3c th\u00f4ng b\u00e1o ho\u00e1 \u0111\u01a1n qua Zalo, trong tr\u01b0\u1eddng h\u1ee3p qu\u00fd kh\u00e1ch kh\u00f4ng mu\u1ed1n nh\u1eadn th\u00f4ng b\u00e1o, qu\u00fd kh\u00e1ch c\u00f3 th\u1ec3 Tick ch\u1ecdn \u0111\u1ec3 t\u1eaft", "items": { "type": "string" }, "enum": [ "Yes" ] } ], "responses": { "200": { "description": "`Success`" } } } }, "\/contact\/privileges": { "get": { "tags": [ "Clientarea" ], "summary": "Contact privileges", "description": "List possible contact privileges.\r\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{\r\n \"privileges\": {\r\n \"billing\": [\r\n \"emails\", \/\/ Receive billing notifications\r\n \"payinvoice\", \/\/ Allow to view\/pay invoices\r\n \"orders\", \/\/ Allow to place new orders\r\n \"balance\", \/\/ View account balance\r\n \"addfunds\", \/\/ Add account funds\r\n \"creditcard\" \/\/ Edit Credit Card details\r\n ],\r\n \"support\": [\r\n \"newticket\", \/\/ Open new tickets\r\n \"tickets\", \/\/ View all tickets\r\n \"closeticket\", \/\/ Close tickets\r\n \"emails\" \/\/ Receive email notifications from support\r\n ],\r\n \"misc\": [\r\n \"editmain\", \/\/ Modify main profile details\r\n \"emails\", \/\/ View emails history\r\n \"editipaccess\", \/\/ Edit allowed IP access\r\n \"manageprofiles\", \/\/ Add \/ Edit contacts\r\n \"affiliates\" \/\/ Access affiliates section\r\n ],\r\n \"services\": {\r\n \"full\": 1, \/\/ Full control over services\r\n \"332\": [\r\n \"basic\", \/\/ View basic details\r\n \"billing\", \/\/ View billing info\r\n \"cancelation\", \/\/ Request cancellation\r\n \"upgrade\", \/\/ Upgrade \/ Downgrade\r\n \"notify\", \/\/ Receive related email notifications\t\r\n (...)\r\n \"logindetails\"\r\n ]\r\n },\r\n \"domains\": {\r\n \"full\": 1, \/\/ Full control over domains\r\n \"523\": [\r\n \"basic\", \/\/ View basic details\r\n \"renew\", \/\/ Renew domain\r\n \"notify\", \/\/ Receive related email notifications\t\r\n \"contactinfo\", \/\/ Contact Information\r\n (...)\r\n \"nameservers\" \/\/ Manage Nameservers\r\n ]\r\n }\r\n }\r\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{\r\n \"contact\": {\r\n \"id\": \"49\",\r\n \"email\": \"mary@example.com\",\r\n \"firstname\": \"Mary\",\r\n \"lastname\": \"Sue\",\r\n \"companyname\": \"\",\r\n \"address1\": \"Pretty View Lane\",\r\n \"address2\": \"3194\",\r\n \"city\": \"Santa Rosa\",\r\n \"state\": \"California\",\r\n \"postcode\": \"95401\",\r\n \"country\": \"US\",\r\n \"phonenumber\": \"+1.24123123\",\r\n \"type\": \"Private\",\r\n \"privileges\" : {\r\n \"support\" : [\"tickets\", \"newticket\"]\r\n }\r\n }\r\n}" } } }, "put": { "tags": [ "Clientarea" ], "summary": "Edit contact", "description": "Change contact details`", "operationId": "profile_edit", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "privileges", "type": "array", "in": "query", "description": "Array with privileges that you want to enable. Formatted the same way as output from GET \/contact\/privileges<\/code>", "items": { "type": "string" } }, { "name": "type", "type": "string", "in": "query", "description": "Account Type", "enum": [ "Private", "Company" ] }, { "name": "companyname", "type": "string", "in": "query", "description": "Organization" }, { "name": "taxid", "type": "string", "in": "query", "description": "M\u00e3 s\u1ed1 thu\u1ebf" }, { "name": "gender", "type": "string", "in": "query", "description": "gender", "enum": [ "Male", "Female" ] }, { "name": "lastname", "type": "string", "in": "query", "description": "Last Name" }, { "name": "firstname", "type": "string", "in": "query", "description": "First Name" }, { "name": "email", "type": "string", "in": "query", "description": "Email Address" }, { "name": "phonenumber", "type": "string", "in": "query", "description": "Phone" }, { "name": "zalonumber", "type": "string", "in": "query", "description": "Zalo - S\u1ed1 \u0111i\u1ec7n tho\u1ea1i s\u1eed d\u1ee5ng Zalo N\u1ebfu qu\u00fd kh\u00e1ch \u0111\u1ed3ng \u00fd nh\u1eadn th\u00f4ng b\u00e1o d\u1ecbch v\u1ee5 h\u1ebft h\u1ea1n, ho\u00e1 \u0111\u01a1n qua tin nh\u1eafn Zalo" }, { "name": "nationalid", "type": "string", "in": "query", "description": "CCCD\/Passport" }, { "name": "birthday", "type": "string", "in": "query", "description": "Ng\u00e0y sinh (ng\u00e0y-th\u00e1ng-n\u0103m)" }, { "name": "country", "type": "string", "in": "query", "description": "Country" }, { "name": "state", "type": "string", "in": "query", "description": "State" }, { "name": "city", "type": "string", "in": "query", "description": "City" }, { "name": "ward", "type": "string", "in": "query", "description": "X\u00e3\/Ph\u01b0\u1eddng" }, { "name": "address1", "type": "string", "in": "query", "description": "Address 1" }, { "name": "postcode", "type": "string", "in": "query", "description": "Post code" }, { "name": "telegramnotifications", "type": "array", "in": "query", "description": "Telegram", "items": { "type": "string" }, "enum": [ "Yes" ] }, { "name": "zalonotifications", "type": "array", "in": "query", "description": "T\u1eaft th\u00f4ng b\u00e1o Zalo - M\u1eb7c \u0111\u1ecbnh qu\u00fd kh\u00e1ch s\u1ebd nh\u1eadn \u0111\u01b0\u1ee3c th\u00f4ng b\u00e1o ho\u00e1 \u0111\u01a1n qua Zalo, trong tr\u01b0\u1eddng h\u1ee3p qu\u00fd kh\u00e1ch kh\u00f4ng mu\u1ed1n nh\u1eadn th\u00f4ng b\u00e1o, qu\u00fd kh\u00e1ch c\u00f3 th\u1ec3 Tick ch\u1ecdn \u0111\u1ec3 t\u1eaft", "items": { "type": "string" }, "enum": [ "Yes" ] } ], "responses": { "200": { "description": "`Success`" } } } }, "\/notifications": { "get": { "tags": [ "Clientarea" ], "summary": "List all portal notifications", "description": "Return a list of all portal notifications.", "operationId": "notifications", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "rel_type", "type": "string", "in": "query", "description": "Optional, return only by relation type" }, { "name": "rel_id", "type": "string", "in": "query", "description": "Optional, return only by relation id" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/notifications\/new": { "get": { "tags": [ "Clientarea" ], "summary": "List new portal notifications", "description": "Return only new portal notifications.", "operationId": "notifications_new", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "rel_type", "type": "string", "in": "query", "description": "Optional, return only by relation type" }, { "name": "rel_id", "type": "string", "in": "query", "description": "Optional, return only by relation id" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/notifications\/@id\/ack": { "put": { "tags": [ "Clientarea" ], "summary": "Acknowledge notification", "description": "Marks the notification as read", "operationId": "notifications_set_seen", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/statuses": { "get": { "tags": [ "Clientarea" ], "summary": "Returns a list of all statuses with specific status", "description": "", "operationId": "status_updates_specific", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "status", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/statuses\/@id": { "put": { "tags": [ "Clientarea" ], "summary": "Returns details of status", "description": "", "operationId": "status_updates_details", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/ekyc\/ocr\/recognition": { "post": { "tags": [ "Clientarea" ], "summary": "OCR Recognition", "description": "Get a list of all documents.", "operationId": "ocrRecognition", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "request_id", "type": "string", "in": "path", "description": "Request id", "required": true }, { "name": "image", "type": "string", "in": "path", "description": "Imagr card", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/ekyc\/faceid\/verification": { "post": { "tags": [ "Clientarea" ], "summary": "Faceid verification ", "description": "Get a list of all documents.", "operationId": "faceidVerification", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "request_id", "type": "string", "in": "path", "description": "Request id", "required": true }, { "name": "image_live", "type": "string", "in": "path", "description": "Live Face Image", "required": true }, { "name": "image_live_1 ", "type": "string", "in": "path", "description": "Live Face Image", "required": true }, { "name": "image_live_2", "type": "string", "in": "path", "description": "Live Face Image", "required": true }, { "name": "image_live_3", "type": "string", "in": "path", "description": "Live Face Image", "required": true }, { "name": "image_card", "type": "string", "in": "path", "description": "Image card", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/clientarea\/businessinfo": { "get": { "tags": [ "Clientarea" ], "summary": "Get business info", "description": "", "operationId": "getBusinessInfo", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "taxid", "type": "string", "in": "path", "required": true } ], "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": "```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\/@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": { "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": { "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`" } } } }, "\/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\/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": "```json\n\r" } } } }, "\/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": "```json\n\r" } } } }, "\/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": { "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{\r\n \"domains\": [\r\n {\r\n \"id\": \"47\",\r\n \"name\": \"testname.com\",\r\n \"expires\": \"2017-12-30\",\r\n \"recurring_amount\": \"15.00\",\r\n \"date_created\": \"2016-12-30\",\r\n \"status\": \"Active\",\r\n \"period\": \"1\",\r\n \"autorenew\": \"1\",\r\n \"daytoexpire\": \"365\"\r\n }\r\n ]\r\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{\r\n \"details\": {\r\n \"id\": \"47\",\r\n \"name\": \"testname.com\",\r\n \"date_created\": \"2016-12-30\",\r\n \"firstpayment\": \"10.00\",\r\n \"recurring_amount\": \"15.00\",\r\n \"period\": \"1\",\r\n \"expires\": \"2017-12-30\",\r\n \"status\": \"Active\",\r\n \"next_due\": \"2017-12-30\",\r\n \"next_invoice\": \"2017-11-30\",\r\n \"idprotection\": \"0\",\r\n \"nameservers\": [\r\n \"ns1.example.com\",\r\n \"ns2.example.com\",\r\n \"ns3.example.com\",\r\n \"ns4.example.com\"\r\n ],\r\n \"autorenew\": \"1\"\r\n }\r\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`" } } } }, "\/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\/@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\/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\/order": { "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" } } ], "responses": { "200": { "description": "`Success`" } } }, "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{\r\n \"tlds\": [\r\n {\r\n \"id\": \"6\",\r\n \"tld\": \".com\",\r\n \"periods\": [\r\n {\r\n \"period\": \"1\",\r\n \"register\": \"10.00\",\r\n \"transfer\": \"0.00\",\r\n \"renew\": \"15.00\",\r\n \"redemption\": \"40.00\"\r\n },\r\n {\r\n \"period\": \"2\",\r\n \"register\": \"20.00\",\r\n \"transfer\": \"20.00\",\r\n \"renew\": \"30.00\",\r\n \"redemption\": \"80.00\"\r\n }\r\n ]\r\n },\r\n (...)\r\n ]\r\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`" } } } }, "\/bkns\/whois\/@domain": { "get": { "tags": [ "Domains" ], "summary": "Get whois domain", "description": "Get whois domain.", "operationId": "getWhois", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "domain", "type": "string", "in": "path", "description": "Domain name", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/documents": { "get": { "tags": [ "Domains" ], "summary": "Get list documents", "description": "Get a list of all documents.", "operationId": "documents", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain ID", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/documents\/@documentid\/download": { "get": { "tags": [ "Domains" ], "summary": "Download document", "description": "Download document. Content-Type: application\/pdf will be returned", "operationId": "document_download", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain ID", "required": true }, { "name": "documentid", "type": "integer", "in": "path", "description": "Document ID", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/documents\/@documentid\/View": { "get": { "tags": [ "Domains" ], "summary": "View document", "description": "View document.", "operationId": "document_View", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain ID", "required": true }, { "name": "documentid", "type": "integer", "in": "path", "description": "Document ID", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/documents\/@documentid\/upload": { "post": { "tags": [ "Domains" ], "summary": "Upload signed document", "description": "Upload signed document.", "operationId": "document_upload", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain ID", "required": true }, { "name": "documentid", "type": "integer", "in": "path", "description": "Document ID", "required": true }, { "name": "filename", "type": "string", "in": "query", "description": "File name, for example: myfile.pdf" }, { "name": "content", "type": "string", "in": "query", "description": "File content, must be base64 encoded content." } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/documents\/view\/@token": { "get": { "tags": [ "Domains" ], "summary": "Document Sign", "description": "View document signed.", "operationId": "document_sign_view", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "token", "type": "string", "in": "path", "description": "Domain token", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/documents\/download\/uploaded\/@token": { "get": { "tags": [ "Domains" ], "summary": "Download Document Uploaded", "description": "Download document.", "operationId": "document_download_uploaded", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "token", "type": "string", "in": "path", "description": "Domain token", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/documents\/signed": { "post": { "tags": [ "Domains" ], "summary": "Document Signatured", "description": "Signatured upload", "operationId": "documentSignByToken", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "token", "type": "string", "in": "query", "description": "Domain token" }, { "name": "image", "type": "string", "in": "query", "description": "Signature value" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/vnnic\/promocode": { "post": { "tags": [ "Domains" ], "summary": "Get Coupon VNNIC Free for domain .id.vn and .biz.vn ", "description": "Get a list of all documents.", "operationId": "getPromocode", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Contact ID", "required": true }, { "name": "domain", "type": "string", "in": "path", "description": "domain name", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/certificate": { "get": { "tags": [ "SSL Certificates" ], "summary": "List SSL Certificates", "description": "List all ssl services under your account", "operationId": "certificate", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"sslservices\": [\n {\n \"id\": \"300\",\n \"domain\": \"examplename.com\",\n \"total\": \"27.85\",\n \"status\": \"Pending\",\n \"billingcycle\": \"Annually\",\n \"next_due\": \"2017-12-30\",\n \"category\": \"GoGetSSL\",\n \"category_url\": \"gogetssl\",\n \"name\": \"Comodo InstantSSL\",\n \"cert_email\": \"admin@example.com\",\n \"cert_status\": \"\",\n \"cert_expires\": \"2017-12-30 13:43:12\"\n }\n ]\n}" } } } }, "\/certificate\/@id": { "get": { "tags": [ "SSL Certificates" ], "summary": "Certificate details", "description": "Return details for certificate `@id`", "operationId": "certificate_details", "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\": \"300\",\n \"date_created\": \"2016-12-30\",\n \"domain\": \"examplename.com\",\n \"firstpayment\": \"27.85\",\n \"total\": \"27.85\",\n \"billingcycle\": \"Annually\",\n \"next_due\": \"2017-12-30\",\n \"next_invoice\": \"2017-10-31\",\n \"status\": \"Pending\",\n \"label\": \"\",\n \"name\": \"Comodo InstantSSL\",\n \"cert_status\": \"\",\n \"cert_expires\": \"2017-12-30 13:43:12\",\n \"csr\": \"-----BEGIN CERTIFICATE REQUEST----- ...\",\n \"contacts\": {\n \"admin\": {\n \"FName\": \"Mary\",\n \"LName\": \"Sue\",\n \"City\": \"Santa Rosa\",\n \"State\": \"California\",\n \"PostalCode\": \"95401\",\n \"EmailAddress\": \"mary@example.com\",\n \"Country\": \"US\",\n \"Address1\": \"Pretty View Lane\",\n \"Address2\": \"3194\",\n \"Phone\": 24123223,\n \"OrgName\": \"n\\\/a\",\n \"PreFix\": 1,\n \"JobTitle\": \"n\\\/a\"\n },\n \"billing\": {\n (...)\n },\n \"tech\": {\n (...)\n }\n },\n \"organization\": {\n \"state\": \"Texas\",\n \"country\": \"US\",\n \"name\": \"My Org name\",\n \"unit\": \"Dev\",\n \"locality\": \"SanAntonio\",\n \"postalcode\": \"n\\\/a\",\n \"address2\": \"n\\\/a\",\n \"address1\": \"n\\\/a\",\n },\n \"cert_email\": \"admin@example.com\",\n \"software\": \"1\"\n }\n}" } } } }, "\/certificate\/@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": "id", "type": "integer", "in": "path", "description": "Service id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/certificate\/order": { "get": { "tags": [ "SSL Certificates" ], "summary": "List available certificates", "description": "Return a list with certificate available for purchase", "operationId": "certificate_products", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"products\": [\n {\n \"id\": \"25\",\n \"name\": \"InstantSSL\",\n \"description\": \"\",\n \"periods\": [\n {\n \"years\": 1,\n \"price\": 27.85,\n \"renew\": 27.85\n },\n {\n \"years\": 2,\n \"price\": 48.75,\n \"renew\": 48.75\n }\n ],\n \"category\": \"SSL Certificates\",\n \"category_url\": \"sslcertificates\"\n },\n (...)\n ]\n}" } } }, "post": { "tags": [ "SSL Certificates" ], "summary": "Order new certificates", "description": "Create new order for a certificate", "operationId": "certificate_order", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "product_id", "type": "integer", "in": "query", "description": "Certificate product ID" }, { "name": "csr", "type": "string", "in": "query", "description": "Domain name " }, { "name": "years", "type": "integer", "in": "query", "description": "Number of years" }, { "name": "pay_method", "type": "integer", "in": "query", "description": "Payment method ID" }, { "name": "approver_email", "type": "string", "in": "query", "description": "Email addres used in domain validation" }, { "name": "admin", "type": "integer", "in": "query", "description": "Admin contact ID" }, { "name": "tech", "type": "integer", "in": "query", "description": "Tech contact ID" }, { "name": "billing", "type": "integer", "in": "query", "description": "Billing contact ID" }, { "name": "organization", "type": "array", "in": "query", "description": "Organization details", "items": { "type": "string" } }, { "name": "software", "type": "integer", "in": "query", "description": "Server\/Software ID" }, { "name": "data", "type": "array", "in": "query", "description": "Addditional data required for some products", "items": { "type": "string" } } ], "responses": { "200": { "description": "`Success`" } } } }, "\/certificate\/order\/@product_id\/software": { "get": { "tags": [ "SSL Certificates" ], "summary": "List server software for certificates", "description": "Return a list with software IDs required or certificate", "operationId": "certificate_software", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "product_id", "type": "integer", "in": "path", "description": "Certificate product ID", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"software\": [\n {\n \"id\": 0,\n \"name\": \"AOL\"\n },\n {\n \"id\": 1,\n \"name\": \"Apache-SSL (Ben-SSL, not Stronghold)\"\n },\n (...)\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`" } } } }, "\/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{\r\n \"services\": [\r\n {\r\n \"id\": \"301\",\r\n \"domain\": \"examplename.com\",\r\n \"total\": \"9.99\",\r\n \"status\": \"Pending\",\r\n \"billingcycle\": \"Monthly\",\r\n \"next_due\": \"2017-12-30\",\r\n \"category\": \"Hosting\",\r\n \"category_url\": \"hosting\",\r\n \"name\": \"Starter Hosting\"\r\n }\r\n ]\r\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{\r\n \"service\": {\r\n \"id\": \"301\",\r\n \"date_created\": \"2016-12-30\",\r\n \"domain\": \"examplename.com\",\r\n \"firstpayment\": \"9.99\",\r\n \"total\": \"9.99\",\r\n \"billingcycle\": \"Monthly\",\r\n \"next_due\": \"2017-12-30\",\r\n \"next_invoice\": \"2017-01-27\",\r\n \"status\": \"Active\",\r\n \"label\": \"\",\r\n \"username\": \"examplen\",\r\n \"password\": \"pdtzc\",\r\n \"name\": \"Starter Hosting\"\r\n }\r\n}" } } } }, "\/service\/@id\/vms": { "get": { "tags": [ "Services" ], "summary": "List VMs", "description": "List virtual servers", "operationId": "vms", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } }, "post": { "tags": [ "Services" ], "summary": "Create VM", "description": "Add new virtual server", "operationId": "vms_create", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "label", "type": "string", "in": "query", "description": "VM label" }, { "name": "template", "type": "string", "in": "query", "description": "Template ID" }, { "name": "flavor", "type": "string", "in": "query", "description": "Flavor describing VM cpu and memory size" }, { "name": "disk", "type": "string", "in": "query", "description": "Disk Space in GB" }, { "name": "security_group", "type": "string", "in": "query", "description": "Network security group" }, { "name": "keypair", "type": "string", "in": "query", "description": "SSH Key name" }, { "name": "password", "type": "string", "in": "query", "description": "Password for root user" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid": { "get": { "tags": [ "Services" ], "summary": "Get VM Details", "description": "Get the details of a particular virtual server", "operationId": "vms_get", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "string", "in": "path", "description": "Virtual server id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/stop": { "post": { "tags": [ "Services" ], "summary": "Stop VM", "description": "Stop virtual server", "operationId": "vms_stop", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "string", "in": "path", "description": "Virtual server id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/start": { "post": { "tags": [ "Services" ], "summary": "Start VM", "description": "Start virtual servers", "operationId": "vms_start", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "string", "in": "path", "description": "Virtual server id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/shutdown": { "post": { "tags": [ "Services" ], "summary": "Shutdown VM", "description": "Perform graceful shutdown", "operationId": "vms_shutdown", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "string", "in": "path", "description": "Virtual server id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/reboot": { "post": { "tags": [ "Services" ], "summary": "Reboot VM", "description": "Reboot virtual servers", "operationId": "vms_reboot", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "string", "in": "path", "description": "Virtual server id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/reset": { "post": { "tags": [ "Services" ], "summary": "Reset VM", "description": "Reset virtual servers power", "operationId": "vms_reset", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "string", "in": "path", "description": "Virtual server id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/rebuild": { "post": { "tags": [ "Services" ], "summary": "Rebuild VM", "description": "Rebuild server, you can get list of templates supported by this server\nusing '''\/service\/$id\/vms\/$vmid\/rebuild'''", "operationId": "vms_rebuild", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "integer", "in": "path", "required": true }, { "name": "template", "type": "string", "in": "query", "description": "Template ID" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/ips": { "get": { "tags": [ "Services" ], "summary": "List IPs", "description": "List virtual machine IPs", "operationId": "vm_interface_list_ip", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "integer", "in": "path", "required": true }, { "name": "type", "type": "", "in": "query", "description": "string ipv4 or ipv6" }, { "name": "iface", "type": "", "in": "query", "description": "int Interface number [optional]" }, { "name": "bridge", "type": "", "in": "query", "description": "string Bridge name [optional, ignored if interface provided]" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/ippool": { "get": { "tags": [ "Services" ], "summary": "List IPs", "description": "List virtual machine IPs", "operationId": "vm_interface_list_iplist", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "integer", "in": "path", "required": true }, { "name": "iface", "type": "", "in": "query", "description": "int Interface number [optional]" }, { "name": "bridge", "type": "", "in": "query", "description": "string Bridge name [optional, ignored if interface provided]" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/ippool\/@pool": { "post": { "tags": [ "Services" ], "summary": "Assign IPs", "description": "Assign new IP for network interface.", "operationId": "vm_interface_allocate_ip", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "integer", "in": "path", "required": true }, { "name": "pool", "type": "", "in": "path", "description": "string|int List ID to allocate new IP from", "required": true }, { "name": "type", "type": "", "in": "query", "description": "string ipv4 or ipv6" }, { "name": "iface", "type": "", "in": "query", "description": "int Interface number" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/interfaces": { "get": { "tags": [ "Services" ], "summary": "List VM Network Interfaces", "description": "Get network Interfaces assigned to virtual servers", "operationId": "vm_interface_list", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "integer", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } }, "post": { "tags": [ "Services" ], "summary": "Add Network Interface", "description": "Add new network interface to VM", "operationId": "vm_interface_create", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "integer", "in": "path", "required": true }, { "name": "firewall", "type": "", "in": "query", "description": "int Enable or disable firewall (may require specific permissions)" }, { "name": "ipv4", "type": "", "in": "query", "description": "int[] List of IP v4 IDs" }, { "name": "ipv6", "type": "", "in": "query", "description": "int[] List of IP v6 IDs" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/interfaces\/@iface": { "get": { "tags": [ "Services" ], "summary": "Get Network Interfaces", "description": "Get network Interface details", "operationId": "vm_interface_details", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "integer", "in": "path", "required": true }, { "name": "iface", "type": "", "in": "path", "description": "string Interface name or id, ie '0' or 'net0'", "required": true } ], "responses": { "200": { "description": "`Success`" } } }, "put": { "tags": [ "Services" ], "summary": "Update Network Interfaces", "description": "Update network interface details", "operationId": "vm_interface_update", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "integer", "in": "path", "required": true }, { "name": "iface", "type": "", "in": "path", "description": "int Interface number", "required": true }, { "name": "firewall", "type": "", "in": "query", "description": "int Enable or disable firewall (may require specific permissions)" }, { "name": "ipv4", "type": "", "in": "query", "description": "int[] List of IP v4 IDs" }, { "name": "ipv6", "type": "", "in": "query", "description": "int[] List of IP v6 IDs" } ], "responses": { "200": { "description": "`Success`" } } }, "delete": { "tags": [ "Services" ], "summary": "Remove Network Interface", "description": "Remove network interface from VM", "operationId": "vm_interface_remove", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "integer", "in": "path", "required": true }, { "name": "iface", "type": "string", "in": "path", "required": true }, { "name": "list", "type": "", "in": "query", "description": "string|int List to allocate new IP from" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/templates": { "get": { "tags": [ "Services" ], "summary": "List OS templates", "description": "List templates that can be used to create virtual server", "operationId": "templates", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/resources": { "get": { "tags": [ "Services" ], "summary": "Resources", "description": "Show available and used resources", "operationId": "resources", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/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": "id", "type": "integer", "in": "path", "description": "Service ID", "required": true }, { "name": "ipaddress", "type": "array", "in": "query", "description": "Use Ip address as parameter key and hostname as value", "items": { "type": "string" } } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/rescue": { "post": { "tags": [ "Services" ], "summary": "Rescue VM", "description": "Reboot virtual servers into rescue mode.", "operationId": "vms_rescue", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "string", "in": "path", "description": "Virtual server id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/vms\/@vmid\/unrescue": { "post": { "tags": [ "Services" ], "summary": "Unrescue VM", "description": "Disable rescue mode for server.", "operationId": "vms_unrescue", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "vmid", "type": "string", "in": "path", "description": "Virtual server id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/order\/@product_id": { "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" } ], "responses": { "200": { "description": "`Success`" } } }, "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{\r\n \"product\": {\r\n \"id\": \"333\",\r\n \"category_name\": \"Hosting\",\r\n \"category_id\": \"49\",\r\n \"name\": \"Starter Hosting\",\r\n \"price\": 9.99,\r\n \"recurring\": \"m\",\r\n \"setup\": 0,\r\n \"config\": {\r\n \"product\": [\r\n {\r\n \"type\": \"select\",\r\n \"title\": \"pickcycle\",\r\n \"id\": \"cycle\",\r\n \"name\": \"cycle\",\r\n \"items\": [\r\n {\r\n \"title\": \"m\",\r\n \"value\": \"m\",\r\n \"price\": 9.99,\r\n \"setup\": 0,\r\n \"selected\": true\r\n },\r\n {\r\n \"title\": \"a\",\r\n \"value\": \"a\",\r\n \"price\": 109.89,\r\n \"setup\": 0,\r\n \"selected\": false\r\n },\r\n {\r\n \"title\": \"b\",\r\n \"value\": \"b\",\r\n \"price\": 199.8,\r\n \"setup\": 0,\r\n \"selected\": false\r\n },\r\n {\r\n \"title\": \"t\",\r\n \"value\": \"t\",\r\n \"price\": 299.7,\r\n \"setup\": 0,\r\n \"selected\": false\r\n }\r\n ],\r\n \"value\": \"m\",\r\n \"price\": 9.99,\r\n \"setup\": 0\r\n },\r\n {\r\n \"type\": \"input\",\r\n \"title\": \"domain\",\r\n \"id\": \"domain\",\r\n \"name\": \"domain\",\r\n \"value\": null\r\n }\r\n ],\r\n \"forms\": [\r\n {\r\n \"type\": \"select\",\r\n \"title\": \"Disk Size\",\r\n \"id\": \"1618\",\r\n \"firstItemId\": 10330,\r\n \"description\": \"\",\r\n \"name\": \"custom[1618]\",\r\n \"required\": false,\r\n \"multiple\": false,\r\n \"config\": {\r\n \"conditionals\": []\r\n },\r\n \"value\": [],\r\n \"textvalue\": [],\r\n \"price\": 0,\r\n \"recurring_price\": 0,\r\n \"setup\": 0,\r\n \"prorata_date\": null,\r\n \"items\": [\r\n {\r\n \"title\": \"512MB\",\r\n \"value\": 1,\r\n \"id\": 10330,\r\n \"price\": 0,\r\n \"setup\": 0,\r\n \"selected\": false\r\n },\r\n {\r\n \"title\": \"1GB\",\r\n \"value\": 1,\r\n \"id\": 10331,\r\n \"price\": 0,\r\n \"setup\": 0,\r\n \"selected\": false\r\n },\r\n {\r\n \"title\": \"2GB\",\r\n \"value\": 1,\r\n \"id\": 10332,\r\n \"price\": 0,\r\n \"setup\": 0,\r\n \"selected\": false\r\n }\r\n ]\r\n },\r\n (...)\r\n ],\r\n \"addons\": [\r\n {\r\n \"type\": \"subitem\",\r\n \"title\": \"Cpanel2: Add Extra IP\",\r\n \"id\": \"31\",\r\n \"value\": null,\r\n \"description\": \"Automatically adds IP address to account\",\r\n \"config\": [\r\n {\r\n \"type\": \"checkbox\",\r\n \"title\": \"add\",\r\n \"name\": \"addon[31]\",\r\n \"checked\": false\r\n },\r\n {\r\n \"type\": \"select\",\r\n \"title\": \"billingcycle\",\r\n \"name\": \"addon_cycles[31]\",\r\n \"items\": [\r\n {\r\n \"title\": \"m\",\r\n \"value\": \"m\",\r\n \"price\": 5,\r\n \"setup\": 0,\r\n \"selected\": true\r\n },\r\n {\r\n \"title\": \"q\",\r\n \"value\": \"q\",\r\n \"price\": 20,\r\n \"setup\": 0,\r\n \"selected\": false\r\n },\r\n {\r\n \"title\": \"a\",\r\n \"value\": \"a\",\r\n \"price\": 50,\r\n \"setup\": 0,\r\n \"selected\": false\r\n }\r\n ]\r\n }\r\n ],\r\n \"price\": 0,\r\n \"recurring_price\": 0,\r\n \"setup\": 0,\r\n \"prorata_date\": null\r\n },\r\n (...)\r\n ],\r\n \"subproducts\": []\r\n },\r\n \"recurring_price\": 9.99,\r\n \"prorata_date\": null\r\n }\r\n}" } } } }, "\/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
• `POST \/certificate\/order` - use `certificate` 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": "items", "type": "array", "in": "query", "description": "list with order items", "items": { "type": "string" } } ], "responses": { "200": { "description": "`Success`" } } } }, "\/quote": { "post": { "tags": [ "Cart" ], "summary": "Get order quote", "description": "Calculate order cost and recuring 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": "items", "type": "array", "in": "query", "description": "list with order items", "items": { "type": "string" } } ], "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{\r\n \"categories\": [\r\n {\r\n \"id\": \"10\",\r\n \"name\": \"Hosting\",\r\n \"description\": \"\",\r\n \"slug\": \"hosting\"\r\n },\r\n {\r\n \"id\": \"6\",\r\n \"name\": \"Domains\",\r\n \"description\": \"\",\r\n \"slug\": \"domains\"\r\n },\r\n {\r\n \"id\": \"16\",\r\n \"name\": \"Dedicated\",\r\n \"description\": \"\",\r\n \"slug\": \"dedicated\"\r\n }\r\n ]\r\n}" } } } }, "\/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": { "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`" } } } }, "\/location\/countries": { "get": { "tags": [ "Location" ], "summary": "countries List", "description": "Return currencies details", "operationId": "getCountries", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/location\/@code\/state": { "get": { "tags": [ "Location" ], "summary": "Get state", "description": "", "operationId": "getState", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "code", "type": "string", "in": "path", "description": "Country Code", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/location\/state\/@id\/city": { "get": { "tags": [ "Location" ], "summary": "Get city", "description": "", "operationId": "getCity", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "State id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "GET \/location\/state\/city\/@name": { "get": { "tags": [ "Location" ], "summary": "Get city by State Name", "description": "", "operationId": "getCityByStateName", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "name", "type": "string", "in": "path", "description": "State name", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/location\/city\/@id\/ward": { "get": { "tags": [ "Location" ], "summary": "Get ward", "description": "", "operationId": "getWard", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "City id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/location\/city\/ward\/@name": { "get": { "tags": [ "Location" ], "summary": "Get ward by City Name", "description": "", "operationId": "getWardbyCityName", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "name", "type": "string", "in": "path", "description": "City name", "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": "Optional, allows you to login as contact" }, "refresh_token": { "type": "string" }, "type": { "type": "string", "description": "Account Type" }, "companyname": { "type": "string", "description": "Organization" }, "taxid": { "type": "string" }, "gender": { "type": "string", "description": "gender" }, "lastname": { "type": "string", "description": "Last Name" }, "firstname": { "type": "string", "description": "First Name" }, "email": { "type": "string", "description": "Email Address" }, "phonenumber": { "type": "string", "description": "Phone" }, "zalonumber": { "type": "string", "description": "Zalo - S\u1ed1 \u0111i\u1ec7n tho\u1ea1i s\u1eed d\u1ee5ng Zalo N\u1ebfu qu\u00fd kh\u00e1ch \u0111\u1ed3ng \u00fd nh\u1eadn th\u00f4ng b\u00e1o d\u1ecbch v\u1ee5 h\u1ebft h\u1ea1n, ho\u00e1 \u0111\u01a1n qua tin nh\u1eafn Zalo" }, "nationalid": { "type": "string", "description": "CCCD\/Passport" }, "birthday": { "type": "string", "description": "Ng\u00e0y sinh (ng\u00e0y-th\u00e1ng-n\u0103m)" }, "country": { "type": "string", "description": "Country" }, "state": { "type": "string", "description": "State" }, "city": { "type": "string", "description": "City" }, "ward": { "type": "string", "description": "X\u00e3\/Ph\u01b0\u1eddng" }, "address1": { "type": "string", "description": "Address 1" }, "currency": { "type": "string", "description": "Currency" }, "privileges": { "type": "array", "items": { "type": "string" }, "description": "Array with privileges that you want to enable. Formatted the same way as output from GET \/contact\/privileges<\/code>" }, "postcode": { "type": "string", "description": "Post code" }, "telegramnotifications": { "type": "array", "description": "Telegram" }, "zalonotifications": { "type": "array", "description": "T\u1eaft th\u00f4ng b\u00e1o Zalo - M\u1eb7c \u0111\u1ecbnh qu\u00fd kh\u00e1ch s\u1ebd nh\u1eadn \u0111\u01b0\u1ee3c th\u00f4ng b\u00e1o ho\u00e1 \u0111\u01a1n qua Zalo, trong tr\u01b0\u1eddng h\u1ee3p qu\u00fd kh\u00e1ch kh\u00f4ng mu\u1ed1n nh\u1eadn th\u00f4ng b\u00e1o, qu\u00fd kh\u00e1ch c\u00f3 th\u1ec3 Tick ch\u1ecdn \u0111\u1ec3 t\u1eaft" }, "id": { "type": "integer" }, "rel_type": { "type": "string", "description": "Optional, return only by relation type" }, "rel_id": { "type": "string", "description": "Optional, return only by relation id" }, "status": { "type": "string" }, "request_id": { "type": "string", "description": "Request id" }, "image": { "type": "string", "description": "Imagr card" }, "image_live": { "type": "string", "description": "Live Face Image" }, "image_live_1 ": { "type": "string", "description": "Live Face Image" }, "image_live_2": { "type": "string", "description": "Live Face Image" }, "image_live_3": { "type": "string", "description": "Live Face Image" }, "image_card": { "type": "string", "description": "Image card" } } }, "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": { "dept_id": { "type": "integer", "description": "Department id " }, "subject": { "type": "string", "description": "Ticket subject " }, "body": { "type": "string", "description": "Reply message " }, "number": { "type": "integer", "description": "Ticket number" }, "file": { "type": "string", "description": "Attachment id" } } }, "Domains": { "type": "object", "properties": { "name": { "type": "string", "description": "Domain name " }, "id": { "type": "integer", "description": "Contact ID" }, "nameservers": { "type": "array", "items": { "type": "string" }, "description": "Optional array with 2 - 4 nameservers that you want to use" }, "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" }, "domain": { "type": "string", "description": "domain name" }, "documentid": { "type": "integer", "description": "Document ID" }, "filename": { "type": "string", "description": "File name, for example: myfile.pdf" }, "content": { "type": "string", "description": "File content, must be base64 encoded content." }, "token": { "type": "string", "description": "Domain token" }, "image": { "type": "string", "description": "Signature value" } } }, "SSL Certificates": { "type": "object", "properties": { "id": { "type": "integer", "description": "Service id" }, "product_id": { "type": "integer", "description": "Certificate product ID" }, "csr": { "type": "string", "description": "Domain name " }, "years": { "type": "integer", "description": "Number of years" }, "pay_method": { "type": "integer", "description": "Payment method ID" }, "approver_email": { "type": "string", "description": "Email addres used in domain validation" }, "admin": { "type": "integer", "description": "Admin contact ID" }, "tech": { "type": "integer", "description": "Tech contact ID" }, "billing": { "type": "integer", "description": "Billing contact ID" }, "organization": { "type": "array", "items": { "type": "string" }, "description": "Organization details" }, "software": { "type": "integer", "description": "Server\/Software ID" }, "data": { "type": "array", "items": { "type": "string" }, "description": "Addditional data required for some products" } } }, "Services": { "type": "object", "properties": { "id": { "type": "integer" }, "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": "VM label" }, "vmid": { "type": "string", "description": "Virtual server id" }, "template": { "type": "string", "description": "Template ID" }, "type": { "type": "", "description": "string ipv4 or ipv6" }, "iface": { "type": "string" }, "bridge": { "type": "", "description": "string Bridge name [optional, ignored if interface provided]" }, "pool": { "type": "", "description": "string|int List ID to allocate new IP from" }, "firewall": { "type": "", "description": "int Enable or disable firewall (may require specific permissions)" }, "ipv4": { "type": "", "description": "int[] List of IP v4 IDs" }, "ipv6": { "type": "", "description": "int[] List of IP v6 IDs" }, "list": { "type": "", "description": "string|int List to allocate new IP from" }, "ipaddress": { "type": "array", "items": { "type": "string" }, "description": "Use Ip address as parameter key and hostname as value" }, "flavor": { "type": "string", "description": "Flavor describing VM cpu and memory size" }, "disk": { "type": "string", "description": "Disk Space in GB" }, "security_group": { "type": "string", "description": "Network security group" }, "keypair": { "type": "string", "description": "SSH Key name" }, "password": { "type": "string", "description": "Password for root user" } } }, "Cart": { "type": "object", "properties": { "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" }, "items": { "type": "array", "items": { "type": "string" }, "description": "list with order items" } } }, "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" } } }, "Location": { "type": "object", "properties": { "code": { "type": "string", "description": "Country Code" }, "id": { "type": "integer", "description": "City id" }, "name": { "type": "string", "description": "City name" } } } }, "externalDocs": { "description": "Find out more about UserAPI", "url": "https:\/\/my.bkns.net\/?cmd=userapi" } }