{ "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.20231102", "title": "IVRY GmbH User API" }, "host": "my.ivry.eu", "basePath": "\/api", "tags": [ { "name": "Clientarea" }, { "name": "Billing" }, { "name": "Support" }, { "name": "Domains" }, { "name": "SSL Certificates" }, { "name": "Services" }, { "name": "Cart" }, { "name": "DNS" } ], "schemes": [ "https" ], "paths": { "\/login": { "post": { "tags": [ "Clientarea" ], "summary": "Login", "description": "Generate new authorization token", "operationId": "getToken", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "username", "type": "string", "in": "query", "description": "Your acount email address " }, { "name": "password", "type": "string", "in": "query", "description": "Account password " } ], "responses": { "200": { "description": "`Success`" } } } }, "\/logout": { "post": { "tags": [ "Clientarea" ], "summary": "Logout", "description": "Invalidate authorization token", "operationId": "dropToken", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/token": { "post": { "tags": [ "Clientarea" ], "summary": "Refresh Token", "description": "Generate new authorization token using refresh token", "operationId": "refreshToken", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "refresh_token", "type": "string", "in": "query", "description": "Refresh token previously obtained from `POST \/login`" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/revoke": { "post": { "tags": [ "Clientarea" ], "summary": "Revoke Token", "description": "Invalidate authorization and refresh token.\nPass refresh token or call this method with valid access token", "operationId": "revokeToken", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "refresh_token", "type": "string", "in": "query" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/details": { "get": { "tags": [ "Clientarea" ], "summary": "User Details", "description": "Return registration details for my account", "operationId": "getDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"client\": {\n \"id\": \"26\",\n \"email\": \"api@example.com\",\n \"lastlogin\": \"2016-12-30 12:24:28\",\n \"ip\": \"172.100.2.1\",\n \"host\": \"hostname\",\n \"firstname\": \"Joe\",\n \"lastname\": \"Doe\",\n \"companyname\": \"\",\n \"address1\": \"Pretty View Lane\",\n \"address2\": \"3294\",\n \"city\": \"Santa Rosa\",\n \"state\": \"California\",\n \"postcode\": \"95401\",\n \"country\": \"US\",\n \"phonenumber\": \"+1.24123123\"\n }\n}" } } }, "put": { "tags": [ "Clientarea" ], "summary": "Update User Details", "description": "Update registration details under my account", "operationId": "postDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "email", "type": "string", "in": "query", "description": "Email Address" }, { "name": "firstname", "type": "string", "in": "query", "description": "First Name" }, { "name": "lastname", "type": "string", "in": "query", "description": "Last Name" }, { "name": "type", "type": "string", "in": "query", "description": "Account Type - Der Name Deine Organisation wird sp\u00e4ter auf Rechnungen angezeigt", "enum": [ "Private", "Company" ] }, { "name": "companyname", "type": "string", "in": "query", "description": "Organization" }, { "name": "vateu", "type": "string", "in": "query", "description": "USt-ID (VAT EU)" }, { "name": "address1", "type": "string", "in": "query", "description": "Address 1" }, { "name": "address2", "type": "string", "in": "query", "description": "Address 2" }, { "name": "city", "type": "string", "in": "query", "description": "City" }, { "name": "postcode", "type": "string", "in": "query", "description": "Post code" }, { "name": "country", "type": "string", "in": "query", "description": "Country" }, { "name": "phonenumber", "type": "string", "in": "query", "description": "Phone" }, { "name": "u2fauth", "type": "array", "in": "query", "description": "Zwei-Faktor-Auth (U2F) - F\u00fcge U2F Key zu Deinem Konto hinzu um Deinen Account vor Drittzugriff zu sch\u00fctzen (Voraussetzung: U2F USB\/NFC Key)", "items": { "type": "string" }, "enum": [ "Aktivieren" ] }, { "name": "woherkennstduuns", "type": "string", "in": "query", "description": "Woher kennst Du uns? - Von Bekannten, Freunden, Empfehlungen, Werbung und so weiter... :)" }, { "name": "mobilephone", "type": "string", "in": "query", "description": "Handynummer - Um SMS-Benachrichtigungen \u00fcber Deine Dienste bei uns zu erhalten, kannst Du hier eine Handynummer angeben. Beginnend mit der L\u00e4ndervorwahl, d.h. +49" }, { "name": "telegramnotifications", "type": "array", "in": "query", "description": "Telegram Bot Benachrichtigungen - Erstelle einen Telegram Bot der Dich \u00fcber s\u00e4mtliche Benachrichtigungen zu Deinem Account auf dem Laufenden h\u00e4lt", "items": { "type": "string" }, "enum": [ "Aktivieren" ] } ], "responses": { "200": { "description": "`Success`" } } } }, "\/affiliates\/summary": { "get": { "tags": [ "Clientarea" ], "summary": "Get Affiliate summary", "description": "", "operationId": "affiliates_summary", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/affiliates\/campaigns": { "get": { "tags": [ "Clientarea" ], "summary": "Get Affiliate campaigns", "description": "", "operationId": "affiliates_campaigns", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/affiliates\/commissions": { "get": { "tags": [ "Clientarea" ], "summary": "Get Affiliate commissions", "description": "", "operationId": "affiliates_commissions", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/affiliates\/payouts": { "get": { "tags": [ "Clientarea" ], "summary": "Get Affiliate payouts", "description": "", "operationId": "affiliates_payouts", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/affiliates\/vouchers": { "get": { "tags": [ "Clientarea" ], "summary": "Get Affiliate vouchers", "description": "", "operationId": "affiliates_vouchers", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/affiliates\/commissionplans": { "get": { "tags": [ "Clientarea" ], "summary": "Get Affiliate commission plans", "description": "", "operationId": "affiliates_commission_plans", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/contact": { "get": { "tags": [ "Clientarea" ], "summary": "List contacts", "description": "Return a list of contacts on this account", "operationId": "profiles", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"contacts\": [\n {\n \"email\": \"mary@example.com\",\n \"id\": \"49\",\n \"firstname\": \"Mary\",\n \"lastname\": \"Sue\",\n \"companyname\": \"\",\n \"company\": \"0\",\n \"lastlogin\": \"0000-00-00 00:00:00\"\n }\n ]\n}" } } }, "post": { "tags": [ "Clientarea" ], "summary": "Add contact", "description": "Create new contact account, if password is provided you\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": "email", "type": "string", "in": "query", "description": "Email Address" }, { "name": "firstname", "type": "string", "in": "query", "description": "First Name" }, { "name": "lastname", "type": "string", "in": "query", "description": "Last Name" }, { "name": "type", "type": "string", "in": "query", "description": "Account Type - Der Name Deine Organisation wird sp\u00e4ter auf Rechnungen angezeigt", "enum": [ "Private", "Company" ] }, { "name": "companyname", "type": "string", "in": "query", "description": "Organization" }, { "name": "vateu", "type": "string", "in": "query", "description": "USt-ID (VAT EU)" }, { "name": "address1", "type": "string", "in": "query", "description": "Address 1" }, { "name": "address2", "type": "string", "in": "query", "description": "Address 2" }, { "name": "city", "type": "string", "in": "query", "description": "City" }, { "name": "postcode", "type": "string", "in": "query", "description": "Post code" }, { "name": "country", "type": "string", "in": "query", "description": "Country" }, { "name": "phonenumber", "type": "string", "in": "query", "description": "Phone" }, { "name": "u2fauth", "type": "array", "in": "query", "description": "Zwei-Faktor-Auth (U2F) - F\u00fcge U2F Key zu Deinem Konto hinzu um Deinen Account vor Drittzugriff zu sch\u00fctzen (Voraussetzung: U2F USB\/NFC Key)", "items": { "type": "string" }, "enum": [ "Aktivieren" ] }, { "name": "woherkennstduuns", "type": "string", "in": "query", "description": "Woher kennst Du uns? - Von Bekannten, Freunden, Empfehlungen, Werbung und so weiter... :)" }, { "name": "mobilephone", "type": "string", "in": "query", "description": "Handynummer - Um SMS-Benachrichtigungen \u00fcber Deine Dienste bei uns zu erhalten, kannst Du hier eine Handynummer angeben. Beginnend mit der L\u00e4ndervorwahl, d.h. +49" }, { "name": "telegramnotifications", "type": "array", "in": "query", "description": "Telegram Bot Benachrichtigungen - Erstelle einen Telegram Bot der Dich \u00fcber s\u00e4mtliche Benachrichtigungen zu Deinem Account auf dem Laufenden h\u00e4lt", "items": { "type": "string" }, "enum": [ "Aktivieren" ] } ], "responses": { "200": { "description": "`Success`" } } } }, "\/contact\/privileges": { "get": { "tags": [ "Clientarea" ], "summary": "Contact privileges", "description": "List possible contact privileges.\nEach domain and service may list additional privileges, depending on available features.
", "operationId": "profile_privs", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"privileges\": {\n \"billing\": [\n \"emails\", \/\/ Receive billing notifications\n \"payinvoice\", \/\/ Allow to view\/pay invoices\n \"orders\", \/\/ Allow to place new orders\n \"balance\", \/\/ View account balance\n \"addfunds\", \/\/ Add account funds\n \"creditcard\" \/\/ Edit Credit Card details\n ],\n \"support\": [\n \"newticket\", \/\/ Open new tickets\n \"tickets\", \/\/ View all tickets\n \"closeticket\", \/\/ Close tickets\n \"emails\" \/\/ Receive email notifications from support\n ],\n \"misc\": [\n \"editmain\", \/\/ Modify main profile details\n \"emails\", \/\/ View emails history\n \"editipaccess\", \/\/ Edit allowed IP access\n \"manageprofiles\", \/\/ Add \/ Edit contacts\n \"affiliates\" \/\/ Access affiliates section\n ],\n \"services\": {\n \"full\": 1, \/\/ Full control over services\n \"332\": [\n \"basic\", \/\/ View basic details\n \"billing\", \/\/ View billing info\n \"cancelation\", \/\/ Request cancellation\n \"upgrade\", \/\/ Upgrade \/ Downgrade\n \"notify\", \/\/ Receive related email notifications \n (...)\n \"logindetails\"\n ]\n },\n \"domains\": {\n \"full\": 1, \/\/ Full control over domains\n \"523\": [\n \"basic\", \/\/ View basic details\n \"renew\", \/\/ Renew domain\n \"notify\", \/\/ Receive related email notifications \n \"contactinfo\", \/\/ Contact Information\n (...)\n \"nameservers\" \/\/ Manage Nameservers\n ]\n }\n }\n}" } } } }, "\/contact\/@id": { "get": { "tags": [ "Clientarea" ], "summary": "Get contacts details", "description": "Return array with contact details", "operationId": "profile_data", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Contact ID", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"contact\": {\n \"id\": \"49\",\n \"email\": \"mary@example.com\",\n \"firstname\": \"Mary\",\n \"lastname\": \"Sue\",\n \"companyname\": \"\",\n \"address1\": \"Pretty View Lane\",\n \"address2\": \"3194\",\n \"city\": \"Santa Rosa\",\n \"state\": \"California\",\n \"postcode\": \"95401\",\n \"country\": \"US\",\n \"phonenumber\": \"+1.24123123\",\n \"type\": \"Private\",\n \"privileges\" : {\n \"support\" : [\"tickets\", \"newticket\"]\n }\n }\n}" } } }, "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": "email", "type": "string", "in": "query", "description": "Email Address" }, { "name": "firstname", "type": "string", "in": "query", "description": "First Name" }, { "name": "lastname", "type": "string", "in": "query", "description": "Last Name" }, { "name": "type", "type": "string", "in": "query", "description": "Account Type - Der Name Deine Organisation wird sp\u00e4ter auf Rechnungen angezeigt", "enum": [ "Private", "Company" ] }, { "name": "companyname", "type": "string", "in": "query", "description": "Organization" }, { "name": "vateu", "type": "string", "in": "query", "description": "USt-ID (VAT EU)" }, { "name": "address1", "type": "string", "in": "query", "description": "Address 1" }, { "name": "address2", "type": "string", "in": "query", "description": "Address 2" }, { "name": "city", "type": "string", "in": "query", "description": "City" }, { "name": "postcode", "type": "string", "in": "query", "description": "Post code" }, { "name": "country", "type": "string", "in": "query", "description": "Country" }, { "name": "phonenumber", "type": "string", "in": "query", "description": "Phone" }, { "name": "u2fauth", "type": "array", "in": "query", "description": "Zwei-Faktor-Auth (U2F) - F\u00fcge U2F Key zu Deinem Konto hinzu um Deinen Account vor Drittzugriff zu sch\u00fctzen (Voraussetzung: U2F USB\/NFC Key)", "items": { "type": "string" }, "enum": [ "Aktivieren" ] }, { "name": "woherkennstduuns", "type": "string", "in": "query", "description": "Woher kennst Du uns? - Von Bekannten, Freunden, Empfehlungen, Werbung und so weiter... :)" }, { "name": "mobilephone", "type": "string", "in": "query", "description": "Handynummer - Um SMS-Benachrichtigungen \u00fcber Deine Dienste bei uns zu erhalten, kannst Du hier eine Handynummer angeben. Beginnend mit der L\u00e4ndervorwahl, d.h. +49" }, { "name": "telegramnotifications", "type": "array", "in": "query", "description": "Telegram Bot Benachrichtigungen - Erstelle einen Telegram Bot der Dich \u00fcber s\u00e4mtliche Benachrichtigungen zu Deinem Account auf dem Laufenden h\u00e4lt", "items": { "type": "string" }, "enum": [ "Aktivieren" ] } ], "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`" } } } }, "\/balance": { "get": { "tags": [ "Billing" ], "summary": "Account balance", "description": "Get current account balance(unpaid invoices total), account credit", "operationId": "getBalance", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n {\n \"success\": true,\n \"details\": {\n \"currency\": \"USD\",\n \"acc_balance\": \"123456.55\",\n \"acc_credit\": \"0.00\"\n }\n }\n}" } } } }, "\/invoice": { "get": { "tags": [ "Billing" ], "summary": "List Invoices", "description": "List all invoices under my account", "operationId": "getInvoices", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"invoices\": [\n {\n \"id\": \"308976\",\n \"date\": \"2016-12-30\",\n \"dateorig\": \"2016-12-30\",\n \"duedate\": \"2017-01-06\",\n \"paybefore\": \"2017-01-06\",\n \"total\": \"19.65\",\n \"datepaid\": \"2016-12-30 12:40:47\",\n \"status\": \"Paid\",\n \"merge_id\": null,\n \"number\": \"2016\\\/12\\\/1\",\n \"currency\": \"USD\"\n }\n ]\n}" } } } }, "\/invoice\/@id": { "get": { "tags": [ "Billing" ], "summary": "Invoice Details", "description": "Get invoice details", "operationId": "getInvoiceDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"invoice\": {\n \"id\": \"308976\",\n \"status\": \"Paid\",\n \"date\": \"2016-12-30\",\n \"duedate\": \"2017-01-06\",\n \"paybefore\": \"2017-01-06\",\n \"datepaid\": \"2016-12-30 12:40:47\",\n \"subtotal\": 16.24,\n \"credit\": 0,\n \"tax\": 3.41,\n \"taxrate\": 21,\n \"tax2\": 0,\n \"taxrate2\": 0,\n \"taxexempt\": \"0\",\n \"total\": 19.65,\n \"rate\": 1,\n \"rate2\": 0,\n \"rate3\": 1,\n \"notes\": \"\",\n \"items\": [\n {\n \"id\": \"12305\",\n \"invoice_id\": \"308976\",\n \"type\": \"Other\",\n \"item_id\": \"0\",\n \"description\": \"Example Service\",\n \"amount\": \"15.00\",\n \"taxed\": \"1\",\n \"qty\": \"1.00\",\n \"linetotal\": \"15.00\"\n },\n {\n \"id\": \"12309\",\n \"invoice_id\": \"308976\",\n \"type\": \"Other\",\n \"item_id\": \"-2\",\n \"description\": \"PayPal Payment Fee\",\n \"amount\": \"1.24\",\n \"taxed\": \"1\",\n \"qty\": \"1.00\",\n \"linetotal\": \"1.24\"\n }\n ],\n \"client\": {\n \"id\": \"26\",\n \"email\": \"api@example.com\",\n \"firstname\": \"Joe\",\n \"lastname\": \"Doe\",\n \"companyname\": \"\",\n \"address1\": \"Pretty View Lane\",\n \"address2\": \"3194\",\n \"city\": \"Santa Rosa\",\n \"state\": \"California\",\n \"postcode\": \"95401\",\n \"country\": \"US\",\n \"phonenumber\": \"+1.24123123\"\n },\n \"number\": \"2016\\\/12\\\/1\",\n \"currency\": \"USD\"\n }\n}" } } } }, "\/invoice\/@id\/credit": { "post": { "tags": [ "Billing" ], "summary": "Apply credit", "description": "Apply account credit to invoice", "operationId": "applyCreditToInvoice", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "amount", "type": "number", "in": "query", "description": "Optional credit amount, when no value is specified maximum amount to fully pay the invoice will be used" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/payment": { "get": { "tags": [ "Billing" ], "summary": "Payment Methods", "description": "List available payment methods", "operationId": "paymethod", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"payments\": {\n \"10\": \"BankTransfer\",\n \"9\": \"PayPal\"\n }\n}" } } } }, "\/payment\/fees": { "get": { "tags": [ "Billing" ], "summary": "Payment Methods Fees", "description": "List available payment methods with fees", "operationId": "paymethod_fee", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"payments\": [\n {\n \"id\": 1,\n \"name\": \"Bank Transfer\",\n \"fixed_fee\": \"0.0\",\n \"percent_fee\": \"0.0\",\n },\n {\n \"id\": 2,\n \"name\": \"Stripe\",\n \"fixed_fee\": \"0.5\",\n \"percent_fee\": \"2.9\",\n },\n {\n \"id\": 4,\n \"name\": \"Credit Card\",\n \"fixed_fee\": \"0.1\",\n \"percent_fee\": \"2.4\"\n },\n {\n \"id\": 5,\n \"name\": \"PayPal\",\n \"fixed_fee\": \"0.3\",\n \"percent_fee\": \"2.9\"\n }\n ]\n}" } } } }, "\/tickets": { "get": { "tags": [ "Support" ], "summary": "List Tickets", "description": "List support tickets under my account", "operationId": "getTickets", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"tickets\": [\n {\n \"client_read\": \"1\",\n \"ticket_number\": \"736633\",\n \"date\": \"2016-12-30 12:48:13\",\n \"deptname\": \"Billing\",\n \"subject\": \"Lore Ipsum\",\n \"status\": \"Open\"\n }\n ]\n}" } } }, "post": { "tags": [ "Support" ], "summary": "Create Ticket", "description": "Submit new ticket", "operationId": "createTicket", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "dept_id", "type": "integer", "in": "query", "description": "Department id " }, { "name": "subject", "type": "string", "in": "query", "description": "Ticket subject " }, { "name": "body", "type": "string", "in": "query", "description": "Ticket message " } ], "responses": { "200": { "description": "`Success`" } } } }, "\/tickets\/@number": { "get": { "tags": [ "Support" ], "summary": "Ticket details", "description": "Get ticket details, including all replies", "operationId": "getTicketDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "number", "type": "integer", "in": "path", "description": "Ticket number", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"ticket\": {\n \"date\": \"2016-12-30 12:48:13\",\n \"ticket_number\": \"736633\",\n \"name\": \"Joe Doe\",\n \"email\": \"api@example.com\",\n \"subject\": \"Lore Ipsum\",\n \"body\": \"Donec sollicitudin molestie malesuada. \\r\\nSed porttitor lectus nibh. Vivamus magna justo, \\r\\nlacinia eget consectetur sed, convallis at tellus.\",\n \"status\": \"Answered\",\n \"client_read\": \"1\",\n \"deptname\": \"Billing\"\n },\n \"replies\": [\n {\n \"id\": \"929\",\n \"name\": \"Suppport Staff\",\n \"date\": \"2016-12-30 12:51:04\",\n \"body\": \"Vestibulum ac diam sit amet quam \\r\\nvehicula elementum sed sit amet dui. \\r\\nPraesent sapien massa\\r\\n\\r\\n-- Maecenas efficitur elit est --\",\n \"status\": \"Sent\",\n \"type\": \"Admin\"\n }\n ]\n}" } } }, "post": { "tags": [ "Support" ], "summary": "Create Reply", "description": "Reply to ticket", "operationId": "createTicketReply", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "number", "type": "integer", "in": "path", "description": "Ticket number", "required": true }, { "name": "body", "type": "string", "in": "query", "description": "Reply message " } ], "responses": { "200": { "description": "`Success`" } } } }, "\/ticket\/attachment\/@file": { "get": { "tags": [ "Support" ], "summary": "Ticket attachment", "description": "Get ticket attachment", "operationId": "getTicketAttachment", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "number", "type": "integer", "in": "query", "description": "Ticket number" }, { "name": "file", "type": "string", "in": "path", "description": "Attachment id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/tickets\/@number\/open": { "put": { "tags": [ "Support" ], "summary": "Re-open ticket", "description": "Try to re-open closed ticket", "operationId": "reopenTicket", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "number", "type": "integer", "in": "path", "description": "Ticket number", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/tickets\/@number\/close": { "put": { "tags": [ "Support" ], "summary": "Close ticket", "description": "Send request to close a ticket", "operationId": "closeTicket", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "number", "type": "integer", "in": "path", "description": "Ticket number", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/ticket\/departments": { "get": { "tags": [ "Support" ], "summary": "List ticket departments", "description": "Get the list of ticket departments", "operationId": "listTicketDepartments", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/domain": { "get": { "tags": [ "Domains" ], "summary": "List Domains", "description": "List domains under your account", "operationId": "domain", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"domains\": [\n {\n \"id\": \"47\",\n \"name\": \"testname.com\",\n \"expires\": \"2017-12-30\",\n \"recurring_amount\": \"15.00\",\n \"date_created\": \"2016-12-30\",\n \"status\": \"Active\",\n \"period\": \"1\",\n \"autorenew\": \"1\",\n \"daytoexpire\": \"365\"\n }\n ]\n}" } } } }, "\/domain\/@id": { "get": { "tags": [ "Domains" ], "summary": "Domain details", "description": "Get domain details", "operationId": "domainDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"details\": {\n \"id\": \"47\",\n \"name\": \"testname.com\",\n \"date_created\": \"2016-12-30\",\n \"firstpayment\": \"10.00\",\n \"recurring_amount\": \"15.00\",\n \"period\": \"1\",\n \"expires\": \"2017-12-30\",\n \"status\": \"Active\",\n \"next_due\": \"2017-12-30\",\n \"next_invoice\": \"2017-11-30\",\n \"idprotection\": \"0\",\n \"nameservers\": [\n \"ns1.example.com\",\n \"ns2.example.com\",\n \"ns3.example.com\",\n \"ns4.example.com\"\n ],\n \"autorenew\": \"1\"\n }\n}" } } } }, "\/domain\/name\/@name": { "get": { "tags": [ "Domains" ], "summary": "Domain details by name", "description": "Get domain details by name", "operationId": "domainNameDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "name", "type": "string", "in": "path", "description": "Domain name", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"details\": [\n {\n \"id\": \"47\",\n \"name\": \"testname.com\",\n \"date_created\": \"2016-12-30\",\n \"firstpayment\": \"10.00\",\n \"recurring_amount\": \"15.00\",\n \"period\": \"1\",\n \"expires\": \"2017-12-30\",\n \"status\": \"Active\",\n \"next_due\": \"2017-12-30\",\n \"next_invoice\": \"2017-11-30\",\n \"idprotection\": \"0\",\n \"nameservers\": [\n \"ns1.example.com\",\n \"ns2.example.com\",\n \"ns3.example.com\",\n \"ns4.example.com\"\n ],\n \"autorenew\": \"1\"\n },\n {\n \"id\": \"48\",\n \"name\": \"testname.com\",\n \"date_created\": \"2016-05-30\",\n \"firstpayment\": \"10.00\",\n \"recurring_amount\": \"15.00\",\n \"period\": \"1\",\n \"expires\": \"2017-05-30\",\n \"status\": \"Expired\",\n \"next_due\": \"2017-05-30\",\n \"next_invoice\": \"2017-04-30\",\n \"idprotection\": \"0\",\n \"nameservers\": [\n \"ns1.example.com\",\n \"ns2.example.com\",\n \"ns3.example.com\",\n \"ns4.example.com\"\n ],\n \"autorenew\": \"1\"\n },\n ]\n}" } } } }, "\/domain\/@id\/ns": { "get": { "tags": [ "Domains" ], "summary": "Get domain nameservers", "description": "", "operationId": "domain_ns_get", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } }, "put": { "tags": [ "Domains" ], "summary": "Update domain nameservers", "description": "Change domain nameservers, if `$nameservers` is left empty, default namesevers will be used", "operationId": "domain_ns", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true }, { "name": "nameservers", "type": "array", "in": "query", "description": "List of nameservers to use", "items": { "type": "string" } } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/reg": { "post": { "tags": [ "Domains" ], "summary": "Register domain nameservers", "description": "", "operationId": "domain_ns_reg", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/dns": { "get": { "tags": [ "Domains" ], "summary": "DNS Records\nDNS Records", "description": "List DNS records", "operationId": "domain_dns", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"records\": [\n {\n \"id\": 1,\n \"name\": \"test\",\n \"ttl\": 0,\n \"priority\": 0,\n \"type\": \"A\",\n \"content\": \"100.100.10.1\"\n }\n ]\n}" } } }, "post": { "tags": [ "Domains" ], "summary": "Create DNS Records", "description": "Add a new DNS record", "operationId": "domain_dns_add", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true }, { "name": "name", "type": "string", "in": "query", "description": "Reord name" }, { "name": "type", "type": "string", "in": "query", "description": "Reord type" }, { "name": "priority", "type": "string", "in": "query", "description": "Reord priority" }, { "name": "content", "type": "string", "in": "query", "description": "Reord content eg. IP addres for A records" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/dns\/@index": { "put": { "tags": [ "Domains" ], "summary": "Update DNS Records", "description": "Change a DNS record", "operationId": "domain_dns_upd", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true }, { "name": "record_id", "type": "integer", "in": "path", "description": "Recod index", "required": true }, { "name": "name", "type": "string", "in": "query", "description": "Record name" }, { "name": "type", "type": "string", "in": "query", "description": "Record type" }, { "name": "priority", "type": "string", "in": "query", "description": "Record priority" }, { "name": "content", "type": "string", "in": "query", "description": "Record content eg. IP address for A records" } ], "responses": { "200": { "description": "`Success`" } } }, "delete": { "tags": [ "Domains" ], "summary": "Remove DNS Records", "description": "Remove a DNS record", "operationId": "domain_dns_del", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true }, { "name": "record_id", "type": "integer", "in": "path", "description": "Recod index", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/dns\/types": { "get": { "tags": [ "Domains" ], "summary": "DNS Records Types", "description": "List supported records type", "operationId": "domain_dns_suported", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"types\": [\n \"A\",\n \"CNAME\",\n \"URL\",\n \"FRAME\",\n \"MX\",\n \"MXE\",\n \"TXT\"\n ]\n}" } } } }, "\/domain\/@id\/epp": { "get": { "tags": [ "Domains" ], "summary": "Get domain EPP Code", "description": "", "operationId": "domain_eppcode", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/sync": { "get": { "tags": [ "Domains" ], "summary": "Synchronize domain", "description": "", "operationId": "domain_sync", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/reglock": { "get": { "tags": [ "Domains" ], "summary": "Get domain lock", "description": "", "operationId": "domain_reglock", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } }, "put": { "tags": [ "Domains" ], "summary": "Update domain lock", "description": "", "operationId": "domain_reglock_update", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/idprotection": { "put": { "tags": [ "Domains" ], "summary": "Update domain ID Protection", "description": "", "operationId": "domain_idprotection_update", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/contact": { "get": { "tags": [ "Domains" ], "summary": "Get domain contact info", "description": "", "operationId": "domain_contact_get", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } }, "put": { "tags": [ "Domains" ], "summary": "Update domain contact info", "description": "", "operationId": "domain_contact_update", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/emforwarding": { "get": { "tags": [ "Domains" ], "summary": "Get email forwarding", "description": "", "operationId": "domain_email_forwarding", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } }, "put": { "tags": [ "Domains" ], "summary": "Update email forwarding", "description": "", "operationId": "domain_email_forwarding_update", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/forwarding": { "put": { "tags": [ "Domains" ], "summary": "Update domain forwarding", "description": "", "operationId": "domain_forwarding_update", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/autorenew": { "get": { "tags": [ "Domains" ], "summary": "Get domain autorenew", "description": "", "operationId": "domain_autorenew", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } }, "put": { "tags": [ "Domains" ], "summary": "Enable\/disable domain autorenew", "description": "", "operationId": "domain_autorenew_update", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/dnssec\/flags": { "get": { "tags": [ "Domains" ], "summary": "Returns the available flags", "description": "", "operationId": "domain_dnssec_get_flags", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/dnssec": { "get": { "tags": [ "Domains" ], "summary": "Returns the list of DNSSEC keys", "description": "", "operationId": "domain_dnssec_get", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } }, "put": { "tags": [ "Domains" ], "summary": "Adds the DNSSEC key", "description": "", "operationId": "domain_dnssec_add", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/@id\/dnssec\/@key": { "delete": { "tags": [ "Domains" ], "summary": "", "description": "", "operationId": "domain_dnssec_remove", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true }, { "name": "key", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/lookup": { "post": { "tags": [ "Domains" ], "summary": "Domain availability", "description": "Check if domain is available for registration. Returns status: \"ok\" if domain is available, empty response otherwise", "operationId": "domain_lookup", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "name", "type": "string", "in": "query", "description": "Domain name " } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/order": { "get": { "tags": [ "Domains" ], "summary": "Available TLDs", "description": "List TLDs available for registration and transfer", "operationId": "domain_tlds", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"tlds\": [\n {\n \"id\": \"6\",\n \"tld\": \".com\",\n \"periods\": [\n {\n \"period\": \"1\",\n \"register\": \"10.00\",\n \"transfer\": \"0.00\",\n \"renew\": \"15.00\",\n \"redemption\": \"40.00\"\n },\n {\n \"period\": \"2\",\n \"register\": \"20.00\",\n \"transfer\": \"20.00\",\n \"renew\": \"30.00\",\n \"redemption\": \"80.00\"\n }\n ]\n },\n (...)\n ]\n}" } } }, "post": { "tags": [ "Domains" ], "summary": "Order new domain", "description": "Create new order for a domain, please check if requested domain is available first,\notherwise your order may get cancelled.", "operationId": "domain_order", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "name", "type": "string", "in": "query", "description": "Domain name " }, { "name": "years", "type": "string", "in": "query", "description": "Number of years" }, { "name": "action", "type": "string", "in": "query", "description": "register|transfer" }, { "name": "tld_id", "type": "string", "in": "query", "description": "TLD id" }, { "name": "pay_method", "type": "integer", "in": "query", "description": "Payment method ID" }, { "name": "epp", "type": "string", "in": "query", "description": "EPP Transfer code, required when transfering some domains" }, { "name": "nameservers", "type": "array", "in": "query", "description": "Optional array with 2 - 4 nameservers that you want to use", "items": { "type": "string" } }, { "name": "registrant", "type": "integer", "in": "query", "description": "Optional contact ID to use for registrant contact this domain" }, { "name": "admin", "type": "integer", "in": "query", "description": "Optional contact ID to use for admin contact this domain" }, { "name": "tech", "type": "integer", "in": "query", "description": "Optional contact ID to use for tech contact this domain" }, { "name": "billing", "type": "integer", "in": "query", "description": "Optional contact ID to use for billing contact this domain" }, { "name": "data", "type": "array", "in": "query", "description": "Addditional data required for some TLDs", "items": { "type": "string" } } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/order\/@id\/form": { "get": { "tags": [ "Domains" ], "summary": "Additinal data for TLD", "description": "Get additional forms required for some TLDs", "operationId": "domain_tld_froms", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "tld_id", "type": "integer", "in": "path", "description": "TLD ID", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"forms\": [\n {\n \"type\": \"domaindnssupport\",\n \"title\": \"DNS Management\",\n \"id\": \"1424\",\n \"firstItemId\": 9067,\n \"description\": \"\",\n \"name\": \"custom[1424][9067]\",\n \"required\": false,\n \"multiple\": false,\n \"config\": {\n \"enableddefault\": 0\n },\n \"value\": [],\n \"textvalue\": [],\n \"price\": 0,\n \"recurring_price\": 0,\n \"setup\": 0,\n \"prorata_date\": null,\n \"items\": [\n {\n \"title\": \"\",\n \"value\": 1,\n \"id\": 9067,\n \"price\": 4,\n \"setup\": 0,\n \"selected\": false\n }\n ]\n },\n {\n \"type\": \"select\",\n \"title\": \"Language\",\n \"id\": \"1755\",\n \"firstItemId\": 10952,\n \"description\": \"\",\n \"name\": \"custom[1755]\",\n \"required\": false,\n \"multiple\": false,\n \"config\": {\n \"conditionals\": []\n },\n \"value\": [],\n \"textvalue\": [],\n \"price\": 0,\n \"recurring_price\": 0,\n \"setup\": 0,\n \"prorata_date\": null,\n \"items\": [\n {\n \"title\": \"AFR\",\n \"value\": 1,\n \"id\": 10952,\n \"price\": 0,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"ALB\",\n \"value\": 1,\n \"id\": 10953,\n \"price\": 0,\n \"setup\": 0,\n \"selected\": false\n },\n (...)\n ]\n }\n ]\n}" } } } }, "\/domain\/@id\/renew": { "post": { "tags": [ "Domains" ], "summary": "Renew domain", "description": "Create new renew order for a domain, please check if requested domain is available first, otherwise your order may get cancelled.", "operationId": "domain_renew", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true }, { "name": "years", "type": "string", "in": "query", "description": "Number of years" }, { "name": "pay_method", "type": "integer", "in": "query", "description": "Payment method ID" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/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": { "get": { "tags": [ "Services" ], "summary": "List services", "description": "List all services under your account", "operationId": "service", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"services\": [\n {\n \"id\": \"301\",\n \"domain\": \"examplename.com\",\n \"total\": \"9.99\",\n \"status\": \"Pending\",\n \"billingcycle\": \"Monthly\",\n \"next_due\": \"2017-12-30\",\n \"category\": \"Hosting\",\n \"category_url\": \"hosting\",\n \"name\": \"Starter Hosting\"\n }\n ]\n}" } } } }, "\/service\/@id": { "get": { "tags": [ "Services" ], "summary": "Service details", "description": "Return details for service `@id`", "operationId": "serviceDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Service id", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"service\": {\n \"id\": \"301\",\n \"date_created\": \"2016-12-30\",\n \"domain\": \"examplename.com\",\n \"firstpayment\": \"9.99\",\n \"total\": \"9.99\",\n \"billingcycle\": \"Monthly\",\n \"next_due\": \"2017-12-30\",\n \"next_invoice\": \"2017-01-27\",\n \"status\": \"Active\",\n \"label\": \"\",\n \"username\": \"examplen\",\n \"password\": \"pdtzc\",\n \"name\": \"Starter Hosting\"\n }\n}" } } } }, "\/service\/@id\/methods": { "get": { "tags": [ "Services" ], "summary": "List service methods", "description": "List methods available for service", "operationId": "serviceMethods", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"methods\": [\n {\n \"name\": \"Upgrade Request\",\n \"method\": \"POST\",\n \"route\": \"\\\/service\\\/@id\\\/upgrade\"\n },\n {\n \"name\": \"Upgrade Options\",\n \"method\": \"GET\",\n \"route\": \"\\\/service\\\/@id\\\/upgrade\"\n },\n {\n \"name\": \"Change service label\",\n \"method\": \"POST\",\n \"route\": \"\\\/service\\\/@id\\\/label\"\n },\n {\n \"name\": \"Service label\",\n \"method\": \"GET\",\n \"route\": \"\\\/service\\\/@id\\\/label\"\n },\n {\n \"name\": \"Cancel Service\",\n \"method\": \"POST\",\n \"route\": \"\\\/service\\\/@id\\\/cancel\"\n }\n ]\n}" } } } }, "\/service\/@id\/upgrade": { "get": { "tags": [ "Services" ], "summary": "Upgrade Options", "description": "List upgrade options", "operationId": "upgrade", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"resources\": [\n {\n \"id\": 1557,\n \"name\": \"Bandwidth\",\n \"type\": \"select\",\n \"items\": [\n {\n \"id\": \"9953\",\n \"name\": \"100 GB\",\n \"price\": 1,\n \"setup_price\": 0,\n \"selected\": true\n },\n {\n \"id\": \"10103\",\n \"name\": \"500 GB\",\n \"price\": 5,\n \"setup_price\": 0,\n \"selected\": false\n },\n {\n \"id\": \"10104\",\n \"name\": \"1 TB\",\n \"price\": 10,\n \"setup_price\": 0,\n \"selected\": false\n }\n ]\n }\n ],\n \"package\": []\n}" } } }, "post": { "tags": [ "Services" ], "summary": "Upgrade Request", "description": "Estimate or request upgrade\n\n```json\n\/\/ Format of ''resources'' paremeter\n{\n \"resource_id\" : \"qty_value\", \/\/ sliders & qty fields\n \"resource_id\" : \"item_id\", \/\/ dropdown & radio fields\n \"resource_id\" : {\n \"item_id\": \"qty_value\" \/\/ dropdown with qty field\n }\n}\n```", "operationId": "upgrade_test", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Service id", "required": true }, { "name": "resources", "type": "array", "in": "query", "description": "array with resource values", "items": { "type": "string" } }, { "name": "package", "type": "integer", "in": "query", "description": "New package id, optonal when upgrading resources" }, { "name": "cycle", "type": "string", "in": "query", "description": "New billing cycle, optonal when upgrading resources" }, { "name": "send", "type": "boolean", "in": "query", "description": "Set to true when you want to send your upgrade request" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/cancel": { "post": { "tags": [ "Services" ], "summary": "Cancel Service", "description": "Request service cancellation", "operationId": "service_cancel", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Service id", "required": true }, { "name": "immediate", "type": "string", "in": "query", "description": "set to false<\/code> to terminate service at the end of billing date, true<\/code> - terminate immediately" }, { "name": "reason", "type": "string", "in": "query", "description": "Reason for this request" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@id\/label": { "get": { "tags": [ "Services" ], "summary": "Service label", "description": "Show current service label", "operationId": "service_get_label", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Service id", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"label\": \"example\"\n}" } } }, "post": { "tags": [ "Services" ], "summary": "Change service label", "description": "Set new custom label to identify this service", "operationId": "service_set_label", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Service id", "required": true }, { "name": "label", "type": "string", "in": "query", "description": "New label" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/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": "memory", "type": "string", "in": "query", "description": "Amount of RAM memory in MB" }, { "name": "cpu", "type": "string", "in": "query", "description": "Amount of CPU cores" }, { "name": "disk", "type": "string", "in": "query", "description": "Disk Space in GB" } ], "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`" } } }, "delete": { "tags": [ "Services" ], "summary": "Destroy VM", "description": "Remove virtual server", "operationId": "vms_delete", "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`" } } }, "put": { "tags": [ "Services" ], "summary": "Resize VM", "description": "Edit a virtual server", "operationId": "vms_edit", "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 }, { "name": "memory", "type": "string", "in": "query", "description": "Amount of RAM in MB" }, { "name": "cpu", "type": "string", "in": "query", "description": "Amount of CPU cores" } ], "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`" } } } }, "\/category": { "get": { "tags": [ "Cart" ], "summary": "List product categories", "description": "Return a list of product categories.", "operationId": "cart_categories", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"categories\": [\n {\n \"id\": \"10\",\n \"name\": \"Hosting\",\n \"description\": \"\",\n \"slug\": \"hosting\"\n },\n {\n \"id\": \"6\",\n \"name\": \"Domains\",\n \"description\": \"\",\n \"slug\": \"domains\"\n },\n {\n \"id\": \"16\",\n \"name\": \"Dedicated\",\n \"description\": \"\",\n \"slug\": \"dedicated\"\n }\n ]\n}" } } } }, "\/category\/@category_id\/product": { "get": { "tags": [ "Cart" ], "summary": "List products in category", "description": "Return a list of product available for purchase under requested category", "operationId": "cart_products", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "category_id", "type": "integer", "in": "path", "description": "Category ID", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"products\": [\n {\n \"id\": \"333\",\n \"type\": \"1\",\n \"name\": \"Starter Hosting\",\n \"stock\": false,\n \"paytype\": \"Regular\",\n \"description\": \"Disk:10GB
Memory:2GB
MySql:10 DB
Email:100 Users
\",\n \"qty\": \"0\",\n \"tags\": [\n\n ],\n \"periods\": [\n {\n \"title\": \"m\",\n \"value\": \"m\",\n \"price\": 9.99,\n \"setup\": 0,\n \"selected\": true\n },\n {\n \"title\": \"a\",\n \"value\": \"a\",\n \"price\": 109.89,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"b\",\n \"value\": \"b\",\n \"price\": 199.8,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"t\",\n \"value\": \"t\",\n \"price\": 299.7,\n \"setup\": 0,\n \"selected\": false\n }\n ]\n },\n (...)\n ]\n}" } } } }, "\/order\/@product_id": { "get": { "tags": [ "Cart" ], "summary": "Get product configuration details", "description": "Return product details with form configuration, addons and subproducts if available.", "operationId": "cart_product", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "product_id", "type": "integer", "in": "path", "description": "Product ID", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"product\": {\n \"id\": \"333\",\n \"category_name\": \"Hosting\",\n \"category_id\": \"49\",\n \"name\": \"Starter Hosting\",\n \"price\": 9.99,\n \"recurring\": \"m\",\n \"setup\": 0,\n \"config\": {\n \"product\": [\n {\n \"type\": \"select\",\n \"title\": \"pickcycle\",\n \"id\": \"cycle\",\n \"name\": \"cycle\",\n \"items\": [\n {\n \"title\": \"m\",\n \"value\": \"m\",\n \"price\": 9.99,\n \"setup\": 0,\n \"selected\": true\n },\n {\n \"title\": \"a\",\n \"value\": \"a\",\n \"price\": 109.89,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"b\",\n \"value\": \"b\",\n \"price\": 199.8,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"t\",\n \"value\": \"t\",\n \"price\": 299.7,\n \"setup\": 0,\n \"selected\": false\n }\n ],\n \"value\": \"m\",\n \"price\": 9.99,\n \"setup\": 0\n },\n {\n \"type\": \"input\",\n \"title\": \"domain\",\n \"id\": \"domain\",\n \"name\": \"domain\",\n \"value\": null\n }\n ],\n \"forms\": [\n {\n \"type\": \"select\",\n \"title\": \"Disk Size\",\n \"id\": \"1618\",\n \"firstItemId\": 10330,\n \"description\": \"\",\n \"name\": \"custom[1618]\",\n \"required\": false,\n \"multiple\": false,\n \"config\": {\n \"conditionals\": []\n },\n \"value\": [],\n \"textvalue\": [],\n \"price\": 0,\n \"recurring_price\": 0,\n \"setup\": 0,\n \"prorata_date\": null,\n \"items\": [\n {\n \"title\": \"512MB\",\n \"value\": 1,\n \"id\": 10330,\n \"price\": 0,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"1GB\",\n \"value\": 1,\n \"id\": 10331,\n \"price\": 0,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"2GB\",\n \"value\": 1,\n \"id\": 10332,\n \"price\": 0,\n \"setup\": 0,\n \"selected\": false\n }\n ]\n },\n (...)\n ],\n \"addons\": [\n {\n \"type\": \"subitem\",\n \"title\": \"Cpanel2: Add Extra IP\",\n \"id\": \"31\",\n \"value\": null,\n \"description\": \"Automatically adds IP address to account\",\n \"config\": [\n {\n \"type\": \"checkbox\",\n \"title\": \"add\",\n \"name\": \"addon[31]\",\n \"checked\": false\n },\n {\n \"type\": \"select\",\n \"title\": \"billingcycle\",\n \"name\": \"addon_cycles[31]\",\n \"items\": [\n {\n \"title\": \"m\",\n \"value\": \"m\",\n \"price\": 5,\n \"setup\": 0,\n \"selected\": true\n },\n {\n \"title\": \"q\",\n \"value\": \"q\",\n \"price\": 20,\n \"setup\": 0,\n \"selected\": false\n },\n {\n \"title\": \"a\",\n \"value\": \"a\",\n \"price\": 50,\n \"setup\": 0,\n \"selected\": false\n }\n ]\n }\n ],\n \"price\": 0,\n \"recurring_price\": 0,\n \"setup\": 0,\n \"prorata_date\": null\n },\n (...)\n ],\n \"subproducts\": []\n },\n \"recurring_price\": 9.99,\n \"prorata_date\": null\n }\n}" } } }, "post": { "tags": [ "Cart" ], "summary": "Order new service", "description": "Create and submit new order for selected product.\n\nTo get available cycle and configuration options lookup product details\nusing `GET \/order\/@product_id`", "operationId": "cart_order", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "product_id", "type": "integer", "in": "path", "description": "Product ID", "required": true }, { "name": "domain", "type": "string", "in": "query", "description": "Domain name, ie. example.com, may be optional" }, { "name": "cycle", "type": "string", "in": "query", "description": "Billing period symbol" }, { "name": "pay_method", "type": "integer", "in": "query", "description": "Payment method ID" }, { "name": "custom", "type": "array", "in": "query", "description": "Additional options data available for sop products", "items": { "type": "string" } }, { "name": "promocode", "type": "string", "in": "query", "description": "Promotion code" } ], "responses": { "200": { "description": "`Success`" } } } }, "\/order": { "post": { "tags": [ "Cart" ], "summary": "Order multiple services", "description": "Create and submit new order for multiple services\n\nEach item in the `items` array needs to include order `type` and parameters used\nby one of the method listed below:\n
• `POST \/order\/$product_id` - use `product` for item type
• `POST \/domain\/order` - use `domain` for item type
• `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`" } } } }, "\/dns": { "get": { "tags": [ "DNS" ], "summary": "List DNS", "description": "Returns a list of all DNS", "operationId": "dns_get", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "```json\n\r{\n \"service_ids\": [\n \"10\",\n \"20\"\n ],\n \"zones\": [\n {\n \"domain_id\": \"60\",\n \"name\": \"booble.com\",\n \"service_id\": \"10\"\n },\n {\n \"domain_id\": \"61\",\n \"name\": \"bgg12ooble.com\",\n \"service_id\": \"20\"\n }\n ]\n}" } } } }, "\/service\/@service_id\/dns": { "post": { "tags": [ "DNS" ], "summary": "Add DNS Zone", "description": "Creates a new DNS zone", "operationId": "dns_add_zone", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "service_id", "type": "integer", "in": "path", "description": "Service ID", "required": true }, { "name": "name", "type": "string", "in": "query", "description": "Zone name " } ], "responses": { "200": { "description": "`Success`" } } }, "get": { "tags": [ "DNS" ], "summary": "List DNS for service", "description": "Returns a list of DNS zones under the service", "operationId": "dns_list_zones", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "service_id", "type": "integer", "in": "path", "description": "Service ID", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"error\": [\n \"invalid method\"\n ]\n}" } } } }, "\/service\/@service_id\/dns\/@zone_id": { "get": { "tags": [ "DNS" ], "summary": "Get DNS details", "description": "Returns details of the DNS zone", "operationId": "dns_get_zone", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "service_id", "type": "integer", "in": "path", "description": "Service ID", "required": true }, { "name": "zone_id", "type": "integer", "in": "path", "description": "Zone ID", "required": true } ], "responses": { "200": { "description": "```json\n\r{\n \"service_id\": 10,\n \"name\": \"booble.com\",\n \"records\": [\n {\n \"id\":\"10\",\n \"name\":\"qwerty\",\n \"ttl\":1800,\n \"priority\":0,\n \"content\":\"127.0.0.1\",\n \"type\":\"A\"\n },\n {\n \"id\":\"11\",\n \"name\":\"qwerty\",\n \"ttl\":1800,\n \"priority\":0,\n \"content\":\"ns1.qwerty.com\",\n \"type\":\"NS\"\n }\n ]\n}" } } }, "delete": { "tags": [ "DNS" ], "summary": "Remove DNS zone", "description": "Deletes the selected DNS zone", "operationId": "dns_delete_zone", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "service_id", "type": "integer", "in": "path", "description": "Service ID", "required": true }, { "name": "zone_id", "type": "integer", "in": "path", "description": "Zone ID", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@service_id\/dns\/@zone_id\/records": { "post": { "tags": [ "DNS" ], "summary": "Add DNS Record", "description": "Creates a new record in the DNS zone", "operationId": "dns_add_record", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "service_id", "type": "integer", "in": "path", "description": "Service ID", "required": true }, { "name": "zone_id", "type": "integer", "in": "path", "description": "Zone ID", "required": true }, { "name": "name", "type": "string", "in": "query", "description": "Record name " }, { "name": "ttl", "type": "integer", "in": "query", "description": "Record ttl " }, { "name": "priority", "type": "integer", "in": "query", "description": "Priority of the record " }, { "name": "type", "type": "string", "in": "query", "description": "Record type " }, { "name": "content", "type": "string", "in": "query", "description": "Contents of the record " } ], "responses": { "200": { "description": "`Success`" } } } }, "\/service\/@service_id\/dns\/@zone_id\/records\/@record_id": { "put": { "tags": [ "DNS" ], "summary": "Edit DNS Record", "description": "Edits the selected DNS zone record", "operationId": "dns_edit_record", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "service_id", "type": "integer", "in": "path", "description": "Service ID", "required": true }, { "name": "zone_id", "type": "integer", "in": "path", "description": "Zone ID", "required": true }, { "name": "record_id", "type": "integer", "in": "path", "description": "Record ID", "required": true }, { "name": "name", "type": "string", "in": "query", "description": "Record name " }, { "name": "ttl", "type": "integer", "in": "query", "description": "Record ttl " }, { "name": "priority", "type": "integer", "in": "query", "description": "Priority of the record " }, { "name": "type", "type": "string", "in": "query", "description": "Record type " }, { "name": "content", "type": "string", "in": "query", "description": "Contents of the record " } ], "responses": { "200": { "description": "`Success`" } } }, "delete": { "tags": [ "DNS" ], "summary": "Remove DNS Record", "description": "Removes the selected DNS zone record", "operationId": "dns_delete_record", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "service_id", "type": "integer", "in": "path", "description": "Service ID", "required": true }, { "name": "zone_id", "type": "integer", "in": "path", "description": "Zone ID", "required": true }, { "name": "record_id", "type": "integer", "in": "path", "description": "Record ID", "required": true } ], "responses": { "200": { "description": "`Success`" } } } } }, "securityDefinitions": { "http": { "type": "basic" } }, "definitions": { "Clientarea": { "type": "object", "properties": { "username": { "type": "string", "description": "Your acount email address " }, "password": { "type": "string", "description": "Optional, allows you to login as contact" }, "refresh_token": { "type": "string" }, "email": { "type": "string", "description": "Email Address" }, "firstname": { "type": "string", "description": "First Name" }, "lastname": { "type": "string", "description": "Last Name" }, "type": { "type": "string", "description": "Account Type - Der Name Deine Organisation wird sp\u00e4ter auf Rechnungen angezeigt" }, "companyname": { "type": "string", "description": "Organization" }, "vateu": { "type": "string", "description": "USt-ID (VAT EU)" }, "address1": { "type": "string", "description": "Address 1" }, "address2": { "type": "string", "description": "Address 2" }, "city": { "type": "string", "description": "City" }, "postcode": { "type": "string", "description": "Post code" }, "country": { "type": "string", "description": "Country" }, "phonenumber": { "type": "string", "description": "Phone" }, "u2fauth": { "type": "array", "description": "Zwei-Faktor-Auth (U2F) - F\u00fcge U2F Key zu Deinem Konto hinzu um Deinen Account vor Drittzugriff zu sch\u00fctzen (Voraussetzung: U2F USB\/NFC Key)" }, "woherkennstduuns": { "type": "string", "description": "Woher kennst Du uns? - Von Bekannten, Freunden, Empfehlungen, Werbung und so weiter... :)" }, "mobilephone": { "type": "string", "description": "Handynummer - Um SMS-Benachrichtigungen \u00fcber Deine Dienste bei uns zu erhalten, kannst Du hier eine Handynummer angeben. Beginnend mit der L\u00e4ndervorwahl, d.h. +49" }, "telegramnotifications": { "type": "array", "description": "Telegram Bot Benachrichtigungen - Erstelle einen Telegram Bot der Dich \u00fcber s\u00e4mtliche Benachrichtigungen zu Deinem Account auf dem Laufenden h\u00e4lt" }, "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>" }, "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" } } }, "Billing": { "type": "object", "properties": { "id": { "type": "integer" }, "amount": { "type": "number", "description": "Optional credit amount, when no value is specified maximum amount to fully pay the invoice will be used" } } }, "Support": { "type": "object", "properties": { "number": { "type": "integer", "description": "Ticket number" }, "file": { "type": "string", "description": "Attachment id" }, "dept_id": { "type": "integer", "description": "Department id " }, "subject": { "type": "string", "description": "Ticket subject " }, "body": { "type": "string", "description": "Reply message " } } }, "Domains": { "type": "object", "properties": { "id": { "type": "integer" }, "name": { "type": "string", "description": "Domain name " }, "nameservers": { "type": "array", "items": { "type": "string" }, "description": "Optional array with 2 - 4 nameservers that you want to use" }, "type": { "type": "string", "description": "Record type" }, "priority": { "type": "string", "description": "Record priority" }, "content": { "type": "string", "description": "Record content eg. IP address for A records" }, "record_id": { "type": "integer", "description": "Recod index" }, "key": { "type": "string" }, "tld_id": { "type": "string", "description": "TLD id" }, "years": { "type": "string", "description": "Number of years" }, "action": { "type": "string", "description": "register|transfer" }, "pay_method": { "type": "integer", "description": "Payment method ID" }, "epp": { "type": "string", "description": "EPP Transfer code, required when transfering some domains" }, "registrant": { "type": "integer", "description": "Optional contact ID to use for registrant contact this domain" }, "admin": { "type": "integer", "description": "Optional contact ID to use for admin contact this domain" }, "tech": { "type": "integer", "description": "Optional contact ID to use for tech contact this domain" }, "billing": { "type": "integer", "description": "Optional contact ID to use for billing contact this domain" }, "data": { "type": "array", "items": { "type": "string" }, "description": "Addditional data required for some TLDs" } } }, "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", "description": "Service ID" }, "resources": { "type": "array", "items": { "type": "string" }, "description": "array with resource values" }, "package": { "type": "integer", "description": "New package id, optonal when upgrading resources" }, "cycle": { "type": "string", "description": "New billing cycle, optonal when upgrading resources" }, "send": { "type": "boolean", "description": "Set to true when you want to send your upgrade request" }, "immediate": { "type": "string", "description": "set to false<\/code> to terminate service at the end of billing date, true<\/code> - terminate immediately" }, "reason": { "type": "string", "description": "Reason for this request" }, "label": { "type": "string", "description": "VM label" }, "vmid": { "type": "integer" }, "template": { "type": "string", "description": "Template ID" }, "memory": { "type": "string", "description": "Amount of RAM in MB" }, "cpu": { "type": "string", "description": "Amount of CPU cores" }, "disk": { "type": "string", "description": "Disk Space in GB" }, "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" } } }, "Cart": { "type": "object", "properties": { "category_id": { "type": "integer", "description": "Category ID" }, "product_id": { "type": "integer", "description": "Product ID" }, "domain": { "type": "string", "description": "Domain name, ie. example.com, may be optional" }, "cycle": { "type": "string", "description": "Billing period symbol" }, "pay_method": { "type": "integer", "description": "Payment method ID" }, "custom": { "type": "array", "items": { "type": "string" }, "description": "Additional options data available for sop products" }, "promocode": { "type": "string", "description": "Promotion code" }, "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" } } } }, "externalDocs": { "description": "Find out more about UserAPI", "url": "https:\/\/my.ivry.eu\/?cmd=userapi" } }