List email accounts

GET /api/v2/shared-hosting/{accountId}/email-accounts

List email accounts on a cPanel-backed shared-hosting account.

Get accountId from GET /api/v2/shared-hosting data[].id.

Internationalized mailbox domains are returned in readable Unicode form even when cPanel stores them as punycode.

The email account list and account quota are loaded from the same cPanel account session; transient control-panel failures return upstream_failed.

If this returns account_not_eligible_cpanel, the selected hosting account uses HostUp's legacy control panel.

Use the control panel SSO link to view email accounts manually, or contact support to migrate the account to a newer cPanel-backed plan.

Web Hosting Email

Authentication

Required API scope: read:hosting

Authenticate with an API key in the Authorization: Bearer <token> header.

Context

Path Parameters

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.

Query Parameters

domain string · Example: example.com

Optional domain filter. Unicode IDN and punycode spellings are both accepted. The domain must be hosted on the shared-hosting account.

Headers

Authorization Bearer <token>
Accept application/json

Responses

200 Email account collection.
emailAccounts array<object> required
emailAccounts[].id string required · Example: mail_01hxa3b4c5d6e7f8g9h0j1k2m3
emailAccounts[].email string required · Example: [email protected]
emailAccounts[].domain string required · Example: example.com
emailAccounts[].quota object required
emailAccounts[].quota.usedGb number · nullable required · Example: 0.125

Nullable: may be null when not applicable.

emailAccounts[].quota.limitGb number · nullable required · Example: 32

Nullable: may be null when not applicable.

emailAccounts[].quota.usagePercent number · nullable required · Example: 0.39

Nullable: may be null when not applicable.

emailAccounts[].quota.exceeded boolean required · Example: false
quota object required
quota.used integer required · Example: 1
quota.limit integer · nullable required · Example: 10

Nullable: may be null when not applicable.

quota.remaining integer · nullable required · Example: 9

Nullable: may be null when not applicable.

actions object required
actions.canCreate object required
actions.canCreate.allowed boolean required · Example: true
actions.canCreate.reason string · nullable required · Example: null

Nullable: may be null when not applicable.

actions.canCreate.code string · nullable · Example: pending_order

Machine-readable reason code when an action is blocked.

400 Invalid request. The response body is an RFC 7807 Problem Details document.
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
401 Unauthorized. Authentication is required.
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
403 Forbidden. The caller lacks a required scope or does not own the resource.
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
404 Not found. The resource does not exist or is not owned by the caller.
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
409 The hosting account uses HostUp's legacy control panel, so email account listing is not available through this API.
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
429 Rate limited. Retry after the limit resets. 429 responses include Retry-After seconds plus X-RateLimit-* headers.
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
500 Internal error. Retry later or contact support if the issue persists.
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
GET https://cloud.hostup.se/api/v2/shared-hosting/{accountId}/email-accounts
For AI assistants
View as Markdown
cURL
curl -X GET "https://cloud.hostup.se/api/v2/shared-hosting/acct_01hxa3b4c5d6e7f8g9h0j1k2m3/email-accounts" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
Response
{
  "emailAccounts": [
    {
      "id": "mail_01hxa3b4c5d6e7f8g9h0j1k2m3",
      "email": "[email protected]",
      "domain": "example.com",
      "quota": {
        "usedGb": 0.125,
        "limitGb": 32,
        "usagePercent": 0.39,
        "exceeded": false
      }
    }
  ],
  "quota": {
    "used": 1,
    "limit": 10,
    "remaining": 9
  },
  "actions": {
    "canCreate": {
      "allowed": true,
      "reason": null
    }
  }
}