Update current account profile

Update mutable profile fields on the authenticated account and return the refreshed AccountMe snapshot. Send only the documented public v2 fields; do not send accountId, internal field names, email, password, MFA, BankID-only login, or BankID personnummer values here. Email and password changes use dedicated /api/v2/me/actions/... routes. Delegated-access sessions and admin sessions that are not impersonating a client cannot mutate profile details through this endpoint.

Account & Access Account

Authentication

Required API scope: write:account

Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.

Context

Headers

Accept Example
Content-Type Example

Body

required
application/json
firstName string · Example: Anna
lastName string · Example: Svensson
companyName stringnull · Example: Example AB
countryCode string · Example: SE
phoneNumber string · Example: +46700000000
languageCode string · enum · Example: sv

Preferred language as an ISO-style language code.

sv
en
no
da
fi
de
vatNumber stringnull · Example: SE559999999901
invoiceReference stringnull · Example: Cost center 42
accountType string · enum · Example: organisation
private
organisation
registrationIdentifier object | null

Organisation number or personal identifier. Send null to clear it.

address object

Responses

200 Profile updated. The response is the refreshed current-account snapshot.
id string · Example: client_01hxa3b4c5d6e7f8g9h0j1k2m3

Public client/account ID.

name stringnull · Example: Anna Svensson

Best display name for the account.

email stringnull · Example: [email protected]
firstName stringnull · Example: Anna
lastName stringnull · Example: Svensson
companyName stringnull · Example: null
registrationIdentifier null

Normalized organisation number or personal identifier when present.

countryCode stringnull · Example: SE
phoneNumber stringnull · Example: +46700000000

Normalized E.164-style phone number when present.

languageCode stringnull · Example: sv
currencyCode stringnull · Example: SEK
accountType string · enum · Example: private
private
organisation
vatNumber stringnull · Example: null
invoiceReference stringnull · Example: null

Custom invoice reference line shown on future invoices.

profileRequirements object | null

Profile fields the account must complete for active services or future order flows.

profileRequirements.fields object required
profileRequirements.fields.phoneNumber object required

Server-derived account-profile requirement. Consumers should render this decision instead of re-deriving registry or product rules locally.

profileRequirements.fields.phoneNumber.required boolean required · Example: true
profileRequirements.fields.phoneNumber.fulfilled boolean required · Example: false
profileRequirements.fields.phoneNumber.reason stringnull required · Example: A phone number is required because your account has active domains.
profileRequirements.fields.phoneNumber.source stringnull · enum required · Example: active_domains
active_domains
active_se_nu_domains
profileRequirements.fields.phoneNumber.domainCount integer required · Example: 2
profileRequirements.fields.registrationIdentifier object required

Server-derived account-profile requirement. Consumers should render this decision instead of re-deriving registry or product rules locally.

profileRequirements.fields.registrationIdentifier.required boolean required · Example: true
profileRequirements.fields.registrationIdentifier.fulfilled boolean required · Example: false
profileRequirements.fields.registrationIdentifier.reason stringnull required · Example: A phone number is required because your account has active domains.
profileRequirements.fields.registrationIdentifier.source stringnull · enum required · Example: active_domains
active_domains
active_se_nu_domains
profileRequirements.fields.registrationIdentifier.domainCount integer required · Example: 2
profileRequirements.missingFields array<string> required · Example: ["phoneNumber"]
address object
address.street stringnull required · Example: Examplegatan 1
address.city stringnull required · Example: Stockholm
address.postalCode stringnull required · Example: 12345
address.state stringnull required · Example: null
verified boolean · Example: true

Whether the account identity has been verified.

adminId stringnull · Example: null

Admin ID only when an admin is impersonating a client.

isAdmin boolean · Example: false
isContact boolean · Example: false
canPlaceOrders boolean · Example: true
impersonating boolean · Example: false
authType string · enum · Example: session
session
api-key
admin
bankid-selection
billing-sso
shouldMigrateMFA boolean · Example: false
bankidUserName stringnull · Example: Anna Svensson
scopes array<string> · Example: ["read:account","write:account"]
canViewInvoices boolean · Example: true
canViewTickets boolean · Example: true
canAccessCdn boolean · Example: true
canRequestEpp boolean · Example: true
adminUsername stringnull · Example: null
adminRoles array<string> · Example: []
adminLanguage stringnull · Example: null
parentClientId stringnull · Example: null
parentEmail stringnull · Example: null
isBillingSso boolean · Example: false
isDelegatedAccess boolean · Example: false
hasDelegatedGrants boolean · Example: false
hasOwnedAccounts boolean · Example: false
delegatedLabel stringnull · Example: null
delegatedGrantId stringnull · Example: null
uiBanners object | null

Precomputed dashboard banner decisions, or null when not applicable to the caller.

uiBanners.eurCurrency object required
uiBanners.eurCurrency.show boolean required · Example: false
uiBanners.eurCurrency.reason stringnull required · Example: User country is SE - banner suppressed.
uiBanners.pendingOrder object required
uiBanners.pendingOrder.show boolean required · Example: false
uiBanners.pendingOrder.reason stringnull required · Example: BankID verification already completed.
uiBanners.pendingOrder.order objectnull required · Example: null
emailChangeState object
emailChangeState.status string · enum required · Example: none
none
pending
verified
emailChangeState.pendingEmail stringnull required · Example: null
emailChangeState.expiresAt stringnull required · Example: null
actions object
actions.canChangeEmail object required
actions.canChangeEmail.allowed boolean required · Example: true
actions.canChangeEmail.reason stringnull required · Example: null
actions.canChangeEmail.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

actions.canChangePassword object required
actions.canChangePassword.allowed boolean required · Example: true
actions.canChangePassword.reason stringnull required · Example: null
actions.canChangePassword.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

actions.canSetupBankID object required
actions.canSetupBankID.allowed boolean required · Example: true
actions.canSetupBankID.reason stringnull required · Example: null
actions.canSetupBankID.code stringnull · Example: pending_order

Machine-readable reason code when an action is blocked.

400 The request body failed validation.
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 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 The current session is not allowed to update this account profile.
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
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
PATCH https://cloud.hostup.se/api/v2/me
For AI assistants
View as Markdown
cURL
curl -X PATCH "https://cloud.hostup.se/api/v2/me" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
    "phoneNumber": "+46700000000",
    "registrationIdentifier": {
      "value": "850507-3412",
      "countryCode": "SE"
    }
  }'
Response
{
  "id": "client_01hxa3b4c5d6e7f8g9h0j1k2m3",
  "name": "Anna Svensson",
  "email": "[email protected]",
  "firstName": "Anna",
  "lastName": "Svensson",
  "companyName": "Example AB",
  "registrationIdentifier": {
    "value": "850507-3412",
    "countryCode": "SE",
    "type": "personal_identifier"
  },
  "countryCode": "SE",
  "phoneNumber": "+46700000000",
  "languageCode": "sv",
  "currencyCode": "SEK",
  "accountType": "organisation",
  "vatNumber": null,
  "invoiceReference": "websites",
  "profileRequirements": {
    "fields": {
      "phoneNumber": {
        "required": true,
        "fulfilled": true,
        "reason": "A phone number is required because your account has active domains.",
        "source": "active_domains",
        "domainCount": 2
      },
      "registrationIdentifier": {
        "required": true,
        "fulfilled": true,
        "reason": "A personal identity number is required because your account has active .se or .nu domains.",
        "source": "active_se_nu_domains",
        "domainCount": 1
      }
    },
    "missingFields": []
  },
  "address": {
    "street": "Examplegatan 1",
    "city": "Stockholm",
    "postalCode": "12345",
    "state": "Stockholm County"
  },
  "verified": true,
  "adminId": null,
  "isAdmin": false,
  "isContact": false,
  "canPlaceOrders": true,
  "impersonating": false,
  "authType": "session",
  "shouldMigrateMFA": false,
  "bankidUserName": "Anna Svensson",
  "scopes": [
    "read:account",
    "write:account",
    "read:billing",
    "read:support"
  ],
  "canViewInvoices": true,
  "canViewTickets": true,
  "canAccessCdn": true,
  "canRequestEpp": true,
  "adminUsername": null,
  "adminRoles": [],
  "adminLanguage": null,
  "parentClientId": null,
  "parentEmail": null,
  "isBillingSso": false,
  "isDelegatedAccess": false,
  "hasDelegatedGrants": false,
  "hasOwnedAccounts": false,
  "delegatedLabel": null,
  "delegatedGrantId": null,
  "uiBanners": {
    "eurCurrency": {
      "show": false,
      "reason": "User country is SE - banner suppressed."
    },
    "pendingOrder": {
      "show": false,
      "reason": "BankID verification already completed.",
      "order": null
    }
  },
  "emailChangeState": {
    "status": "none",
    "pendingEmail": null,
    "expiresAt": null
  },
  "actions": {
    "canChangeEmail": {
      "allowed": true,
      "reason": null
    },
    "canChangePassword": {
      "allowed": true,
      "reason": null
    },
    "canSetupBankID": {
      "allowed": true,
      "reason": null
    }
  }
}
Request Body Complete profile fields needed for domain orders
{
  "phoneNumber": "+46700000000",
  "registrationIdentifier": {
    "value": "850507-3412",
    "countryCode": "SE"
  }
}