/api/v2/shared-hosting/{accountId}/mail-settings Return the IMAP/POP3/SMTP client settings and webmail address for one domain hosted on the account.
The domain must be hosted on the account (main, addon, parked or sub domain), otherwise the request fails with 403 domain_not_owned.
Accounts on a legacy control panel return 409 account_not_eligible_cpanel.
The username for all servers and webmail is always the full email address; the password is the mailbox password.
alternativeHostname (mail.<domain>) can replace the server hostname when the domain's SSL certificate covers it — the server hostname always has a valid certificate and is the safe default.
read:hostingconsole:services
Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.
accountId string required
Example: acct_01hxa3b4c5d6e7f8g9h0j1k2m3 Public shared-hosting account ID. Get it from GET /api/v2/shared-hosting data[].id. Do not invent this value; use the exact ID returned by the referenced API response.
domain string required
· Example: example.com Hosted domain to return mail app settings for.
Authorization Bearer <token> Accept application/json domain string required
· Example: example.com incoming object required incoming.imap object required incoming.imap.hostname string required
· Example: web12.hostup.se incoming.imap.port integer required
· Example: 993 incoming.imap.encryption string · enum required
· Example: ssl_tls ssl_tls starttls incoming.pop3 object required incoming.pop3.hostname string required
· Example: web12.hostup.se incoming.pop3.port integer required
· Example: 995 incoming.pop3.encryption string · enum required
· Example: ssl_tls ssl_tls starttls outgoing object required outgoing.smtp array<object> required Both supported submission endpoints; either works — port 465 uses implicit SSL/TLS (ssl_tls), port 587 uses STARTTLS (starttls).
outgoing.smtp[].hostname string required
· Example: web12.hostup.se outgoing.smtp[].port integer required
· Example: 465 outgoing.smtp[].encryption string · enum required
· Example: ssl_tls ssl_tls starttls usernameFormat string · enum required
· Example: full_email_address The mail app username is always the full email address (never a bare local part).
full_email_address webmailUrl string required
· Example: https://web12.hostup.se:2096 Browser webmail login for the same mailboxes (sign in with the full email address and the mailbox password).
alternativeHostname string required
· Example: mail.example.com mail.
notes array<string> required Plain-English setup guidance to show the customer verbatim.
type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object No response body
type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object No response body
Retry-After seconds plus X-RateLimit-* headers. 10 fields type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object type string
· Example: https://developer.hostup.se/errors/invalid_request title string
· Example: Validation failed status integer
· Example: 400 detail string
· Example: The request body failed validation. code string
· Example: invalid_request Stable machine-readable code. Branch on this field, not on detail.
instance string
· Example: /api/v2/orders requestId string
· Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3 timestamp string
· Example: 2026-04-27T12:34:56.000Z errors array<object> Field-level validation errors when code is invalid_request.
errors[].pointer string required
· Example: /items/0/eppCode errors[].detail string required
· Example: `eppCode` is required for this transfer. errors[].code string required
· Example: missing_required extensions object https://cloud.hostup.se/api/v2/shared-hosting/{accountId}/mail-settings curl -X GET "https://cloud.hostup.se/api/v2/shared-hosting/acct_01hxa3b4c5d6e7f8g9h0j1k2m3/mail-settings?domain=example.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" {
"domain": "example.com",
"incoming": {
"imap": {
"hostname": "web12.hostup.se",
"port": 993,
"encryption": "ssl_tls"
},
"pop3": {
"hostname": "web12.hostup.se",
"port": 995,
"encryption": "ssl_tls"
}
},
"outgoing": {
"smtp": [
{
"hostname": "web12.hostup.se",
"port": 465,
"encryption": "ssl_tls"
},
{
"hostname": "web12.hostup.se",
"port": 587,
"encryption": "starttls"
}
]
},
"usernameFormat": "full_email_address",
"webmailUrl": "https://web12.hostup.se:2096",
"alternativeHostname": "mail.example.com",
"notes": [
"Sign in with the full email address as the username and the mailbox password as the password — the same login works for webmail.",
"mail.example.com can be used instead of web12.hostup.se for the incoming and outgoing servers, but its certificate depends on the domain's SSL setup. If the mail app shows a certificate or security warning, use web12.hostup.se — it always has a valid certificate.",
"Use IMAP rather than POP3 when the mailbox is read on more than one device — IMAP keeps mail on the server and in sync."
]
}