{"code":200,"message":"Request successfully completed","response":{"data":[{"uri":"\/","methods":["GET","HEAD"],"authentication":"public","documentation":{"description":"Lists all routes"}},{"uri":"users","methods":["POST"],"authentication":"public","documentation":null},{"uri":"users\/nomail","methods":["POST"],"authentication":"public","documentation":null},{"uri":"users\/{user}\/activate","methods":["POST"],"authentication":"public","documentation":null},{"uri":"users\/{user}\/signup","methods":["POST"],"authentication":"public","documentation":null},{"uri":"users\/{user}\/code\/{code}","methods":["GET","HEAD"],"authentication":"public","documentation":null},{"uri":"users\/{user}\/recovery","methods":["POST"],"authentication":"public","documentation":null},{"uri":"users\/{user}\/recovery\/{recovery}","methods":["PUT"],"authentication":"public","documentation":null},{"uri":"users\/{username}\/exists","methods":["GET","HEAD"],"authentication":"public","documentation":null},{"uri":"users\/{username}\/verify","methods":["POST"],"authentication":"public","documentation":null},{"uri":"domains\/prices","methods":["GET","HEAD"],"authentication":"public","documentation":null},{"uri":"domains\/{domainname}","methods":["GET","HEAD"],"authentication":"public","documentation":null},{"uri":"service_inventory","methods":["GET","HEAD"],"authentication":"public","documentation":null},{"uri":"service_inventory\/{id}","methods":["GET","HEAD"],"authentication":"public","documentation":null},{"uri":"plans\/{type}\/custom","methods":["GET","HEAD"],"authentication":"public","documentation":null},{"uri":"plans\/{type}\/info","methods":["GET","HEAD"],"authentication":"public","documentation":null},{"uri":"email_confirm_request","methods":["POST"],"authentication":"public","documentation":null},{"uri":"email_confirm_request","methods":["PUT"],"authentication":"public","documentation":null},{"uri":"vps\/images","methods":["GET","HEAD"],"authentication":"public","documentation":null},{"uri":"pricelist\/domain\/tld","methods":["GET","HEAD"],"authentication":"public","documentation":null},{"uri":"companies\/{country}\/{vatnr}","methods":["GET","HEAD"],"authentication":"public","documentation":null},{"uri":"free\/users\/secret\/{secret}","methods":["GET","HEAD"],"authentication":"public","documentation":null},{"uri":"free\/users\/secret\/{secret}","methods":["DELETE"],"authentication":"public","documentation":null},{"uri":"users\/{user}","methods":["PUT"],"authentication":"password","documentation":null},{"uri":"users\/{username}\/customers\/{customer_id}","methods":["DELETE"],"authentication":"password","documentation":null},{"uri":"customers\/{customer_id}\/users","methods":["POST"],"authentication":"password","documentation":null},{"uri":"users\/{username}\/totp","methods":["POST"],"authentication":"password","documentation":null},{"uri":"users\/{username}\/totp","methods":["DELETE"],"authentication":"password","documentation":null},{"uri":"users\/{user}\/tokens","methods":["GET","HEAD"],"authentication":"password","documentation":null},{"uri":"users\/{user}\/tokens","methods":["POST"],"authentication":"password","documentation":null},{"uri":"users\/{user}\/tokens","methods":["DELETE"],"authentication":"password","documentation":null},{"uri":"session","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/pin","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/tokens\/{token}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/tokens\/{token}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/log","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/log\/{id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/log","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/log\/{id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/search","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/customers","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/datacenter_devices","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/customers","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/datacenter\/devices","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/datacenter\/devices\/{id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/datacenter\/devices\/{id}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/summary","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/payments","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/balances","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/balances\/{currency}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/plans","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/plans\/{type}\/custom","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/customers\/{customer_id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/customers\/{customer_id}\/changerequest","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/customers\/{customer_id}\/notify_settings","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/customers\/{customer_id}\/notify_settings","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/customers\/{customer_id}\/notify_settings\/{id}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains-prepay","methods":["POST"],"authentication":"password_or_token","documentation":{"description":"Create a prepaid domain order and a pending service-create task.","request_body":{"encoding":"form","required_keys":["domain","service"],"properties":{"domain.domain":["required","string"],"domain.action":["required","in:register,renew,transfer,restore,ownerchange"],"domain.years":["sometimes","integer"],"service.currency":["required","in:HUF,EUR,USD,GBP"]}},"models":[{"name":"PlanDomain","operation":"prepay","request_key":"domain + service.currency","description":"Pricing and operation validation for the requested domain action.","guards":[{"code":"invalid_domain","when":"The requested domain name cannot be mapped to a supported suffix in domain_price_list."},{"code":"minimum_register_time[<years>]","when":"The requested registration period is shorter than the registrar minimum for the selected suffix."},{"code":"years_must_be_0","when":"Transfer, restore and ownerchange operations do not accept additional renewal years in the current implementation."}]}]}},{"uri":"customers\/{customer_id}\/domains\/prices","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains\/{domain_id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains\/{domain_id}","methods":["PUT"],"authentication":"password_or_token","documentation":{"description":"Update domain.","parameters":[{"contacts_owner":["required_if:registration_type,new,transfer,test","numeric","custom_validation:contact","custom_validation:contactUsable"]},{"nameserver":["sometimes","nameserver"]},{"dnssec":["sometimes","in:Y,N"]},{"prepay_task_id":["sometimes","numeric"]},{"zone_info_request_save":["in:yes","custom_validation:domainHasZone"]}]}},{"uri":"customers\/{customer_id}\/domains\/{domain_id}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains\/{domain_id}\/tasks","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/tasks","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/tasks\/{task_id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/tasks\/{task_id}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/services","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/services\/{service}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/services\/{service}","methods":["PUT"],"authentication":"password_or_token","documentation":{"description":"Update a service and, when needed, recalculate future billing.","parameters":[{"auto_renew":["in:0,1","sometimes"]},{"paymentmethod":["sometimes","in:stripe,banktransfer,paypal,coingate"]}],"guards":[{"code":"domain_service_update_error","when":"Domain services only allow invoice_currency, is_disabled, customer_id and auto_renew to be changed."},{"code":"cannot be smaller","when":"invoiced_until cannot be moved backward."},{"code":"invoiced_until_must_be_same_as_started_on","when":"If there are no invoice items yet, invoiced_until must match started_on when recalculating billing."},{"code":"invoiced_until_must_be_same_as_last_invoice.<date>","when":"If invoice items already exist, invoiced_until must continue exactly after the last invoiced period."},{"code":"unpaid_item","when":"Changing customer_id is forbidden while the service has payable items."},{"code":"unpaid_invoice","when":"Removing or rewriting future items is forbidden if one of the affected invoices is not modifiable."},{"code":"price_not_set_for_custom","when":"Custom services must have either an explicit price or a service inventory price before billing items can be generated."}]}},{"uri":"customers\/{customer_id}\/services\/{service}\/next_item","methods":["PUT"],"authentication":"password_or_token","documentation":{"description":"Create the next invoice item for a service."}},{"uri":"customers\/{customer_id}\/services\/{service}","methods":["DELETE"],"authentication":"password_or_token","documentation":{"description":"Delete a service or cancel a pending service-create workflow.","parameters":[{"auto_renew":["in:0,1","sometimes"]},{"paymentmethod":["sometimes","in:stripe,banktransfer,paypal,coingate"]}],"guards":[{"code":"not_allowed","when":"Deleting an active service through this endpoint requires superuser privileges."},{"code":"has_datacenter_devices","when":"The service cannot be deleted while datacenter devices are still attached."},{"code":"delete_vps","when":"VPS-backed services must be deleted through the VPS workflow."},{"code":"delete_wh","when":"Webhosting-backed services must be deleted through the webhosting workflow."},{"code":"unpaid_invoice","when":"Future invoice items cannot be removed while one of the affected invoices is not modifiable."}]}},{"uri":"customers\/{customer_id}\/services\/{service}\/valid_items","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoice_items","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoices","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoices\/{invoice}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoices\/{invoice}\/fix_vat","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoices","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoices\/pay","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoices\/pay2","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoices\/paypal_order_request","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoices\/{invoice}\/split","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoices\/{invoice}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoices\/{invoice}\/download","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoices\/{invoice}\/items","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/invoices\/{invoice}\/items\/{id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/paymentmethods","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/paymentmethods\/{id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/paymentmethods\/{id}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/paymentmethods\/{id}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/cpanel","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/cpanel\/{id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/cpanel\/{id}\/session","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains\/{domain_id}\/records","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains\/{domain_id}\/records","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains\/{domain_id}\/records","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains\/{domain_id}\/records\/{id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains\/{domain_id}\/records\/{id}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains\/{domain_id}\/records\/{id}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains\/{domain_id}\/zone_info","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/domains\/{domain_id}\/zone_info","methods":["PUT"],"authentication":"password_or_token","documentation":{"description":"Update zone info for a domain.","parameters":[{"alias":["sometimes","in:no,default"]},{"last_saved_at":["sometimes","in:now"]}],"guards":[{"code":"pending_inside_transfer_domain_not_editable","when":"Zone info can only be created or edited for domains whose related domain row is currently editable."},{"code":"zone_not_aliassed","when":"alias=no is only valid if the zone is currently aliassed."},{"code":"zone_currently_default_alias","when":"alias=default cannot be applied when the zone is already a default alias."}]}},{"uri":"customers\/{customer_id}\/domains\/{domain_id}\/zone_info","methods":["POST"],"authentication":"password_or_token","documentation":{"description":"Create zone info for a domain.","parameters":[{"alias":["sometimes","in:no,default"]},{"last_saved_at":["sometimes","in:now"]}],"guards":[{"code":"pending_inside_transfer_domain_not_editable","when":"Zone info can only be created or edited for domains whose related domain row is currently editable."}]}},{"uri":"customers\/{customer_id}\/contacts","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/contacts","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/contacts\/{contact}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/contacts\/{contact}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/contacts\/{contact}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emails","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emails","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emails\/{email}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emails\/{email}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emails\/{email}\/quota","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emails\/{email}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emails\/{email}\/vacations","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emails\/{email}\/vacations","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emails\/{email}\/vacations\/{vacation}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emails\/{email}\/vacations\/{vacation}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emails\/{email}\/vacations\/{vacation}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emailaliases","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emailaliases","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emailaliases\/{email}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emailaliases\/{email}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/emailaliases\/{email}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/prepay","methods":["POST"],"authentication":"password_or_token","documentation":{"description":"Create a prepaid webhosting order and a pending service-create task.","request_body":{"encoding":"json","required_keys":["webhosting","wh_create_options","service","order"],"properties":{"webhosting":["required","object"],"wh_create_options":["required","object"],"service.currency":["required","in:HUF,EUR,USD,GBP"],"service.invoice_interval_months":["required","in:1,3,6,12"],"order.coupon_code":["sometimes","string"]}},"guards":[{"code":"invalid json <jsonError>","when":"The request body must be valid JSON."},{"code":"unknown fields <fields>","when":"The top-level JSON object contains keys other than webhosting, wh_create_options, service and order."},{"code":"missing <key>","when":"A required top-level JSON key is missing."}],"models":[{"name":"WHUser","operation":"create","request_key":"webhosting","description":"Main webhosting payload.","parameters":[{"username":["sometimes","unique:hosting.user,user","regex:\/^[a-z0-9][a-z0-9-]{1,14}$\/"]},{"service_invoice_interval_months":["sometimes"]},{"disk_quota_kb":["required"]},{"sql_quota_kb":["required"]},{"email_quota_mb":["required"]},{"datashare_limit":["sometimes"]},{"domain_limit":["sometimes"]},{"service_currency":["sometimes"]},{"ip_allowed":["sometimes","custom_validation:ip_allowed"]},{"password":["sometimes","min:8"]},{"webexec":["sometimes","boolean"]},{"coupon_code":["sometimes","string"]},{"domain":["sometimes"]}]},{"name":"PlanWH","operation":"prepay","request_key":"webhosting + service","description":"Pricing model applied when the pending service is created.","parameters":[{"currency":["required","in:HUF,EUR,USD,GBP"]},{"domain_limit":["sometimes","numeric","between:0,5000"]},{"disk_quota_mb":["required","integer","between:100,3000000"]},{"sql_quota_mb":["required","integer","between:0,3000000"]},{"email_quota_mb":["required","integer","between:100,4000000"]},{"datashare_limit":["sometimes","integer","between:0,200"]},{"invoice_interval_months":["required","in:01,1,03,3,06,6,12,24"]},{"coupon_code":["sometimes","string"]}]}]}},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/backups","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/backups\/{date}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/backups\/{date}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/ftp_logs","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/vps","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":{"description":"List VPS belonging to the customer."}},{"uri":"customers\/{customer_id}\/vps","methods":["POST"],"authentication":"password_or_token","documentation":{"description":"Create VPS.","examples":[{"comment":"Create a VPS with 1GiB ram, 4 cores, 100GB HDD and 500GB SSD.","request":"service_invoice_interval_months=1&service_currency=HUF&ram_size_mb=1024&cpu_count=4&ssd_size_gb=100&hdd_size_gb=500","response":"{\"code\":200,\"message\":\"Data updated successfully\",\"response\":{\"updated\":[\"service_invoice_interval_months\",\"service_currency\",\"ram_size_mb\",\"cpu_count\",\"ssd_size_gb\",\"hdd_size_gb\"],\"data\":{\"machine_type\":\"pc-q35-rhel8.5.0\",\"ram_size_mb\":\"1024\",\"cpu_count\":\"4\",\"ssd_size_gb\":\"100\",\"hdd_size_gb\":\"500\",\"service_id\":65054}},\"request_id\":1073}"}],"parameters":[{"service_invoice_interval_months":["sometimes","in:1,3,12,24"]},{"service_currency":["sometimes","in:HUF,EUR,USD,GBP"]},{"ram_size_mb":["integer","VPS must not be running","between:1024,65536"]},{"cpu_count":["integer","VPS must not be running","between:1,16"]},{"cpu_model":["VPS must not be running","in:EPYC-Rome,Broadwell,Ryzen-7950X-dedicated"]},{"hdd_size_gb":["integer","sometimes","Size must fit quota","VPS must not be running"]},{"ssd_size_gb":["integer","Size must fit quota","VPS must not be running"]},{"extra_ip_count":["sometimes"]},{"custom_name":["sometimes","max:64"]},{"password":["sometimes","min:8","regex:\/^[\\x20-\\x7e]+$\/"]},{"os":["sometimes","exists:vps_images,name"]},{"ostype":["sometimes","in:linux,win11"]},{"type":["sometimes","in:pv,hvm,uefi"]}]}},{"uri":"customers\/{customer_id}\/vps\/prepay","methods":["POST"],"authentication":"password_or_token","documentation":{"description":"Create a prepaid VPS order and a pending service-create task.","request_body":{"encoding":"json","required_keys":["vps","vps_create_options","service","order"],"properties":{"vps":["required","object"],"vps_create_options":["required","object"],"service.currency":["required","in:HUF,EUR,USD,GBP"],"service.invoice_interval_months":["required","in:1,3,6,12"],"service.pkg_version":["sometimes","in:1,2,3,4,5,xet.1"],"order.coupon_code":["sometimes","string"]}},"guards":[{"code":"invalid json <jsonError>","when":"The request body must be valid JSON."},{"code":"unknown fields <fields>","when":"The top-level JSON object contains keys other than vps, vps_create_options, service and order."},{"code":"missing <key>","when":"A required top-level JSON key is missing."}],"models":[{"name":"VPS","operation":"create","request_key":"vps","description":"Main VPS payload.","parameters":[{"service_invoice_interval_months":["sometimes","in:1,3,12,24"]},{"service_currency":["sometimes","in:HUF,EUR,USD,GBP"]},{"ram_size_mb":["integer","VPS must not be running","between:1024,65536"]},{"cpu_count":["integer","VPS must not be running","between:1,16"]},{"cpu_model":["VPS must not be running","in:EPYC-Rome,Broadwell,Ryzen-7950X-dedicated"]},{"hdd_size_gb":["integer","sometimes","Size must fit quota","VPS must not be running"]},{"ssd_size_gb":["integer","Size must fit quota","VPS must not be running"]},{"extra_ip_count":["sometimes"]},{"custom_name":["sometimes","max:64"]},{"password":["sometimes","min:8","regex:\/^[\\x20-\\x7e]+$\/"]},{"os":["sometimes","exists:vps_images,name"]},{"ostype":["sometimes","in:linux,win11"]},{"type":["sometimes","in:pv,hvm,uefi"]}]},{"name":"PlanVS","operation":"prepay","request_key":"vps + service","description":"Pricing model applied when the pending service is created.","parameters":[{"cpu_count":["required","integer","step:1","between:1,16"]},{"ssd_size_gb":["required","integer","step:1","between:10,5000"]},{"hdd_size_gb":["sometimes","integer","step:1","between:0,20000"]},{"ram_size_mb":["required","integer","between:1024,131072"]},{"currency":["required","in:HUF,EUR,USD,GBP"]},{"invoice_interval_months":["required","in:01,1,03,3,06,6,12,24"]},{"extra_ip_count":["sometimes","in:0,1,2,4,8,16,32,64"]},{"coupon_code":["sometimes","string"]},{"cpu_model":["required","in:Broadwell,EPYC-Rome,Ryzen-7950X-dedicated"]},{"pkg_version":["sometimes","in:2,3,4,5,xet.1,net23.1"]}]}]}},{"uri":"customers\/{customer_id}\/vps\/{vpsid}","methods":["DELETE"],"authentication":"password_or_token","documentation":{"description":"Erase a VPS. Only works for stopped servers."}},{"uri":"customers\/{customer_id}\/vps\/{vpsid}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":{"description":"Show VPS info, including payment, disk, interface, address data."}},{"uri":"customers\/{customer_id}\/vps\/{vpsid}","methods":["PUT"],"authentication":"password_or_token","documentation":{"description":"Update VPS.","parameters":[{"service_invoice_interval_months":["sometimes","in:1,3,12,24"]},{"service_currency":["sometimes","in:HUF,EUR,USD,GBP"]},{"ram_size_mb":["integer","VPS must not be running","between:1024,65536"]},{"cpu_count":["integer","VPS must not be running","between:1,16"]},{"cpu_model":["VPS must not be running","in:EPYC-Rome,Broadwell,Ryzen-7950X-dedicated"]},{"hdd_size_gb":["integer","sometimes","Size must fit quota","VPS must not be running"]},{"ssd_size_gb":["integer","Size must fit quota","VPS must not be running"]},{"extra_ip_count":["sometimes"]},{"custom_name":["sometimes","max:64"]},{"password":["sometimes","min:8","regex:\/^[\\x20-\\x7e]+$\/"]},{"os":["sometimes","exists:vps_images,name"]},{"ostype":["sometimes","in:linux,win11"]},{"type":["sometimes","in:pv,hvm,uefi"]}]}},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/image","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/images","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/vnc","methods":["POST"],"authentication":"password_or_token","documentation":{"description":"Create VPS console access data"}},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/disks","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":{"description":"List disks belonging to the VPS."}},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/disks","methods":["POST"],"authentication":"password_or_token","documentation":{"description":"Create a new disk for the VPS.","parameters":[{"name":["required","string","regex:\/^[0-9a-zA-Z-]*$\/","unique:vps_disk,name","max:40","Cannot be modified after creation.","Name must start with the vps name and a hyphen."]},{"size_mib":["required","integer","New size must not be smaller than old size."]},{"boot":["sometimes","in:Y,N","comment:Attempt booting from this disk"]},{"sla":["required","in:high,low","Cannot be modified after creation."]},{"type":["required","in:ssd,hdd,swap,archive","Cannot be modified after creation."]},{"bus":["sometimes","in:virtio,ide,scsi,sata"]},{"snapshot_parent_id":["sometimes","Cannot be modified after creation.","Must refer to an existing disk belonging to the same vps; parent must not be a snapshot."]}]}},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/disks\/{diskid}","methods":["DELETE"],"authentication":"password_or_token","documentation":{"description":"Remove a disk from a VPS. The VPS must first be stopped to do this."}},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/disks\/{diskid}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":{"description":"Show information regarding a disk."}},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/disks\/{diskid}","methods":["PUT"],"authentication":"password_or_token","documentation":{"description":"Update a disk of the VPS.","parameters":[{"name":["required","string","regex:\/^[0-9a-zA-Z-]*$\/","unique:vps_disk,name","max:40","Cannot be modified after creation.","Name must start with the vps name and a hyphen."]},{"size_mib":["required","integer","New size must not be smaller than old size."]},{"boot":["sometimes","in:Y,N","comment:Attempt booting from this disk"]},{"sla":["required","in:high,low","Cannot be modified after creation."]},{"type":["required","in:ssd,hdd,swap,archive","Cannot be modified after creation."]},{"bus":["sometimes","in:virtio,ide,scsi,sata"]},{"snapshot_parent_id":["sometimes","Cannot be modified after creation.","Must refer to an existing disk belonging to the same vps; parent must not be a snapshot."]}]}},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/interfaces","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/interfaces\/{interfaceid}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/interfaces\/{interfaceid}\/stat","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/interfaces\/{interfaceid}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/tasks","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/tasks","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/vps\/{vpsid}\/tasks\/{id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/domains","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/domains","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/domains\/{domain}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/domains\/{domain}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/domains\/{domain}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/domains\/{domain}\/software","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/domains\/{domain}\/certificate","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/domains\/{domain}\/certificate","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/databases","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/databases","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/databases\/{database}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/databases\/{database}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/databases\/{database}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/databases\/{database}\/backups","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/databases\/{database}\/backups\/{date}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/databases\/{database}\/backups\/{date}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/tasks","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/tasks","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/tasks\/{tasks}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/tasks\/{tasks}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/tasks\/{job}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/datashares","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/datashares","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/datashares\/{id}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/datashares\/{id}","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/webhostings\/{whuser}\/datashares\/{id}","methods":["PUT"],"authentication":"password_or_token","documentation":null},{"uri":"users\/{username}\/domain_doc\/{id}","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"token","methods":["DELETE"],"authentication":"password_or_token","documentation":null},{"uri":"simplepay\/backref","methods":["GET","HEAD"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/stripe\/setup","methods":["POST"],"authentication":"password_or_token","documentation":null},{"uri":"customers\/{customer_id}\/setup","methods":["POST"],"authentication":"password_or_token","documentation":null}],"count":189}}