Skip to content

Update User Profile

PUT
/api/v1/user/profile

Update the authenticated user’s profile

object
fullName

User’s full name

string | null
>= 1 characters <= 100 characters
Example
John Doe
displayName

Display name (alias for fullName)

string
<= 100 characters
avatarUrl

Profile picture URL

string | null format: uri
birthYear

Birth year

integer | null
>= 1900 <= 2008
Example
1990
baseCurrency

Preferred base currency

string
>= 3 characters <= 3 characters
Example
EUR
countryCode

Country code (ISO 3166-1 alpha-2)

string | null
>= 2 characters <= 2 characters
Example
DE
city

City of residence

string | null
<= 100 characters
Example
Berlin
currentCitySlug

Slug FK to numbeo_data for geo-arbitrage

string | null
<= 200 characters
Example
berlin-germany
timezone

Timezone

string
Example
Europe/Berlin
annualIncome

Annual income after tax

number
<= 100000000
Example
80000
annualExpenses

Annual expenses

number
<= 100000000
Example
40000
monthlyPassiveIncome

Monthly passive income (dividends, rental, interest)

number
<= 10000000
Example
500
currentSavings

Current savings/net worth

number
<= 1000000000
Example
200000
fireType

Preferred FIRE strategy type

string | null
Example
traditional
riskTolerance

Investment risk tolerance level

string | null
Allowed values: conservative moderate aggressive
Example
moderate
targetFIAge

Target age to reach FI

integer | null
>= 18 <= 100
Example
45
preferences

User preferences object

object
key
additional properties

Profile updated

object
success
required
boolean
data
required
object
id
required

User ID

string format: uuid
Example
550e8400-e29b-41d4-a716-446655440000
email
required

User email

string format: email
Example
user@example.com
fullName
required

User’s full name

string | null
Example
John Doe
avatarUrl
required

Profile picture URL

string | null format: uri
subscriptionTier
required

Current subscription tier

string
Allowed values: free starter pro enterprise
Example
pro
subscriptionStatus
required

Subscription status

string
Allowed values: active trialing past_due canceled incomplete
Example
active
trialEndsAt
required

Trial end date (if applicable)

string | null format: date-time
Example
2024-01-15T10:30:00Z
currentPeriodEnd
required

Current billing period end date

string | null format: date-time
Example
2024-01-15T10:30:00Z
createdAt
required

Account creation date

string format: date-time
Example
2024-01-15T10:30:00Z
updatedAt
required

Last profile update

string format: date-time
Example
2024-01-15T10:30:00Z
meta
required
object
timestamp
required

Timestamp in ISO 8601 format

string format: date-time
Example
2024-01-15T10:30:00Z

Validation error

object
success
required

Always false for error responses

boolean
error
required

Error type

string
Example
Validation error
code

Machine-readable error code

string
Example
VALIDATION_ERROR
details

Detailed validation errors

Array<object>
object
path
required

Path to the invalid field

string
Example
currentAge
message
required

Error message

string
Example
Must be between 18 and 100

Unauthorized

object
success
required

Always false for error responses

boolean
error
required

Error type

string
Example
Validation error
code

Machine-readable error code

string
Example
VALIDATION_ERROR
details

Detailed validation errors

Array<object>
object
path
required

Path to the invalid field

string
Example
currentAge
message
required

Error message

string
Example
Must be between 18 and 100