Skip to main content
PUT
/
2025-06-09
/
users
/
{userLocator}
Create or Update User
curl --request PUT \
  --url https://staging.crossmint.com/api/2025-06-09/users/{userLocator} \
  --header 'Content-Type: application/json' \
  --header 'X-API-KEY: <x-api-key>' \
  --data '
{
  "userDetails": {
    "firstName": "John",
    "lastName": "Doe",
    "dateOfBirth": "1990-01-15",
    "countryOfResidence": "US"
  },
  "kycData": {
    "addressOfResidence": {
      "line1": "123 Main Street",
      "line2": "Apt 4B",
      "city": "New York",
      "state": "NY",
      "postalCode": "10001"
    },
    "email": "[email protected]",
    "phoneNumber": "+1234567890",
    "identityDocument": {
      "type": "passport",
      "number": "AB123456"
    }
  },
  "dueDiligence": {
    "employmentStatus": "full-time",
    "sourceOfFunds": "employment-income",
    "industry": "finance-insurance"
  },
  "verificationHistory": {
    "idVerificationTimestamp": "2024-01-15T10:30:00Z",
    "livenessVerificationTimestamp": "2024-01-15T10:32:00Z"
  }
}
'
{
  "email": "[email protected]",
  "phoneNumber": "+1234567890",
  "userId": "usr_1234567890",
  "userDetails": true,
  "kycData": false,
  "dueDiligence": false,
  "verificationHistory": false
}

Headers

X-API-KEY
string
required

API key required for authentication

Path Parameters

userLocator
string
required

Body

application/json
userDetails
object

Optional user details including name, date of birth, and country of residence

Example:
{
"firstName": "John",
"lastName": "Doe",
"dateOfBirth": "1990-01-15",
"countryOfResidence": "US"
}
kycData
object

Optional KYC data for identity verification

Example:
{
"addressOfResidence": {
"line1": "123 Main Street",
"line2": "Apt 4B",
"city": "New York",
"state": "NY",
"postalCode": "10001"
},
"email": "[email protected]",
"phoneNumber": "+1234567890",
"identityDocument": { "type": "passport", "number": "AB123456" }
}
dueDiligence
object

Optional due diligence information for compliance purposes

Example:
{
"employmentStatus": "full-time",
"sourceOfFunds": "employment-income",
"industry": "finance-insurance"
}
verificationHistory
object

Optional verification timestamps.

Example:
{
"idVerificationTimestamp": "2024-01-15T10:30:00Z",
"livenessVerificationTimestamp": "2024-01-15T10:32:00Z"
}

Response

User updated

Response schema indicating which user data fields have been populated

userDetails
boolean
required

Whether user details have been provided

Example:

true

kycData
boolean
required

Whether KYC data has been provided

Example:

false

dueDiligence
boolean
required

Whether due diligence data has been provided

Example:

false

verificationHistory
boolean
required

Whether verification history has been provided

Example:

false

email
string

User's email address

phoneNumber
string

User's phone number

Example:

"+1234567890"

userId
string

Unique user identifier

Example:

"usr_1234567890"