POST
Update user profile

Authorizations

Authorization
string
header
required

The end user's JWT access token, sent as Authorization: Bearer <token>.

Obtain one from POST /partner/customers or POST /partner/customers/login — both return it as token. It identifies which of your users a call is made for, and is sent alongside your X-API-Key on every authenticated endpoint.

Event discovery, categories, subcategories and scores are public and need no token.

X-API-Key
string
header
required

ISV / partner credential — public half. Required on every request.

Identifies the integration partner (ISV) making the call. Issued by Dime Trades when the ISV is onboarded and sent on every /partner/* endpoint:

  • On the two partner endpoints that create accounts or issue tokens (POST /partner/customers, POST /partner/customers/login), it is accompanied by X-API-Secret and is the only authentication — there is no user token yet.
  • On every other partner endpoint it is sent alongside the user's Authorization: Bearer <token>: the API key says which platform is calling, the bearer token says which user it is calling for.

Credentials are scoped to one or more brands; using a key with a brandId outside that scope returns 403. Staging and production keys are separate. The key identifies your platform — treat it as a backend credential.

Body

username
string

New username. Letters and numbers only; must be unique across Dime Trades.

Minimum string length: 1
Pattern: ^[a-zA-Z0-9]+$
Example:

"johndoe123"

firstName
string
Required string length: 2 - 50
Pattern: ^[a-zA-Z ]+$
Example:

"John"

lastName
string
Maximum string length: 50
Pattern: ^[a-zA-Z]+$
Example:

"Doe"

dateOfBirth
string<date>

YYYY-MM-DD. Users under 18 rejected with 400.

Example:

"1990-01-01"

stateCode
string

US state code.

Example:

"US"

address
string
Example:

"123 Market St"

city
string
Maximum string length: 30
Example:

"New York"

postalCode
string
Example:

"10001"

ssn
string

Encrypted at rest; 409 if already used by another approved account.

locale
string
Maximum string length: 5
Example:

"en"

occupation
string
Maximum string length: 150
income
number
Required range: x >= 0
phone
string

Must not already be verified on another account.

Maximum string length: 20
Example:

"+12025550123"

phoneCode
string
Maximum string length: 10
Example:

"+1"

participantAgreement
boolean

Set true to accept the participant agreement.

profileImage
file

Profile image file (multipart). Validated by content (magic bytes), uploaded to S3.

Response

Profile updated successfully.

data
object
errors
any[]