A User Profile that does not yet exist by
uid will first be created and then updated with the other data included in this request.
Profile data updates are processed synchronously on the application server.
Create/Update a Profile
- When you are creating the User Profile, send the User ID as
uidand any other properties pertinent to that Profile. - When you are updating the User Profile, send the User ID as
uid, the Email address asemailor the Chameleon ID asidand any other properties pertinent to that Profile.
HTTP Request
| param | - | description |
|---|---|---|
id | optional | The Chameleon ID of the User Profile |
uid | optional | The User Profile Identifier (typically the Database ID from your backend) |
email | optional | The User Profile Email address (only use this if you send the email property from your JavaScript installation) |
company_id | optional | The Chameleon Company ID that this user is a member of |
company_uid | optional | The external ID of the Company from your backend system |
| *others | optional | All other properties will be stored on the Profile |
uid=18821 is a member of the uid=931 Company
HTTP Response
Disabling all Chameleon Experiences
To disable all Chameleon Experiences you can add thedisabled: true boolean value for the use via the JavaScript API or via REST API
Limits
- Up to a total of 768 bytes are stored for each scalar value where each Array item and each Hash value can reach this limit.
- See the full page on Normalization for more information on these limits.
Normalization
- Property names are normalized to lower case and underscored i.e.
userRole=>user_role. - See the full page on Normalization for more information on how properties are normalized.
Bulk Create/Update Profiles
- When sending a bulk create/update send an array of User Profile objects as the
profilesparameter - For each User Profile, send the User ID as
uidand any other properties pertinent to that Profile. - Instead of the
uidyou may use the Email address asemail.
HTTP Request
| param | - | description |
|---|---|---|
profiles | array<User Profile> | The list of User Profiles to update; each item has the same schema as the Single Profile update |
on_model_missing | optional | The treatment of User Profiles not previously sent to Chameleon. Defaults to create. One of create, ignore |
uid=18821 is a member of the uid=931 Company and The user with uid=28421 is a member of the uid=632 Company
HTTP Response
HTTP Response error
When the 4430th item had no value foruid or email keys
Note: The status code will be the normal 202 for (Accepted for processing)
Limits
- The size of each batch request is limited to 16mb
- As with the Single Profile update, up to a total of 768 bytes are stored for each scalar value where each Array item and each Hash value can reach this limit.
- See the full page on Normalization for more information on these limits.
Examples
Either set the number of items per batch to 10,000 OR to approximate the number of items per batch (based on the average payload size), divide (16777216 / “Average characters in JSON payload per item”) * 0.95With the following update, you can send approximately 265,000 User Profiles per batch request

