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[]YesbodySKUs of licenses to assign to the user in the student role.
managerLicenseSkusstring[]YesbodySKUs of licenses to assign to the user in the manager role.
studentLicenseIdsuuid[]YesbodyIDs of licenses to assign to the user in the student role.
managerLicenseIdsuuid[]YesbodyIDs 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[]YesbodyIDs of courses to grant the user direct access to.
courseSlugsstring[]YesbodyURL slugs of courses to grant the user direct access to.
courseSkusstring[]YesbodySKUs of courses to grant the user direct access to.
bundleSlugsstring[]YesbodyURL slugs of bundles to grant the user access to.
learningPathSlugsstring[]YesbodyURL slugs of learning paths to grant the user access to.
learningPathSkusstring[]YesbodySKUs of learning paths to grant the user access to.
learningPathIdsuuid[]YesbodyIDs 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

{
  "data": {
    "APIUpdateUser": {
      "id": "00000000-0000-0000-0000-000000000000",
      "email": "string",
      "firstName": "string",
      "abbreviatedName": "string",
      "asset": "string",
      "lastName": "string",
      "name": "string",
      "lastActiveAt": "2024-01-01T00:00:00.000Z",
      "bio": "string",
      "twoFactorEnabled": true,
      "firstInitial": "string",
      "lastInitial": "string",
      "invitedByName": "string",
      "shouldHighlight": true,
      "purchasedCourses": [
        {
          "course": {
            "id": "00000000-0000-0000-0000-000000000000",
            "createdAt": "2024-01-01T00:00:00.000Z",
            "updatedAt": "2024-01-01T00:00:00.000Z",
            "slug": "example-slug",
            "status": "draft",
            "title": "string",
            "sessionIsTitled": true,
            "sampleLesson": {
              "...": "..."
            },
            "sampleLessonId": "00000000-0000-0000-0000-000000000000",
            "sections": [
              {
                "...": "..."
              }
            ],
            "appearanceBlock": "00000000-0000-0000-0000-000000000000",
            "appearanceHash": "string",
            "paywallsBlock": "00000000-0000-0000-0000-000000000000",
            "termsBlock": "00000000-0000-0000-0000-000000000000",
            "confirmationBlock": "00000000-0000-0000-0000-000000000000",
            "courseStartDate": "2024-01-01T00:00:00.000Z",
            "courseEndDate": "2024-01-01T00:00:00.000Z",
            "enrollmentStartDate": "2024-01-01T00:00:00.000Z",
            "enrollmentEndDate": "2024-01-01T00:00:00.000Z",
            "gracePeriodEndDate": "2024-01-01T00:00:00.000Z",
            "seatsLimit": 0,
            "waitlistCount": 0,
            "seatsLimitMet": true,
            "waitlistingEnabled": true,
            "waitlistingTriggered": true,
            "taxable": true,
            "purchasable": true,
            "taxCategory": "00000000-0000-0000-0000-000000000000",
            "fulfillmentCenter": "00000000-0000-0000-0000-000000000000",
            "courseGroup": {
              "...": "..."
            },
            "syllabusTitlesEnabled": true,
            "galleryEnabled": true,
            "workbookEnabled": true,
            "linkedWorkbookEnabled": true,
            "linkedWorkbookSkipEnabled": true,
            "superquizEnabled": true,
            "discussionsEnabled": true,
            "resourcesEnabled": true,
            "meetingsOverviewEnabled": true,
            "recurrenceRule": "string",
            "recurrence": {},
            "readableRecurrenceString": "string",
            "instructorAccessEnabled": true,
            "instructorEmails": [
              "string"
            ],
            "freeWithRegistration": true,
            "priceInCents": 0,
            "instructorAccessPriceInCents": 0,
            "suggestedRetailPriceInCents": 0,
            "alternativePricingType": "membership",
            "alternativePricingRef": 0,
            "accessDays": 0,
            "showProgress": true,
            "annotationsEnabled": true,
            "forceLinearProgress": true,
            "completionTimePerPage": 0,
            "askLearnerPassword": true,
            "roster": true,
            "topicGroupId": "00000000-0000-0000-0000-000000000000",
            "sku": "string",
            "prerequisiteCourses": [
              {
                "...": "..."
              }
            ],
            "prerequisiteLearningPaths": [
              {
                "...": "..."
              }
            ],
            "parentCourseId": "00000000-0000-0000-0000-000000000000",
            "isChild": true,
            "hasMultipleCurrencies": true,
            "prices": [
              {
                "...": "..."
              }
            ],
            "enrollmentActive": true,
            "waitlistActive": true,
            "webinarDates": [
              {
                "...": "..."
              }
            ],
            "webinarTimeZone": "string",
            "meetings": [
              {
                "...": "..."
              }
            ],
            "inPersonEventInfo": {
              "...": "..."
            },
            "currentUserHasAccess": true,
            "location": {
              "...": "..."
            },
            "displayMap": true,
            "publishDate": "2024-01-01T00:00:00.000Z",
            "isActive": true,
            "futurePublishDate": "2024-01-01T00:00:00.000Z",
            "balanceRequirement": 0,
            "awardClaimingOptions": [
              {
                "...": "..."
              }
            ],
            "availabilityStatus": "string",
            "embeddedEnabled": true,
            "displayResults": true,
            "bulkPurchasingEnabled": true,
            "seatTiers": [
              {
                "...": "..."
              }
            ],
            "seatPackages": [
              {
                "...": "..."
              }
            ],
            "lastTierPriceInCents": 0,
            "webinarId": "string",
            "hasChildren": true,
            "customFields": {},
            "kind": "microCourse",
            "rosterSubmittedDate": "2024-01-01T00:00:00.000Z",
            "finalAssessment": "string",
            "scormCollectUserDetails": true,
            "seatsUsedCount": 0,
            "seatsAllocatedCount": 0,
            "webinarDetails": {
              "...": "..."
            },
            "showSyllabusWhileUnenrolled": true,
            "topicGroup": {
              "...": "..."
            },
            "courseGroupTitle": "string",
            "currentUserDueDate": "2024-01-01T00:00:00.000Z"
          },
          "courseId": "00000000-0000-0000-0000-000000000000",
          "certificate": "00000000-0000-0000-0000-000000000000",
          "certificateIssuedAt": "2024-01-01T00:00:00.000Z",
          "instructorAccessPurchased": true,
          "status": "string"
        }
      ],
      "purchasedBundles": [
        {
          "bundle": {
            "id": "00000000-0000-0000-0000-000000000000",
            "slug": "example-slug",
            "name": "string",
            "purchasable": true,
            "planId": "00000000-0000-0000-0000-000000000000",
            "variations": [
              {
                "...": "..."
              }
            ],
            "taxable": true,
            "needShippingAddress": true,
            "priceInCents": 0,
            "weight": 0,
            "annualPlanId": "00000000-0000-0000-0000-000000000000",
            "annualPriceInCents": 0
          },
          "bundleId": "00000000-0000-0000-0000-000000000000"
        }
      ],
      "activeLicense": {
        "id": "00000000-0000-0000-0000-000000000000",
        "name": "string",
        "label": "string",
        "sku": "string",
        "client": {
          "id": "00000000-0000-0000-0000-000000000000",
          "name": "string",
          "schoolName": "string",
          "courses": [
            {
              "...": "..."
            }
          ],
          "learningPaths": [
            {
              "...": "..."
            }
          ],
          "learningPathIds": [
            "00000000-0000-0000-0000-000000000000"
          ],
          "courseIds": [
            "00000000-0000-0000-0000-000000000000"
          ],
          "courseTags": [
            {
              "...": "..."
            }
          ],
          "courseTagIds": [
            "00000000-0000-0000-0