Skip to main content
https://.thoughtindustries.com

Users

Updates the specified user's profile, license assignments, course access, and related attributes

Updates the specified user's profile, license assignments, course access, and related attributes.

PUThttps://example.thoughtindustries.com/incoming/v2/users/:id

Example request

curl -X PUT "https://example.thoughtindustries.com/incoming/v2/users/:id" \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "email": "string",
  "externalCustomerId": "string",
  "studentLicenseSkus": [],
  "managerLicenseSkus": []
}'

Parameters

NameTypeRequiredLocationDescription
iduuidYespathThe id identifier.
emailstringNobodyThe user's email address.
externalCustomerIdstringNobodyAn external system identifier for the user, used to map the user to a record in an outside platform.
studentLicenseSkusstring[]NobodySKUs of licenses to assign to the user in the student role.
managerLicenseSkusstring[]NobodySKUs of licenses to assign to the user in the manager role.
studentLicenseIdsuuid[]NobodyIDs of licenses to assign to the user in the student role.
managerLicenseIdsuuid[]NobodyIDs of licenses to assign to the user in the manager role.
rolestringNobodyThe user's platform role (e.g., admin, learner).
clientSkustringNobodySKU of the client (tenant) to associate with the user.
clientSlugstringNobodyURL slug of the client (tenant) to associate with the user.
clientIduuidNobodyID of the client (tenant) to associate with the user.
replaceLicenseAccessbooleanNobodyWhen true, replaces the user's existing license assignments with the ones provided; otherwise merges them.
courseIdsuuid[]NobodyIDs of courses to grant the user direct access to.
courseSlugsstring[]NobodyURL slugs of courses to grant the user direct access to.
courseSkusstring[]NobodySKUs of courses to grant the user direct access to.
bundleSlugsstring[]NobodyURL slugs of bundles to grant the user access to.
learningPathSlugsstring[]NobodyURL slugs of learning paths to grant the user access to.
learningPathSkusstring[]NobodySKUs of learning paths to grant the user access to.
learningPathIdsuuid[]NobodyIDs of learning paths to grant the user access to.
firstNamestringNobodyThe user's first name.
lastNamestringNobodyThe user's last name.
address1stringNobodyThe first line of the user's mailing address.
address2stringNobodyThe second line of the user's mailing address (e.g., suite or apartment number).
citystringNobodyThe city component of the user's mailing address.
statestringNobodyThe state or province component of the user's mailing address.
zipCodestringNobodyThe postal code component of the user's mailing address.
countrystringNobodyThe country component of the user's mailing address.
telephonestringNobodyThe user's phone number.
ref1stringNobodyCustom reference field 1 for storing arbitrary external data.
ref2stringNobodyCustom reference field 2 for storing arbitrary external data.
ref3stringNobodyCustom reference field 3 for storing arbitrary external data.
ref4stringNobodyCustom reference field 4 for storing arbitrary external data.
ref5stringNobodyCustom reference field 5 for storing arbitrary external data.
ref6stringNobodyCustom reference field 6 for storing arbitrary external data.
ref7stringNobodyCustom reference field 7 for storing arbitrary external data.
ref8stringNobodyCustom reference field 8 for storing arbitrary external data.
ref9stringNobodyCustom reference field 9 for storing arbitrary external data.
ref10stringNobodyCustom reference field 10 for storing arbitrary external data.
languagestringNobodyThe user's preferred language code (e.g., en, fr).
tieredSubscriptionbooleanNobodyWhen true, enables tiered subscription pricing for the user.
replaceCourseAccessbooleanNobodyWhen true, replaces the user's existing course access with the courses provided; otherwise merges them.
replaceLearningPathAccessbooleanNobodyWhen true, replaces the user's existing learning path access with the learning paths provided; otherwise merges them.
replaceBundleAccessbooleanNobodyWhen true, replaces the user's existing bundle access with the bundles provided; otherwise merges them.
customFieldsobjectNobodyKey-value pairs of custom field data defined for the user's client.
sfContactIduuidNobodyThe Salesforce Contact ID linked to this user.
sfAccountIduuidNobodyThe Salesforce Account ID linked to this user.
dualRolebooleanNobodyWhen true, grants the user both learner and manager roles simultaneously.
balancenumberNobodyThe user's credit balance, in the platform's configured currency units.
enforceAccessDaysbooleanNobodyWhen true, enforces license access-day limits on the user's content access.
preferredCurrencystringNobodyThe user's preferred currency code for pricing display (e.g., USD, EUR).
panoramaEnrollmentOptionsPanoramaEnrollmentOptionsNobodyConfiguration options controlling the user's enrollment behavior in Panorama.

Example response

{
  "id": "00000000-0000-0000-0000-000000000000",
  "learnerUserId": "00000000-0000-0000-0000-000000000000",
  "managerUserId": "00000000-0000-0000-0000-000000000000",
  "clientId": "00000000-0000-0000-0000-000000000000",
  "createdAt": "2024-01-01T00:00:00.000Z",
  "disabled": true,
  "sfAccountId": "00000000-0000-0000-0000-000000000000",
  "sfContactId": "00000000-0000-0000-0000-000000000000",
  "roleKey": "string",
  "address1": "string",
  "address2": "string",
  "city": "string",
  "state": "string",
  "zipCode": "string",
  "telephone": "string",
  "country": "string",
  "stripeCustomerId": "00000000-0000-0000-0000-000000000000",
  "externalCustomerId": "string",
  "shippingName": "string",
  "asset": "string",
  "email": "string",
  "firstName": "string",
  "lastName": "string",
  "lastActiveAt": "2024-01-01T00:00:00.000Z",
  "ref1": "string",
  "ref2": "string",
  "ref3": "string",
  "ref4": "string",
  "ref5": "string",
  "ref6": "string",
  "ref7": "string",
  "ref8": "string",
  "ref9": "string",
  "ref10": "string",
  "language": "string",
  "customFields": {},
  "purchasedBundles": [
    {
      "bundleId": "00000000-0000-0000-0000-000000000000"
    }
  ],
  "allocatedLicenses": [
    {
      "licenseId": "00000000-0000-0000-0000-000000000000"
    }
  ],
  "allocatedLearningPaths": [
    {
      "learningPathId": "00000000-0000-0000-0000-000000000000",
      "status": "string"
    }
  ],
  "purchasedCourses": [
    {
      "courseId": "00000000-0000-0000-0000-000000000000",
      "status": "string"
    }
  ],
  "waitlistedCourses": [
    {
      "courseId": "00000000-0000-0000-0000-000000000000"
    }
  ],
  "balance": 0,
  "preferredCurrency": "string"
}

Response fields

FieldTypeDescription
iduuidUnique identifier of the user.
learnerUserIduuidIdentifier of the associated learner user record, when the user has a dual role.
managerUserIduuidIdentifier of the associated manager user record, when the user has a dual role.
clientIduuidIdentifier of the client (tenant) the user belongs to.
createdAtISO 8601 timestampTimestamp when the user was created.
disabledbooleanWhether the user account is disabled.
sfAccountIduuidSalesforce Account ID associated with the user.
sfContactIduuidSalesforce Contact ID associated with the user.
roleKeystringPlatform role key assigned to the user.
address1stringPrimary street address line.
address2stringSecondary street address line.
citystringCity component of the address.
statestringState or province component of the address.
zipCodestringPostal code component of the address.
telephonestringUser's phone number.
countrystringCountry component of the address.
stripeCustomerIduuidStripe customer identifier for the user.
externalCustomerIdstringIdentifier for the user in an external system.
shippingNamestringName used for shipping physical goods.
assetstringURL of the user's avatar asset.
emailstringUser's email address.
firstNamestringUser's first name.
lastNamestringUser's last name.
lastActiveAtISO 8601 timestampTimestamp of the last recorded user activity.
ref1stringCustom reference field 1 for storing arbitrary external data.
ref2stringCustom reference field 2 for storing arbitrary external data.
ref3stringCustom reference field 3 for storing arbitrary external data.
ref4stringCustom reference field 4 for storing arbitrary external data.
ref5stringCustom reference field 5 for storing arbitrary external data.
ref6stringCustom reference field 6 for storing arbitrary external data.
ref7stringCustom reference field 7 for storing arbitrary external data.
ref8stringCustom reference field 8 for storing arbitrary external data.
ref9stringCustom reference field 9 for storing arbitrary external data.
ref10stringCustom reference field 10 for storing arbitrary external data.
languagestringUser's preferred language (BCP 47 tag). Null for non-learner roles.
customFieldsobjectKey-value pairs for custom profile fields defined on the client.
purchasedBundlesobject[]Bundles the user has purchased.
purchasedBundles.bundleIduuidIdentifier of the purchased bundle.
allocatedLicensesobject[]Licenses allocated to the user.
allocatedLicenses.licenseIduuidIdentifier of the allocated license.
allocatedLearningPathsobject[]Learning paths allocated to the user.
allocatedLearningPaths.learningPathIduuidIdentifier of the allocated learning path.
allocatedLearningPaths.statusstringStatus of the learning path allocation.
purchasedCoursesobject[]Courses the user has purchased.
purchasedCourses.courseIduuidIdentifier of the purchased course.
purchasedCourses.statusstringEnrollment status for the course.
waitlistedCoursesobject[]Courses the user is waitlisted for.
waitlistedCourses.courseIduuidIdentifier of the waitlisted course.
balancenumberUser's current credit balance.
preferredCurrencystringUser's preferred display currency (ISO 4217).