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.
write:account
Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.
Accept Example Content-Type Example 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 id string
· Example: client_01hxa3b4c5d6e7f8g9h0j1k2m3 Public client/account ID.
name stringnull
· Example: Anna Svensson Best display name for the account.
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.
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 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 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/me 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"
}
}' {
"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
}
}
} {
"phoneNumber": "+46700000000",
"registrationIdentifier": {
"value": "850507-3412",
"countryCode": "SE"
}
}