{ "swagger": "2.0", "info": { "description": "Our HTTP [REST API](https:\/\/en.wikipedia.org\/wiki\/Representational_state_transfer) allows you to manage vital details of your account and services in client portal. [JSON](http:\/\/www.json.org\/) is used for all API returns.\n\n## Authentication\n\n## JSON Web Token Authentication\n\n```bash\ncurl 'https:\/\/mijn.hostbit.nl\/api\/login' \\\n -d username=\"username\"\\\n -d password=\"password\"\n\n# grab authentication token from the response and pass it in Authorization header\ncurl 'https:\/\/mijn.hostbit.nl\/api\/details' \\\n -H \"Authorization: Bearer $token\"\n```\n\n```php\n$resp = $client->post('login', [\n 'form_params' => [\n 'username' => 'username',\n 'password' => 'password'\n ]\n]);\n\n$token = $resp->json()['token'];\n\n$resp = $client->get('details', [\n 'headers' => [\n 'Authorization' => 'Bearer ' . $token\n ]\n]);\n\necho $resp->getBody();\n```\n\n> Make sure to replace `username` and `password` with your client area details.\n\nTo authenticate, you need to send a [JSON Web Token (JWT)](https:\/\/jwt.io\/) in the authorization header of the HTTP request.\n\nTo obtain the authorization `token` you need to submit a request with your username and password to `POST https:\/\/mijn.hostbit.nl\/api\/login` API method.\n\nAll API calls that require authentication expect HTTP header in the form of `Authorization: Bearer `.\n\nFor example: `Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHRw...`\n\n## Basic Authentication\n\n```bash\n# pass the correct header with each request (-u option)\ncurl 'https:\/\/mijn.hostbit.nl\/api\/details' \\\n -u \"username:password\"\n```\n\n```php\nuse GuzzleHttp\\Client;\n\n$client = new Client([\n 'base_uri' => 'https:\/\/mijn.hostbit.nl\/api\/',\n 'auth' => ['username', 'password']\n]);\n\n$resp = $client->get('details');\n```\n\n> Make sure to replace `username` and `password` with your client area details.\n\nThis authentication method requires that you send your client area username (email address) and password with each request.\n\nAPI calls that require authentication expect a header in the form of `Authorization: Basic `, where credentials is the Base64 encoding of username and password joined by a single colon `:`.\n\nFor example: `Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==`\n\nYou can find more info on this authentication method here: [Basic HTTP Authentication](https:\/\/en.wikipedia.org\/wiki\/Basic_access_authentication)\n\n> You must replace `QWxhZGRpbjpvcGVuIHNlc2FtZQ==` with base64 encoded version of your access details.\n\n> For security, we highly recommend to issue API calls over [HTTPS](http:\/\/en.wikipedia.org\/wiki\/HTTP_Secure)\n\n", "version": "4.20260810", "title": "Hostbit User API" }, "host": "mijn.hostbit.nl", "basePath": "\/api", "tags": [ { "name": "Clientarea" }, { "name": "Billing" }, { "name": "Domains" }, { "name": "DNS" }, { "name": "Support" } ], "schemes": [ "https" ], "paths": { "\/login": { "post": { "tags": [ "Clientarea" ], "summary": "Login", "description": "Generate new authorization token", "operationId": "getToken", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "username": { "type": "string", "description": "Your acount email address ", "example": "user@example.com" }, "password": { "type": "string", "description": "Account password ", "example": "secret" } }, "example": { "username": "user@example.com", "password": "secret" } } } ], "responses": { "200": { "description": "`Success`" } } } }, "\/mfa\/challenge": { "post": { "tags": [ "Clientarea" ], "summary": "Request MFA", "description": "Send code or get initialization data for a selected MFA method. For example, for Email Verification\nthis will send a new code to suer email.\n\nSet your Authorization header to `Bearer {{mfa.token}}` using data from the ` POST \/login ` response", "operationId": "mfaChallenge", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "method": { "type": "string", "description": "The MFA method to use. ", "example": "email_mfa" }, "params": { "type": "mixed", "description": "Paramtters for specific MFA methods. ", "example": "No error" } }, "example": { "method": "email_mfa", "params": "No error" } } } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "expected_payload": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "description": "The code to verify" } } } } }, "schema": { "type": "object", "example": { "expected_payload": { "type": "object", "required": [ "code" ], "properties": { "code": { "type": "string", "description": "The code to verify" } } } } } } } } }, "\/mfa\/verify": { "post": { "tags": [ "Clientarea" ], "summary": "Verify MFA", "description": "Receive authentication and refresh tokens after solving the MFA challenge with the user-provided data.\n\nSet your Authorization header to `Bearer {{mfa.token}}` using data from the ` POST \/login ` response", "operationId": "mfaVerify", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "method": { "type": "string", "description": "The MFA method to use. ", "example": "email_mfa" }, "payload": { "type": "mixed", "description": "Data used for MFA method " } }, "example": { "method": "email_mfa", "payload": { "code": "123456" } } } } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtZmFA(...)HGCeVZ0-ikvglYi8U41UPAr6G7Q", "expires_at": 1786125589, "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodH(...)UlbKlgssysGnCZXwZ46uD7B4THk", "refresh_expires_at": 1793897989, "mfa": null } }, "schema": { "type": "object", "example": { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiJtZmFA(...)HGCeVZ0-ikvglYi8U41UPAr6G7Q", "expires_at": 1786125589, "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodH(...)UlbKlgssysGnCZXwZ46uD7B4THk", "refresh_expires_at": 1793897989, "mfa": null } } } } } }, "\/logout": { "post": { "tags": [ "Clientarea" ], "summary": "Logout", "description": "Invalidate authorization token", "operationId": "dropToken", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "status": true } }, "schema": { "type": "object", "example": { "status": true } } } } } }, "\/token": { "post": { "tags": [ "Clientarea" ], "summary": "Refresh Token", "description": "Generate new authorization token using refresh token", "operationId": "refreshToken", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "refresh_token": { "type": "string", "description": "Refresh token previously obtained from `POST \/login`", "example": "refresh_tokenValue" } }, "example": { "refresh_token": "refresh_tokenValue" } } } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHR(...)vY2xlYiHGvauCWZD9B0VwXgHEzXDllqY", "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJBQ(...)Rmivc_u3YA_kgDqOPtUuGNXOzueXYtZw" } }, "schema": { "type": "object", "example": { "token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJpc3MiOiJodHR(...)vY2xlYiHGvauCWZD9B0VwXgHEzXDllqY", "refresh": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJBQ(...)Rmivc_u3YA_kgDqOPtUuGNXOzueXYtZw" } } } } } }, "\/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": "`Success`", "examples": { "application\/json": { "contact": { "id": "49", "email": "mary@example.com", "firstname": "Mary", "lastname": "Sue", "companyname": "", "address1": "Pretty View Lane", "address2": "3194", "city": "Santa Rosa", "state": "California", "postcode": "95401", "country": "US", "phonenumber": "+1.24123123", "type": "Private", "privileges": { "support": [ "tickets", "newticket" ] } } } }, "schema": { "type": "object", "example": { "contact": { "id": "49", "email": "mary@example.com", "firstname": "Mary", "lastname": "Sue", "companyname": "", "address1": "Pretty View Lane", "address2": "3194", "city": "Santa Rosa", "state": "California", "postcode": "95401", "country": "US", "phonenumber": "+1.24123123", "type": "Private", "privileges": { "support": [ "tickets", "newticket" ] } } } } } } } }, "\/invoice\/{id}": { "get": { "tags": [ "Billing" ], "summary": "Invoice Details", "description": "Get invoice details", "operationId": "getInvoiceDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "invoice": { "id": "308976", "status": "Paid", "date": "2016-12-30", "duedate": "2017-01-06", "paybefore": "2017-01-06", "datepaid": "2016-12-30 12:40:47", "subtotal": 16.24, "credit": 0, "tax": 3.41, "taxrate": 21, "tax2": 0, "taxrate2": 0, "taxexempt": "0", "total": 19.65, "rate": 1, "rate2": 0, "rate3": 1, "notes": "", "items": [ { "id": "12305", "invoice_id": "308976", "type": "Other", "item_id": "0", "description": "Example Service", "amount": "15.00", "taxed": "1", "qty": "1.00", "linetotal": "15.00" }, { "id": "12309", "invoice_id": "308976", "type": "Other", "item_id": "-2", "description": "PayPal Payment Fee", "amount": "1.24", "taxed": "1", "qty": "1.00", "linetotal": "1.24" } ], "client": { "id": "26", "email": "api@example.com", "firstname": "Joe", "lastname": "Doe", "companyname": "", "address1": "Pretty View Lane", "address2": "3194", "city": "Santa Rosa", "state": "California", "postcode": "95401", "country": "US", "phonenumber": "+1.24123123" }, "number": "2016\/12\/1", "currency": "USD" } } }, "schema": { "type": "object", "example": { "invoice": { "id": "308976", "status": "Paid", "date": "2016-12-30", "duedate": "2017-01-06", "paybefore": "2017-01-06", "datepaid": "2016-12-30 12:40:47", "subtotal": 16.24, "credit": 0, "tax": 3.41, "taxrate": 21, "tax2": 0, "taxrate2": 0, "taxexempt": "0", "total": 19.65, "rate": 1, "rate2": 0, "rate3": 1, "notes": "", "items": [ { "id": "12305", "invoice_id": "308976", "type": "Other", "item_id": "0", "description": "Example Service", "amount": "15.00", "taxed": "1", "qty": "1.00", "linetotal": "15.00" }, { "id": "12309", "invoice_id": "308976", "type": "Other", "item_id": "-2", "description": "PayPal Payment Fee", "amount": "1.24", "taxed": "1", "qty": "1.00", "linetotal": "1.24" } ], "client": { "id": "26", "email": "api@example.com", "firstname": "Joe", "lastname": "Doe", "companyname": "", "address1": "Pretty View Lane", "address2": "3194", "city": "Santa Rosa", "state": "California", "postcode": "95401", "country": "US", "phonenumber": "+1.24123123" }, "number": "2016\/12\/1", "currency": "USD" } } } } } } }, "\/balance": { "get": { "tags": [ "Billing" ], "summary": "Account balance", "description": "Get current account balance(unpaid invoices total), account credit", "operationId": "getBalance", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`" } } } }, "\/addfunds": { "get": { "tags": [ "Billing" ], "summary": "Get Add Funds Information", "description": "Get add funds configuration: minimum and maximum deposit amounts and available payment gateways", "operationId": "getAddFundsInfo", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "min_amount": 10, "max_amount": 1000, "gateways": [ { "id": 1, "name": "Bank Transfer" }, { "id": 2, "name": "PayPal" } ] } }, "schema": { "type": "object", "example": { "min_amount": 10, "max_amount": 1000, "gateways": [ { "id": 1, "name": "Bank Transfer" }, { "id": 2, "name": "PayPal" } ] } } } } }, "post": { "tags": [ "Billing" ], "summary": "Add Funds", "description": "Generate add funds invoice", "operationId": "createAddFunds", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "amount": { "type": "number", "description": "Amount to add to account ", "example": "100.00" }, "gateway": { "type": "number", "description": "Payment gateway ID, use `GET \/addfunds` to list available gateways", "example": "gatewayValue" } }, "example": { "amount": "100.00", "gateway": "gatewayValue" } } } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "success": true, "invoice_id": 123 } }, "schema": { "type": "object", "example": { "success": true, "invoice_id": 123 } } } } } }, "\/invoice\/{id}\/pdf": { "get": { "tags": [ "Billing" ], "summary": "Invoice PDF", "description": "Get specific invoice PDF as base64 string", "operationId": "getInvoicePdf", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain": { "get": { "tags": [ "Domains" ], "summary": "List Domains", "description": "List domains under your account", "operationId": "domain", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "domains": [ { "id": "47", "name": "testname.com", "expires": "2017-12-30", "recurring_amount": "15.00", "date_created": "2016-12-30", "status": "Active", "period": "1", "autorenew": "1", "daytoexpire": "365" } ] } }, "schema": { "type": "object", "example": { "domains": [ { "id": "47", "name": "testname.com", "expires": "2017-12-30", "recurring_amount": "15.00", "date_created": "2016-12-30", "status": "Active", "period": "1", "autorenew": "1", "daytoexpire": "365" } ] } } } } } }, "\/domain\/{id}": { "get": { "tags": [ "Domains" ], "summary": "Domain details", "description": "Get domain details", "operationId": "domainDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "details": { "id": "47", "name": "testname.com", "date_created": "2016-12-30", "firstpayment": "10.00", "recurring_amount": "15.00", "period": "1", "expires": "2017-12-30", "status": "Active", "next_due": "2017-12-30", "next_invoice": "2017-11-30", "idprotection": "0", "nameservers": [ "ns1.example.com", "ns2.example.com", "ns3.example.com", "ns4.example.com" ], "autorenew": "1" } } }, "schema": { "type": "object", "example": { "details": { "id": "47", "name": "testname.com", "date_created": "2016-12-30", "firstpayment": "10.00", "recurring_amount": "15.00", "period": "1", "expires": "2017-12-30", "status": "Active", "next_due": "2017-12-30", "next_invoice": "2017-11-30", "idprotection": "0", "nameservers": [ "ns1.example.com", "ns2.example.com", "ns3.example.com", "ns4.example.com" ], "autorenew": "1" } } } } } } }, "\/domain\/name\/{name}": { "get": { "tags": [ "Domains" ], "summary": "Domain details by name", "description": "Get domain details by name", "operationId": "domainNameDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "name", "type": "string", "in": "path", "description": "Domain name", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/domain\/{id}\/ns": { "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": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Domain id", "example": "idValue" }, "nameservers": { "type": "array", "description": "List of nameservers to use", "items": { "type": "string" }, "example": "nameserversValue" } }, "example": { "id": "idValue", "nameservers": "nameserversValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "info": [ "success_changes_save" ] } }, "schema": { "type": "object", "example": { "info": [ "success_changes_save" ] } } } } } }, "\/domain\/{id}\/reg": { "get": { "tags": [ "Domains" ], "summary": "Get registered nameservers", "description": "List registered private\/glue nameservers for a domain.\nNote: Not all domain registrar modules support returning registered nameservers.\nIf the module does not support this feature, an empty list may be returned.", "operationId": "domain_ns_reg_get", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true } ], "responses": { "200": { "description": "`Success`" } } }, "post": { "tags": [ "Domains" ], "summary": "Register domain nameservers", "description": "Manage private\/glue nameservers for a domain. Use the `action` parameter to select the operation:\n- `registerNameServer` \u2013 register a new glue record (requires `nameserver` + `ip`)\n- `modifyNameServer` \u2013 update the IP of an existing glue record (requires `nameserver` + `oldip` + `newip`)\n- `deleteNameServer` \u2013 remove a glue record (requires `nameserver`)", "operationId": "domain_ns_reg", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Domain id", "example": "idValue" }, "action": { "type": "string", "description": "Operation: registerNameServer, modifyNameServer, deleteNameServer ", "example": "registerNameServer" }, "nameserver": { "type": "string", "description": "Full nameserver hostname ", "example": "ns1.yourdomain.com" }, "ip": { "type": "string", "description": "IP address for the nameserver \u2013 required for registerNameServer ", "example": "1.2.3.4" }, "oldip": { "type": "string", "description": "Current IP address \u2013 required for modifyNameServer ", "example": "1.2.3.4" }, "newip": { "type": "string", "description": "New IP address \u2013 required for modifyNameServer ", "example": "5.6.7.8" } }, "example": { "id": "idValue", "action": "registerNameServer", "nameserver": "ns1.yourdomain.com", "ip": "1.2.3.4", "oldip": "1.2.3.4", "newip": "5.6.7.8" } } }, { "name": "id", "type": "string", "in": "path", "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": "`Success`", "examples": { "application\/json": { "records": [ { "id": 1, "name": "test", "ttl": 0, "priority": 0, "type": "A", "content": "100.100.10.1" } ] } }, "schema": { "type": "object", "example": { "records": [ { "id": 1, "name": "test", "ttl": 0, "priority": 0, "type": "A", "content": "100.100.10.1" } ] } } } } }, "post": { "tags": [ "Domains" ], "summary": "Create DNS Records", "description": "Add a new DNS record", "operationId": "domain_dns_add", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Domain id", "example": "idValue" }, "name": { "type": "string", "description": "Reord name", "example": "nameValue" }, "type": { "type": "string", "description": "Reord type", "example": "typeValue" }, "priority": { "type": "string", "description": "Reord priority", "example": "priorityValue" }, "content": { "type": "string", "description": "Reord content eg. IP addres for A records", "example": "contentValue" } }, "example": { "id": "idValue", "name": "nameValue", "type": "typeValue", "priority": "priorityValue", "content": "contentValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "info": [ "DNS Management updated successfully" ] } }, "schema": { "type": "object", "example": { "info": [ "DNS Management updated successfully" ] } } } } } }, "\/domain\/{id}\/dns\/{index}": { "put": { "tags": [ "Domains" ], "summary": "Update DNS Records", "description": "Change a DNS record", "operationId": "domain_dns_upd", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Domain id", "example": "idValue" }, "record_id": { "type": "integer", "description": "Recod index", "example": "record_idValue" }, "name": { "type": "string", "description": "Record name", "example": "nameValue" }, "type": { "type": "string", "description": "Record type", "example": "typeValue" }, "priority": { "type": "string", "description": "Record priority", "example": "priorityValue" }, "content": { "type": "string", "description": "Record content eg. IP address for A records", "example": "contentValue" } }, "example": { "id": "idValue", "record_id": "record_idValue", "name": "nameValue", "type": "typeValue", "priority": "priorityValue", "content": "contentValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true }, { "name": "index", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "info": [ "DNS Management updated successfully" ] } }, "schema": { "type": "object", "example": { "info": [ "DNS Management updated successfully" ] } } } } }, "delete": { "tags": [ "Domains" ], "summary": "Remove DNS Records", "description": "Remove a DNS record", "operationId": "domain_dns_del", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "id", "type": "integer", "in": "path", "description": "Domain id", "required": true }, { "name": "record_id", "type": "integer", "in": "query", "description": "Recod index" }, { "name": "index", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "info": [ "DNS Management updated successfully" ] } }, "schema": { "type": "object", "example": { "info": [ "DNS Management updated successfully" ] } } } } } }, "\/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": "`Success`", "examples": { "application\/json": { "types": [ "A", "CNAME", "URL", "FRAME", "MX", "MXE", "TXT" ] } }, "schema": { "type": "object", "example": { "types": [ "A", "CNAME", "URL", "FRAME", "MX", "MXE", "TXT" ] } } } } } }, "\/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}\/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`", "examples": { "application\/json": { "success": true, "domain_id": "428", "contact_info": { "registrant": { "firstname": "", "lastname": "", "companyname": "", "email": "", "phonenumber": "", "address1": "", "address2": "", "city": "", "state": "", "postcode": "", "country": "" }, "tech": { "firstname": "", "lastname": "", "companyname": "", "email": "", "phonenumber": "", "address1": "", "address2": "", "city": "", "state": "", "postcode": "", "country": "" }, "admin": { "firstname": "", "lastname": "", "companyname": "", "email": "", "phonenumber": "", "address1": "", "address2": "", "city": "", "state": "", "postcode": "", "country": "" }, "billing": { "firstname": "", "lastname": "", "companyname": "", "email": "", "phonenumber": "", "address1": "", "address2": "", "city": "", "state": "", "postcode": "", "country": "" } } } }, "schema": { "type": "object", "example": { "success": true, "domain_id": "428", "contact_info": { "registrant": { "firstname": "", "lastname": "", "companyname": "", "email": "", "phonenumber": "", "address1": "", "address2": "", "city": "", "state": "", "postcode": "", "country": "" }, "tech": { "firstname": "", "lastname": "", "companyname": "", "email": "", "phonenumber": "", "address1": "", "address2": "", "city": "", "state": "", "postcode": "", "country": "" }, "admin": { "firstname": "", "lastname": "", "companyname": "", "email": "", "phonenumber": "", "address1": "", "address2": "", "city": "", "state": "", "postcode": "", "country": "" }, "billing": { "firstname": "", "lastname": "", "companyname": "", "email": "", "phonenumber": "", "address1": "", "address2": "", "city": "", "state": "", "postcode": "", "country": "" } } } } } } }, "put": { "tags": [ "Domains" ], "summary": "Update domain contact info", "description": "", "operationId": "domain_contact_update", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Domain id", "example": "idValue" }, "contact_info": { "type": "array", "items": { "type": "string" }, "example": "contact_infoValue" } }, "example": { "id": "idValue", "contact_info": "contact_infoValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "success": true, "domain_id": "428", "info": [ "request_contacts_sent" ] } }, "schema": { "type": "object", "example": { "success": true, "domain_id": "428", "info": [ "request_contacts_sent" ] } } } } } }, "\/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`", "examples": { "application\/json": { "success": true, "autorenew": null } }, "schema": { "type": "object", "example": { "success": true, "autorenew": null } } } } }, "put": { "tags": [ "Domains" ], "summary": "Enable\/disable domain autorenew", "description": "", "operationId": "domain_autorenew_update", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Domain id", "example": "idValue" }, "autorenew": { "type": "boolean", "example": "autorenewValue" } }, "example": { "id": "idValue", "autorenew": "autorenewValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "success": true, "info": [ "success_changes_save" ] } }, "schema": { "type": "object", "example": { "success": true, "info": [ "success_changes_save" ] } } } } } }, "\/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": "body", "in": "body", "schema": { "type": "object", "properties": { "id": { "type": "integer", "description": "Domain id", "example": "idValue" } }, "example": { "id": "idValue" } } }, { "name": "id", "type": "string", "in": "path", "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": "body", "in": "body", "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Domain name ", "example": "example.com" } }, "example": { "name": "example.com" } } } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "available": false, "name": "example.com", "premium": false, "periods": [ { "id": "6", "period": "1", "register": "10.00", "transfer": "0.00", "renew": "15.00", "redemption": "40.00" }, { "id": "6", "period": "2", "register": "20.00", "transfer": "20.00", "renew": "20.00", "redemption": "80.00" } ] } }, "schema": { "type": "object", "example": { "available": false, "name": "example.com", "premium": false, "periods": [ { "id": "6", "period": "1", "register": "10.00", "transfer": "0.00", "renew": "15.00", "redemption": "40.00" }, { "id": "6", "period": "2", "register": "20.00", "transfer": "20.00", "renew": "20.00", "redemption": "80.00" } ] } } } } } }, "\/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": "`Success`" } } }, "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": "body", "in": "body", "schema": { "type": "object", "properties": { "name": { "type": "string", "description": "Domain name ", "example": "example.com" }, "years": { "type": "string", "description": "Number of years ", "example": 1 }, "action": { "type": "string", "description": "register|transfer ", "example": "register" }, "tld_id": { "type": "string", "description": "TLD id ", "example": 42 }, "pay_method": { "type": "integer", "description": "Payment method ID ", "example": 5 }, "epp": { "type": "string", "description": "EPP Transfer code, required when transfering some domains ", "example": "Syntax error" }, "nameservers": { "type": "array", "description": "Optional array with 2 - 4 nameservers that you want to use ", "items": { "type": "string" } }, "registrant": { "type": "integer", "description": "Optional contact ID to use for registrant contact this domain ", "example": 42 }, "admin": { "type": "integer", "description": "Optional contact ID to use for admin contact this domain ", "example": 43 }, "tech": { "type": "integer", "description": "Optional contact ID to use for tech contact this domain ", "example": 43 }, "billing": { "type": "integer", "description": "Optional contact ID to use for billing contact this domain ", "example": 42 }, "data": { "type": "array", "description": "Addditional data required for some TLDs ", "items": { "type": "string" } }, "aff_id": { "type": "integer", "description": "Affiliate ID", "example": 55 } }, "example": { "name": "example.com", "years": 1, "action": "register", "tld_id": 42, "pay_method": 5, "epp": "Syntax error", "nameservers": [ "ns1.example.com", { "host": "ns2.example.com", "ip": "123.234.123.234" } ], "registrant": 42, "admin": 43, "tech": 43, "billing": 42, "data": { "1618": { "10330": "bar" } }, "aff_id": 55 } } } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "order_num": 563647679, "invoice_id": "308977", "total": "10.00", "items": { "id": "10", "type": "Domain Register", "name": "test.com", "product_id": "3" } } }, "schema": { "type": "object", "example": { "order_num": 563647679, "invoice_id": "308977", "total": "10.00", "items": { "id": "10", "type": "Domain Register", "name": "test.com", "product_id": "3" } } } } } } }, "\/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": "query", "description": "TLD ID" }, { "name": "id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } }, "\/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": "body", "in": "body", "schema": { "type": "object", "properties": { "years": { "type": "string", "description": "Number of years", "example": "yearsValue" }, "pay_method": { "type": "integer", "description": "Payment method ID", "example": "pay_methodValue" } }, "example": { "years": "yearsValue", "pay_method": "pay_methodValue" } } }, { "name": "id", "type": "string", "in": "path", "required": true } ], "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": "`Success`", "examples": { "application\/json": { "service_ids": [ "10", "20" ], "zones": [ { "domain_id": "60", "name": "qwerty.com", "service_id": "10" }, { "domain_id": "61", "name": "bgg12ooble.com", "service_id": "20" } ] } }, "schema": { "type": "object", "example": { "service_ids": [ "10", "20" ], "zones": [ { "domain_id": "60", "name": "qwerty.com", "service_id": "10" }, { "domain_id": "61", "name": "bgg12ooble.com", "service_id": "20" } ] } } } } } }, "\/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": "body", "in": "body", "schema": { "type": "object", "properties": { "service_id": { "type": "integer", "description": "Service ID", "example": "service_idValue" }, "name": { "type": "string", "description": "Zone name ", "example": "testzone.com" }, "comment": { "type": "string", "description": "Zone comment ", "example": "My zone comment" } }, "example": { "service_id": "service_idValue", "name": "testzone.com", "comment": "My zone comment" } } }, { "name": "service_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "info": [ "Domain zone testzone.com was created successfully." ] } }, "schema": { "type": "object", "example": { "info": [ "Domain zone testzone.com was created successfully." ] } } } } }, "get": { "tags": [ "DNS" ], "summary": "List DNS for service", "description": "Returns a list of DNS zones under the service", "operationId": "dns_list_zones", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "service_id", "type": "integer", "in": "path", "description": "Service ID", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "error": [ "invalid method" ] } }, "schema": { "type": "object", "example": { "error": [ "invalid method" ] } } } } } }, "\/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": "`Success`", "examples": { "application\/json": { "service_id": 10, "name": "qwerty.com", "comment": "My zone comment", "records": [ { "id": "10", "name": "qwerty", "ttl": 1800, "priority": 0, "content": "127.0.0.1", "type": "A" }, { "id": "11", "name": "qwerty", "ttl": 1800, "priority": 0, "content": "ns1.qwerty.com", "type": "NS" } ] } }, "schema": { "type": "object", "example": { "service_id": 10, "name": "qwerty.com", "comment": "My zone comment", "records": [ { "id": "10", "name": "qwerty", "ttl": 1800, "priority": 0, "content": "127.0.0.1", "type": "A" }, { "id": "11", "name": "qwerty", "ttl": 1800, "priority": 0, "content": "ns1.qwerty.com", "type": "NS" } ] } } } } }, "put": { "tags": [ "DNS" ], "summary": "Edit DNS Zone", "description": "Updates the comment of the selected DNS zone", "operationId": "dns_edit_zone", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "service_id": { "type": "integer", "description": "Service ID", "example": "service_idValue" }, "zone_id": { "type": "integer", "description": "Zone ID", "example": "zone_idValue" }, "comment": { "type": "string", "description": "Zone comment ", "example": "My zone comment" } }, "example": { "service_id": "service_idValue", "zone_id": "zone_idValue", "comment": "My zone comment" } } }, { "name": "service_id", "type": "string", "in": "path", "required": true }, { "name": "zone_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "success": true, "info": [ "Domain zone updated successfully." ] } }, "schema": { "type": "object", "example": { "success": true, "info": [ "Domain zone updated successfully." ] } } } } }, "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`", "examples": { "application\/json": { "info": [ "Domain zone testzone.com was deleted successfully." ] } }, "schema": { "type": "object", "example": { "info": [ "Domain zone testzone.com was deleted successfully." ] } } } } } }, "\/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": "body", "in": "body", "schema": { "type": "object", "properties": { "service_id": { "type": "integer", "description": "Service ID", "example": "service_idValue" }, "zone_id": { "type": "integer", "description": "Zone ID", "example": "zone_idValue" }, "name": { "type": "string", "description": "Record name ", "example": "example.com" }, "ttl": { "type": "integer", "description": "Record ttl ", "example": 3600 }, "priority": { "type": "integer", "description": "Priority of the record ", "example": 10 }, "type": { "type": "string", "description": "Record type ", "example": "A" }, "content": { "type": "string", "description": "Contents of the record ", "example": "192.168.1.2" } }, "example": { "service_id": "service_idValue", "zone_id": "zone_idValue", "name": "example.com", "ttl": 3600, "priority": 10, "type": "A", "content": "192.168.1.2" } } }, { "name": "service_id", "type": "string", "in": "path", "required": true }, { "name": "zone_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "record": { "name": "_sip._tcp.example.com", "type": "SRV", "ttl": "3600", "priority": "10", "content": [ 10, 5060, "vc01.example.com" ] }, "info": [ "dnsnewrecordadded", "SRV" ] } }, "schema": { "type": "object", "example": { "record": { "name": "_sip._tcp.example.com", "type": "SRV", "ttl": "3600", "priority": "10", "content": [ 10, 5060, "vc01.example.com" ] }, "info": [ "dnsnewrecordadded", "SRV" ] } } } } } }, "\/service\/{service_id}\/dns\/{zone_id}\/records\/{record_id}": { "put": { "tags": [ "DNS" ], "summary": "Edit DNS Record", "description": "Edits the selected DNS zone record.\n

Note<\/b>: Depending on the service, updating a record may change its\n ID. If you need to edit the same record again, re-list the zone records\n first to obtain its current ID.<\/p>", "operationId": "dns_edit_record", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "body", "in": "body", "schema": { "type": "object", "properties": { "service_id": { "type": "integer", "description": "Service ID", "example": "service_idValue" }, "zone_id": { "type": "integer", "description": "Zone ID", "example": "zone_idValue" }, "record_id": { "type": "string", "description": "Record ID", "example": "record_idValue" }, "name": { "type": "string", "description": "Record name ", "example": "example.com" }, "ttl": { "type": "integer", "description": "Record ttl ", "example": 3600 }, "priority": { "type": "integer", "description": "Priority of the record ", "example": 10 }, "type": { "type": "string", "description": "Record type ", "example": "A" }, "content": { "type": "string", "description": "Contents of the record ", "example": "192.168.1.2" } }, "example": { "service_id": "service_idValue", "zone_id": "zone_idValue", "record_id": "record_idValue", "name": "example.com", "ttl": 3600, "priority": 10, "type": "A", "content": "192.168.1.2" } } }, { "name": "service_id", "type": "string", "in": "path", "required": true }, { "name": "zone_id", "type": "string", "in": "path", "required": true }, { "name": "record_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`", "examples": { "application\/json": { "record": { "id": "55", "type": "A", "ttl": "3600", "name": "test", "priority": 0, "content": "192.168.1.2" }, "info": [ "The record was updated successfully." ] } }, "schema": { "type": "object", "example": { "record": { "id": "55", "type": "A", "ttl": "3600", "name": "test", "priority": 0, "content": "192.168.1.2" }, "info": [ "The record was updated successfully." ] } } } } }, "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`" } } } }, "\/knowledgebase\/article\/{article_id}": { "get": { "tags": [ "Support" ], "summary": "Get knowledgebase article", "description": "Returns an article details", "operationId": "getKnowledgebaseArticleDetails", "consumes": [ "application\/json" ], "produces": [ "application\/json" ], "parameters": [ { "name": "article_id", "type": "string", "in": "path", "required": true } ], "responses": { "200": { "description": "`Success`" } } } } }, "securityDefinitions": { "basicAuth": { "type": "basic" }, "bearerAuth": { "type": "apiKey", "name": "Authorization", "in": "header", "description": "Enter: Bearer {token}" } }, "security": [ { "basicAuth": [] }, { "bearerAuth": [] } ], "definitions": { "Clientarea": { "type": "object", "properties": { "username": { "type": "string", "description": "Your acount email address " }, "password": { "type": "string", "description": "Account password " }, "method": { "type": "string", "description": "The MFA method to use. " }, "params": { "type": "mixed", "description": "Paramtters for specific MFA methods. " }, "payload": { "type": "mixed", "description": "Data used for MFA method " }, "refresh_token": { "type": "string", "description": "Refresh token previously obtained from `POST \/login`" }, "id": { "type": "integer", "description": "Contact ID" } } }, "Billing": { "type": "object", "properties": { "amount": { "type": "number", "description": "Amount to add to account " }, "gateway": { "type": "number", "description": "Payment gateway ID, use `GET \/addfunds` to list available gateways" } } }, "Domains": { "type": "object", "properties": { "id": { "type": "integer", "description": "Domain id" }, "name": { "type": "string", "description": "Domain name " }, "nameservers": { "type": "array", "items": { "type": "string" }, "description": "Optional array with 2 - 4 nameservers that you want to use " }, "action": { "type": "string", "description": "register|transfer " }, "nameserver": { "type": "string", "description": "Full nameserver hostname " }, "ip": { "type": "string", "description": "IP address for the nameserver \u2013 required for registerNameServer " }, "oldip": { "type": "string", "description": "Current IP address \u2013 required for modifyNameServer " }, "newip": { "type": "string", "description": "New IP address \u2013 required for modifyNameServer " }, "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" }, "contact_info": { "type": "array", "items": { "type": "string" } }, "autorenew": { "type": "boolean" }, "tld_id": { "type": "string", "description": "TLD id " }, "years": { "type": "string", "description": "Number of years" }, "pay_method": { "type": "integer", "description": "Payment method ID" }, "epp": { "type": "string", "description": "EPP Transfer code, required when transfering some domains " }, "registrant": { "type": "integer", "description": "Optional contact ID to use for registrant contact this domain " }, "admin": { "type": "integer", "description": "Optional contact ID to use for admin contact this domain " }, "tech": { "type": "integer", "description": "Optional contact ID to use for tech contact this domain " }, "billing": { "type": "integer", "description": "Optional contact ID to use for billing contact this domain " }, "data": { "type": "array", "items": { "type": "string" }, "description": "Addditional data required for some TLDs " }, "aff_id": { "type": "integer", "description": "Affiliate ID" } } }, "DNS": { "type": "object", "properties": { "service_id": { "type": "integer", "description": "Service ID" }, "name": { "type": "string", "description": "Record name " }, "comment": { "type": "string", "description": "Zone comment " }, "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" } } }, "Support": { "type": "object", "properties": [] } }, "externalDocs": { "description": "Find out more about UserAPI", "url": "https:\/\/mijn.hostbit.nl\/?cmd=userapi" } }