Update Current User
You can partially update a user's profile by sending only the fields you want to change. Certain fields, like company.vatId, can be set to null to clear existing values.
HTTP Request
PUT /api/v1/me
Below is a summary of updateable fields. All others remain unchanged if omitted.
| Parameter | Description |
|---|---|
email string, optional | User's email address. |
phone string, optional | Phone number in international format with country code (e.g., +421901234567). See Phone Numbers. |
password string, optional | New password (min. 8 characters, including letters and numbers). |
passwordConfirmation string, optional | Must match password. |
firstName string, optional | First name. |
lastName string, optional | Last name. |
billingAddress object, BillingAddress, optional | Updated billing address. |
shippingAddress object, ShippingAddress, optional | Updated shipping address. |
company object, Company, optional | Entire company block. Any omitted attribute (e.g., vatId) is overwritten as null. |
bankAccount object, BankAccount, optional | Bank details. |
newsletterSubscribed boolean, optional | If omitted, subscription status remains unchanged. true updates timestamp; false cancels the subscription. |
regions array, optional | Array of region codes where expert provides services (experts only). Min 1, max 8 regions. See Regions. |
Response
200 OK
Returns the updated User Object wrapped in a data key.
Authentication
Requires authentication via Bearer token.
401 Unauthorized
json
{
"message": "Unauthenticated."
}Error Handling
Validation Errors
422 Unprocessable Entity
json
{
"message": "The email has already been taken.",
"errors": {
"email": ["The email has already been taken."]
}
}Returned when validation fails for any field. Common issues:
- Email already in use
- Phone number already registered
- Password doesn't meet requirements
- Invalid address format
- IBAN must be a valid Slovak (SK) IBAN