User Profile
Request Details
| Item | Value |
| Description | Returns profile information for a CrowdTwist loyalty member. The v3 response groups fields into selectable sections. |
| Method | GET |
| Endpoint | https://[environment]api[client_id].crowdtwist.com/v3/users/[user_id]?api_key=[api_key]&id_type=[id_type]&include=[include_sections] |
| Content Type | application/json |
Host and Path Parameters
| Parameter | Location / type | Required | Description |
| environment | host / string | Yes | Environment prefix used to construct the client-specific CrowdTwist API host. Deployment-specific value. |
| client_id | host / string | Yes | Client identifier embedded in the CrowdTwist API host name. Deployment-specific value. |
| user_id | path / string | Yes | Unique user identifier. Supported identifier forms in the legacy contract include third-party ID, CrowdTwist ID, email address, mobile phone number, Facebook user ID, Twitter user ID, and username. Interpret the value using id_type. |
Request Query Parameters
| Parameter | Location / type | Required | Description |
| api_key | query / string | Yes | API key used for client identification and authentication. Treat as a secret and transmit only over HTTPS. |
| id_type | query / string | No | Identifies the type of user_id. Supported values are third_party_id, id (CrowdTwist), email_address, mobile_phone_number, facebook_user_id, twitter_user_id and username. |
| include | query / string or list | No | Section selector for the response. Supply one or more supported option names as a comma-separated value. If omitted only the user_id will be returned |
| pii | query / string or list | No | If set to false, no pii would be returned. If pii is passed as &pii , but true or false is not set then it will be treated as false. If set to true, pii would be returned. If not added, pii would be returned. |
Include Options
| Option | Response type | Selectable | Contents |
| profile | object | Yes | Core identity, account status, timestamps, and points balances. |
| profile_extended | object | Yes | Demographic, address, sign-up, and email preference fields. |
| social | object | Yes | Referral and connected social-account fields. |
| tier | object | Yes | Tier level, score, progress, maintenance, and expiration information. |
| segments | array | Yes | Segments currently linked to the member. |
| custom_data | object | Yes | Client-configurable custom profile data. |
| household | object | Yes | Household membership identifier. |
Response Body
A successful response returns the internal CrowdTwist member ID and the requested section objects. Section presence depends on include behavior; sample values below are taken from the supplied payload.
Top-Level Object
| Field | Type | Sample Value | Description |
| id | integer | 49261260 | Internal CrowdTwist member user ID. |
| profile | object | { "first_name": "John", ... } | Core member profile. Included when profile is requested. |
| profile_extended | object | { "gender_id": "2", ... } | Extended profile. Included when profile_extended is requested. |
| social | object | { "referral_url": "http://rewards.crowdtwist.com...", ... } | Social and referral data. Included when social is requested. |
| tier | object | { "timeframe_score": 0, ... } | Tier information. Included when tier is requested. |
| segments | array<object> | [{ "subscription_id": 20, ... }] | Linked segment records. Included when segments is requested. |
| custom_data | object | { "register_id": "1", "cashier_id": "2" } | Client-configurable properties. Included when custom_data is requested. |
| household | object | { "household_id": 4 } | Household data. Included when household is requested. |
profile
| Field | Type | Sample Value | Description |
| first_name | string | John | User's first name. PII-sensitive in the legacy contract. |
| middle_name | string | null | User's middle name. PII-sensitive in the legacy contract. |
| last_name | string | George | User's last name. PII-sensitive in the legacy contract. |
| date_of_birth | string (date-time) | 2022-06-13T22:52:35Z | User's date of birth represented as an ISO 8601 timestamp. PII-sensitive. |
| email_address | string (email) | johng@gmail.com | User's email address. PII-sensitive. |
| email_is_verified | boolean | true | Whether the user's email is verified. The legacy reference notes that verified email is required for reward redemption. |
| username | string | John453453 | Unique username. PII-sensitive in the legacy contract. |
| mobile_phone_number | string | 4964567877 | User's mobile phone number. PII-sensitive. |
| third_party_id | string | null | User's third-party identifier. |
| is_active | boolean | true | Whether the user is active rather than inactive/disabled. |
| lang_pref | string | en | User's language preference, such as a language code. |
| date_last_login | string (date-time) | 2022-06-13T22:52:35Z | Most recent login date/time in ISO 8601 format. |
| date_last_updated | string (date-time) | 2022-06-13T22:52:35Z | Date/time the user was last updated, in ISO 8601 format. |
| date_created | string (date-time) | 2022-06-13T22:52:35Z | Date/time the user was created on the platform, in ISO 8601 format. |
| total_points | integer | 60220 | Lifetime points earned. |
| redeemable_points | integer | 6553 | Points currently available for redemption. |
profile_extended
| Field | Type | Sample Value | Description |
| gender_id | string | 2 | Internal CrowdTwist gender ID: 1 Female, 2 Male, 3 Non-binary, 4 Other, 5 Prefer not to identify. PII-sensitive. |
| gender | string | Male | Gender label corresponding to gender_id. PII-sensitive. |
| continent | string | North America | Continent provided for the user. PII-sensitive. |
| country | string | United States | Country provided for the user. PII-sensitive. |
| us_region | string | Northeast | U.S. region provided for the user. PII-sensitive. |
| ca_province | string | null | Canadian province, when applicable. PII-sensitive. |
| state | string | NY | State provided for the user. PII-sensitive. |
| city | string | New York City | City provided for the user. PII-sensitive. |
| street_address_1 | string | 110 E 23rd st | First street-address line. PII-sensitive. |
| street_address_2 | string | Floor 7 | Second street-address line. PII-sensitive. |
| postal_code | string | 10010 | Postal code. PII-sensitive. |
| sign_up_channel_id | integer | 1 | Identifier of the channel through which the user signed up. |
| password_generated | string | 0 | Indicates whether the password was generated by CrowdTwist. |
| receive_email_updates | boolean | true | Whether the user receives email updates. |
| date_receive_email_opt_in | string (date-time) | null | Date/time of email opt-in. |
| date_receive_email_opt_out | string (date-time) | null | Date/time of email opt-out. |
social
This section may expose access tokens and token secrets. Restrict social data to authorized consumers, avoid logging values, and redact credentials from examples used outside controlled documentation.
| Field | Type | Sample Value | Description |
| referral_url | string (URI) | http://rewards.crowdtwist.com?__cts__=NJm0eBIj | Referral URL for the member. |
| facebook_access_token | string | null | Facebook access token. Sensitive credential; PII-sensitive in the legacy contract. |
| facebook_user_id | string | null | Facebook user ID. PII-sensitive. |
| date_fb_token_expires | string (date-time) | null | Date/time the Facebook token expires. |
| twitter_oauth_token | string | 4011004576-dFk2DjJHUMKKUeuTzLNgrzDqkeK21DUX7jEgA | Twitter OAuth token. Sensitive credential; PII-sensitive. |
| twitter_oauth_token_secret | string | cnAFU5iQpBsWdvh54ShLjOPeWGWnGbYQw3Mg8Kudz | Twitter OAuth token secret. Sensitive credential; PII-sensitive. |
| pinterest_access_token | string | null | Pinterest access token. Sensitive credential; PII-sensitive. |
| pinterest_user_id | string | null | Pinterest user ID. PII-sensitive. |
| inst_access_token | string | null | Instagram access token. Sensitive credential; PII-sensitive. |
| inst_username | string | null | Instagram username. PII-sensitive. |
| inst_user_id | string | null | Instagram user ID. PII-sensitive. |
| activity_stream_opt_in | boolean | true | Whether the user has opted in to the activity stream. |
tier
| Field | Type | Sample Value | Description |
| timeframe_score | number | 0 | Cumulative score earned in the current tier timeframe. Calculation varies by lifetime, fixed, or rolling timeframe. |
| tier_score | number | 0 | Points earned while the member is in a tier. |
| current_level | level object | { "title": "LV 1", "min_value": null, "max_value": 199.9999, ... } | Data for the user's current tier level. |
| next_level | level object | { "title": "LV 2", "min_value": 200, "max_value": 499.9999, ... } | Data for the next tier level; null is expected when no higher level exists. |
| levels_above | array<level> | [{ "title": "LV 2", ... }, { "title": "LV 3", ... }, { "title": "LV 4", ... }] | All levels above the current tier. |
| levels_below | array<level> | [] | All levels below the current tier. |
| date_assigned | string (date-time) | 2022-06-13T22:52:35Z | Date/time the member was assigned the current tier. |
| expiration_date | string (date-time) | 2022-07-13T22:52:35Z | Date/time the current tier expires, for fixed and rolling configurations. |
| reset_date | string (date-time) | null | Date/time the member's score resets to zero and maintenance begins; null outside applicable fixed-timeframe behavior. |
| score_needed_to_reach | number | 200 | Score needed to advance to the next tier. |
| score_needed_to_maintain | number | null | Score needed to maintain the current tier. |
| days_until_expiration_date | integer | 27 | Days until the member's tier expires if not maintained. |
| days_until_reset_date | integer | null | Days until the member's tier score resets; null when not applicable. |
| is_maintenance_mode | boolean | true | Whether the user's points count toward maintaining the current level. |
| date_reached | string (date-time) | 2017-02-01T14:20:37Z | Date/time the member reached the current tier; changes when the member drops or jumps a tier. |
| assigned_by_event | string | maintain | Event that assigned the tier, such as start, jump, maintain, drop, or reset. |
Tier Level Object
| Field | Type | Sample Value | Description |
| title | string | LV 1 | Tier name. |
| min_value | number | null | Minimum score required to attain or maintain the tier; may be null for the lowest level. |
| max_value | number | 199.9999 | Configured upper score limit; may be null for the highest level. |
| image_url | string (URI) | https://cdn.crowdtwist.com/img/v2/76f053754ce583e0f5dfcc87c55b2416417fa08f/w/h/0/image.jpg | URL of the program's tier image or icon. |
segments
| Field | Type | Sample Value | Description |
| subscription_id | integer | 20 | Unique identifier for the segment. |
| name | string | all male users on the platform | Name of the segment. |
| date_entered | string (date-time) | 2019-05-03T19:01:23.000Z | Date/time the member entered the segment, represented in ISO 8601 format. |
custom_data
| Field | Type | Sample Value | Description |
| <client-defined key> | JSON value | register_id: "1"; cashier_id: "2" | Client-configurable custom profile property. Keys and value types vary by client configuration; the supplied example uses string values for register_id and cashier_id. |
household
| Field | Type | Sample Value | Description |
| household_id | integer | 4 | Household identifier associated with the member. |
Sample Response Body
{
"id": 49261260,
"profile": {
"first_name": "John",
"middle_name": null,
"last_name": "George",
"date_of_birth": "2022-06-13T22:52:35Z",
"email_address": "johng@gmail.com",
"email_is_verified": true,
"username": "John453453",
"mobile_phone_number": "4964567877",
"third_party_id": null,
"is_active": true,
"lang_pref": null,
"date_last_login": "2022-06-13T22:52:35Z",
"date_last_updated": "2022-06-13T22:52:35Z",
"date_created": "2022-06-13T22:52:35Z",
"total_points": 60220,
"redeemable_points": 6553
},
"profile_extended": {
"gender_id": "2",
"gender": "Male",
"continent": "North America",
"country": "United States",
"us_region": "Northeast",
"ca_province": null,
"state": "NY",
"city": "New York City",
"street_address_1": "110 E 23rd st",
"street_address_2": "Floor 7",
"postal_code": "10010",
"sign_up_channel_id": null,
"password_generated": "0",
"receive_email_updates": true,
"date_receive_email_opt_in": null,
"date_receive_email_opt_out": null
},
"social": {
"referral_url": "http://rewards.crowdtwist.com?__cts__=NJm0eBIj",
"facebook_access_token": null,
"facebook_user_id": null,
"date_fb_token_expires": null,
"twitter_oauth_token": "4011004576-dFk2DjJHUMKKUeuTzLNgrzDqkeK21DUX7jEgA",
"twitter_oauth_token_secret": "cnAFU5iQpBsWdvh54ShLjOPeWGWnGbYQw3Mg8Kudz",
"pinterest_access_token": null,
"pinterest_user_id": null,
"inst_access_token": null,
"inst_username": null,
"inst_user_id": null,
"activity_stream_opt_in": true
},
"tier": {
"timeframe_score": 0,
"tier_score": 0,
"current_level": {
"title": "LV 1",
"min_value": null,
"max_value": 199.9999,
"image_url": "https://cdn.crowdtwist.com/img/v2/76f053754ce583e0f5dfcc87c55b2416417fa08f/w/h/0/image.jpg"
},
"next_level": {
"title": "LV 2",
"min_value": 200,
"max_value": 499.9999,
"image_url": "https://cdn.crowdtwist.com/img/v2/4d1d46550fb148049a3a1b4956124e46c7adf1f8/w/h/0/image.jpg"
},
"levels_above": [
{
"title": "LV 2",
"min_value": 200,
"max_value": 499.9999,
"image_url": "https://cdn.crowdtwist.com/img/v2/4d1d46550fb148049a3a1b4956124e46c7adf1f8/w/h/0/image.jpg"
},
{
"title": "LV 3",
"min_value": 500,
"max_value": 1200.4999,
"image_url": "https://cdn.crowdtwist.com/img/v2/6d37349ce7462c7d3195c5847df8ae3258cfc5e7/w/h/0/image.jpg"
},
{
"title": "LV 4",
"min_value": 1200.5,
"max_value": null,
"image_url": "https://cdn.crowdtwist.com/img/v2/6ec145a281d862d066cbe23b8590aabb9afa374c/w/h/0/image.png"
}
],
"levels_below": [],
"date_assigned": "2022-06-13T22:52:35Z",
"expiration_date": "2022-07-13T22:52:35Z",
"reset_date": null,
"score_needed_to_reach": 200,
"score_needed_to_maintain": null,
"days_until_expiration_date": 27,
"days_until_reset_date": null,
"is_maintenance_mode": true,
"date_reached": "2017-02-01T14:20:37Z",
"assigned_by_event": "maintain"
},
"segments": [
{
"subscription_id": 20,
"name": "all male users on the platform",
"date_entered": "2019-05-03T19:01:23.000Z"
},
{
"subscription_id": 622,
"name": "All Male Segment take 2",
"date_entered": "2019-05-03T17:55:37.000Z"
}
],
"custom_data": {
"register_id": "1",
"cashier_id": "2"
},
"household": {
"household_id": 4
}
}