Change website of a web hosting package
Change what a website (vHost) shows, its HTTPS settings, certificate, status or description.
manitu_webhosting_web_vhost_set on https://mcp.manitu.de/mcpAnnotations as tools/list sends them
Description for the model
Changes a website (vHost) of a web hosting package of the manitu customer account this connection works in, by site_id and fqdn from manitu_webhosting_web_vhost_list. Only the fields given change; the type never does (manitu_webhosting_web_vhost_convert does). website only for type website (another folder or a redirect URL), alias only for an alias (another website, the redirect to it); https and alternative_hostname not for an alias - it has its website's. status inactive switches it off (e.g. for maintenance) - visitors get when_inactive, the files are kept. certificate none removes the certificate. Changes take up to an hour everywhere. Refused with a conflict for an alias that lost its website (alias_without_website - give alias.of) or when the package cannot be changed now (not_configurable). Tell the customer what will change and ask for an explicit yes first.
Arguments
site_idinteger | stringrequiredThe site_id from manitu_webhosting_list - never guess one.
fqdnstringrequiredThe website from manitu_webhosting_web_vhost_list, e.g. www.example.de. Never guess one.
websiteobjectOnly for type website: what it shows.
website.target_dirstringShow this folder, relative to the web root - for a new website its own folder in htdocs, website_folder_template.api of manitu_webhosting_web_structure_get (e.g. /htdocs/www.example.com/; the older layout: /web/www.example.com/). Not together with redirect_url.
website.redirect_urlstringInstead of a folder: send every visitor to this URL, e.g. https://www.example.com/ - https:// is put in front when there is no scheme.
website.create_target_dirbooleanCreate target_dir if it is not there (default true); false: it must be there.
website.allow_wordpress_xmlrpcbooleanMake WordPress' XML-RPC interface reachable - only if the customer needs it: a frequent target of brute force attacks that manitu's firewall cannot block. Tell him so.
aliasobjectOnly for type alias.
alias.ofstringThe website (or websitebuilder) it belongs to, by fqdn from manitu_webhosting_web_vhost_list. Not an alias.
alias.redirect_to_parentbooleanRedirect visitors to the website's name (HTTP 301); false: show the same under the alias' own name.
httpsobjectNot for an alias (it has its website's). Change HSTS only if the customer knows what it means: browsers keep using HTTPS only for max_age seconds, even if the certificate is gone.
https.redirectbooleanSend http:// visitors to https://.
https.hstsobjectHSTS (Strict-Transport-Security).
https.hsts.activebooleanhttps.hsts.max_ageintegerSeconds, 300 (5 minutes) to 63072000 (2 years).
https.hsts.include_subdomainsbooleanhttps.hsts.preloadbooleanUsually not recommended - needs max_age of at least 31536000 and include_subdomains.
alternative_hostnameobjectNot for an alias: a second name under vhost.manitu.de that shows the same.
alternative_hostname.activebooleanSwitched off and on again, it gets a new name.
alternative_hostname.noindexbooleanAsk search engines not to index it under this name.
certificatestringletsencrypt (free, added and renewed by manitu) or none (rarely wanted). Let's Encrypt needs the domain at manitu (not while a transfer is pending) and an active website; it is usually there within an hour. A custom certificate is uploaded in the customer panel - here it is only kept.
statusstringinactive: switch it off (e.g. for maintenance) - the files are kept, visitors get when_inactive; no Let's Encrypt certificate is renewed meanwhile.
when_inactiveobjectWhat visitors get while it is inactive.
when_inactive.responsestringhttp_status_403, http_status_404, http_status_503 (tells search engines to come back), hide (as if there were no website) or page (one of manitu's, see page).
when_inactive.pagestringFor response page: disabled, underconstruction or maintenance. The customer's duties (imprint, privacy information) stay his.
descriptionstring | nullThe customer's description, for his own overview. Left out: unchanged (set) or none (create); null or empty: none.
Result structuredContent, checked against the schema
fqdnstringrequiredThe name, e.g. www.example.de - a domain or subdomain of the package; what the other tools take. Unicode for an internationalized domain.
fqdn_asciistringrequiredThe same name as DNS has it (xn--... for an internationalized domain).
typestringrequiredwebsite (the customer's files from a folder, or a redirect to a URL), websitebuilder (made with manitu's website builder) or alias (a further name of a website - see alias).
statusstringrequiredinactive: switched off, the files are kept - visitors get when_inactive.
when_inactiveobjectrequiredWhat visitors get while it is inactive.
when_inactive.responsestringrequiredAn HTTP status (403, 404, 503 - 503 tells search engines to come back), hide (as if there were no website) or page (a page of manitu's, see page).
when_inactive.pagestring | nullrequiredWhich page, for response page: disabled, underconstruction or maintenance.
websiteobject | nullrequiredFor type website, else null.
website.target_dirstring | nullrequiredThe folder shown, relative to the web root, e.g. /htdocs/www.example.com/ (the older layout: /web/...) - see manitu_webhosting_web_structure_get; null when it redirects.
website.redirect_urlstring | nullrequiredThe URL every visitor is sent to - null when it shows a folder.
website.allow_wordpress_xmlrpcbooleanrequiredWordPress' XML-RPC interface reachable - off by default, a frequent target of brute force attacks that manitu's firewall cannot block.
websitebuilderobject | nullrequiredFor type websitebuilder, else null. The editor opens with manitu_webhosting_web_vhost_websitebuilder_get.
websitebuilder.target_dirstringrequiredThe folder manitu set for it - not to be changed.
aliasobject | nullrequiredFor type alias, else null. An alias shows what its website shows, with its HTTPS settings; status, certificate and description are its own.
alias.ofstring | nullrequiredThe website it belongs to (fqdn) - null only for an old alias that lost it.
alias.redirect_to_parentbooleanrequiredVisitors are redirected to the website's name (HTTP 301); false: the alias shows the same under its own name.
httpsobject | nullrequiredFor a website or websitebuilder; null for an alias (its website's apply).
https.redirectbooleanrequiredVisitors coming with http:// are sent to https://.
https.hstsobjectrequiredHSTS (Strict-Transport-Security): browsers remember to use only HTTPS.
https.hsts.activebooleanrequiredhttps.hsts.max_ageintegerrequiredHow long browsers remember it, in seconds.
https.hsts.include_subdomainsbooleanrequiredhttps.hsts.preloadbooleanrequiredalternative_hostnameobject | nullrequiredA second name under vhost.manitu.de that shows the same - e.g. before a domain transfer or while DNS is not there yet. Null for an alias.
alternative_hostname.activebooleanrequiredalternative_hostname.fqdnstring | nullrequiredThe name, e.g. 1a2b3c4d.vhost.manitu.de - null while not active. A new one each time it is switched on.
alternative_hostname.noindexbooleanrequiredSearch engines are asked not to index it under this name.
alias_listarray of string | nullrequiredIts aliases (fqdn) - null for an alias.
certificateobject | nullrequiredIts SSL certificate - null if none.
certificate.typestringrequiredcertificate.statusstringrequiredpending: asked for, usually issued within an hour; error: could not be issued - often the name does not point to manitu yet.
certificate.expires_atstring | nullrequiredWhen it runs out (the same as manitu_webhosting_web_certificate_get) - Let's Encrypt renews in time; null while pending.
descriptionstring | nullrequiredWhat the customer wrote about it (his description), null if nothing - not its name or user name.
created_atstring | nullrequiredAuthentication
One of X-API-Key, Authorization: Bearer … - never more than one in a request. More
Request body JSON; unknown fields are refused
site_idinteger | stringrequiredThe site_id from manitu_webhosting_list - never guess one.
fqdnstringrequiredThe website from manitu_webhosting_web_vhost_list, e.g. www.example.de. Never guess one.
websiteobjectOnly for type website: what it shows.
website.target_dirstringShow this folder, relative to the web root - for a new website its own folder in htdocs, website_folder_template.api of manitu_webhosting_web_structure_get (e.g. /htdocs/www.example.com/; the older layout: /web/www.example.com/). Not together with redirect_url.
website.redirect_urlstringInstead of a folder: send every visitor to this URL, e.g. https://www.example.com/ - https:// is put in front when there is no scheme.
website.create_target_dirbooleanCreate target_dir if it is not there (default true); false: it must be there.
website.allow_wordpress_xmlrpcbooleanMake WordPress' XML-RPC interface reachable - only if the customer needs it: a frequent target of brute force attacks that manitu's firewall cannot block. Tell him so.
aliasobjectOnly for type alias.
alias.ofstringThe website (or websitebuilder) it belongs to, by fqdn from manitu_webhosting_web_vhost_list. Not an alias.
alias.redirect_to_parentbooleanRedirect visitors to the website's name (HTTP 301); false: show the same under the alias' own name.
httpsobjectNot for an alias (it has its website's). Change HSTS only if the customer knows what it means: browsers keep using HTTPS only for max_age seconds, even if the certificate is gone.
https.redirectbooleanSend http:// visitors to https://.
https.hstsobjectHSTS (Strict-Transport-Security).
https.hsts.activebooleanhttps.hsts.max_ageintegerSeconds, 300 (5 minutes) to 63072000 (2 years).
https.hsts.include_subdomainsbooleanhttps.hsts.preloadbooleanUsually not recommended - needs max_age of at least 31536000 and include_subdomains.
alternative_hostnameobjectNot for an alias: a second name under vhost.manitu.de that shows the same.
alternative_hostname.activebooleanSwitched off and on again, it gets a new name.
alternative_hostname.noindexbooleanAsk search engines not to index it under this name.
certificatestringletsencrypt (free, added and renewed by manitu) or none (rarely wanted). Let's Encrypt needs the domain at manitu (not while a transfer is pending) and an active website; it is usually there within an hour. A custom certificate is uploaded in the customer panel - here it is only kept.
statusstringinactive: switch it off (e.g. for maintenance) - the files are kept, visitors get when_inactive; no Let's Encrypt certificate is renewed meanwhile.
when_inactiveobjectWhat visitors get while it is inactive.
when_inactive.responsestringhttp_status_403, http_status_404, http_status_503 (tells search engines to come back), hide (as if there were no website) or page (one of manitu's, see page).
when_inactive.pagestringFor response page: disabled, underconstruction or maintenance. The customer's duties (imprint, privacy information) stay his.
descriptionstring | nullThe customer's description, for his own overview. Left out: unchanged (set) or none (create); null or empty: none.
Response in data; the rest of the body as on every call
fqdnstringrequiredThe name, e.g. www.example.de - a domain or subdomain of the package; what the other tools take. Unicode for an internationalized domain.
fqdn_asciistringrequiredThe same name as DNS has it (xn--... for an internationalized domain).
typestringrequiredwebsite (the customer's files from a folder, or a redirect to a URL), websitebuilder (made with manitu's website builder) or alias (a further name of a website - see alias).
statusstringrequiredinactive: switched off, the files are kept - visitors get when_inactive.
when_inactiveobjectrequiredWhat visitors get while it is inactive.
when_inactive.responsestringrequiredAn HTTP status (403, 404, 503 - 503 tells search engines to come back), hide (as if there were no website) or page (a page of manitu's, see page).
when_inactive.pagestring | nullrequiredWhich page, for response page: disabled, underconstruction or maintenance.
websiteobject | nullrequiredFor type website, else null.
website.target_dirstring | nullrequiredThe folder shown, relative to the web root, e.g. /htdocs/www.example.com/ (the older layout: /web/...) - see manitu_webhosting_web_structure_get; null when it redirects.
website.redirect_urlstring | nullrequiredThe URL every visitor is sent to - null when it shows a folder.
website.allow_wordpress_xmlrpcbooleanrequiredWordPress' XML-RPC interface reachable - off by default, a frequent target of brute force attacks that manitu's firewall cannot block.
websitebuilderobject | nullrequiredFor type websitebuilder, else null. The editor opens with manitu_webhosting_web_vhost_websitebuilder_get.
websitebuilder.target_dirstringrequiredThe folder manitu set for it - not to be changed.
aliasobject | nullrequiredFor type alias, else null. An alias shows what its website shows, with its HTTPS settings; status, certificate and description are its own.
alias.ofstring | nullrequiredThe website it belongs to (fqdn) - null only for an old alias that lost it.
alias.redirect_to_parentbooleanrequiredVisitors are redirected to the website's name (HTTP 301); false: the alias shows the same under its own name.
httpsobject | nullrequiredFor a website or websitebuilder; null for an alias (its website's apply).
https.redirectbooleanrequiredVisitors coming with http:// are sent to https://.
https.hstsobjectrequiredHSTS (Strict-Transport-Security): browsers remember to use only HTTPS.
https.hsts.activebooleanrequiredhttps.hsts.max_ageintegerrequiredHow long browsers remember it, in seconds.
https.hsts.include_subdomainsbooleanrequiredhttps.hsts.preloadbooleanrequiredalternative_hostnameobject | nullrequiredA second name under vhost.manitu.de that shows the same - e.g. before a domain transfer or while DNS is not there yet. Null for an alias.
alternative_hostname.activebooleanrequiredalternative_hostname.fqdnstring | nullrequiredThe name, e.g. 1a2b3c4d.vhost.manitu.de - null while not active. A new one each time it is switched on.
alternative_hostname.noindexbooleanrequiredSearch engines are asked not to index it under this name.
alias_listarray of string | nullrequiredIts aliases (fqdn) - null for an alias.
certificateobject | nullrequiredIts SSL certificate - null if none.
certificate.typestringrequiredcertificate.statusstringrequiredpending: asked for, usually issued within an hour; error: could not be issued - often the name does not point to manitu yet.
certificate.expires_atstring | nullrequiredWhen it runs out (the same as manitu_webhosting_web_certificate_get) - Let's Encrypt renews in time; null while pending.
descriptionstring | nullrequiredWhat the customer wrote about it (his description), null if nothing - not its name or user name.
created_atstring | nullrequiredStatuses
200Success.400The request does not match the declared input schema.401No credential was presented, or it was not recognised.403The credential is not permitted to use this operation.500The server failed. Nothing about the request was wrong. Whether a change took effect is not known - check before trying it again.503The channel this operation forwards through is unavailable.