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

Bulk Panorama Assignment

Assigns Panorama client licenses to multiple users in a single request

Assigns Panorama client licenses to multiple users in a single request.

POSThttps://example.thoughtindustries.com/incoming/v2/users/bulkClientLicenseAssignment

Example request — assign a license by user ID (append)

curl -X POST "https://example.thoughtindustries.com/incoming/v2/users/bulkClientLicenseAssignment" \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "users": [
    {
      "id": "3f9a2b18-7c4d-4e2a-9b1f-0c5d6e7f8a90",
      "clientId": "c0ffee00-1111-2222-3333-444455556666",
      "licenseIds": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],
      "replaceLicenseAccess": false
    }
  ]
}'

Example request — replace a user's licenses by email

curl -X POST "https://example.thoughtindustries.com/incoming/v2/users/bulkClientLicenseAssignment" \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "users": [
    {
      "email": "[email protected]",
      "clientId": "c0ffee00-1111-2222-3333-444455556666",
      "licenseIds": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],
      "replaceLicenseAccess": true
    }
  ]
}'

Example request — bulk assign to multiple users (mixed identifiers)

curl -X POST "https://example.thoughtindustries.com/incoming/v2/users/bulkClientLicenseAssignment" \
  -H 'Authorization: Bearer YOUR_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{
  "users": [
    {
      "id": "3f9a2b18-7c4d-4e2a-9b1f-0c5d6e7f8a90",
      "clientId": "c0ffee00-1111-2222-3333-444455556666",
      "licenseIds": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],
      "replaceLicenseAccess": false
    },
    {
      "externalCustomerId": "CRM-88213",
      "clientId": "c0ffee00-1111-2222-3333-444455556666",
      "licenseIds": ["a1b2c3d4-e5f6-7890-abcd-ef1234567890"],
      "replaceLicenseAccess": true
    }
  ]
}'

Parameters

Requires the users.edit permission.

NameTypeRequiredLocationDescription
usersBulkClientLicenseAssignmentUser[]YesbodyArray of user–license assignment objects (see below).

Each object in users (BulkClientLicenseAssignmentUser):

FieldTypeRequiredDescription
iduuidOne of id / email / externalCustomerIdID of the user to assign licenses to.
emailstringOne of id / email / externalCustomerIdEmail of the user to assign licenses to.
externalCustomerIdstringOne of id / email / externalCustomerIdExternal customer ID of the user to assign licenses to.
clientIduuidNoUUID of the Panorama client (tenant) the user should be associated with.
licenseIdsuuid[]NoLicense UUIDs to assign to the user.
replaceLicenseAccessbooleanYesIf true, replaces the user's existing license access with licenseIds; if false, appends to it.

Example response

{
  "updatedRecordCount": 0,
  "errors": [
    {
      "id": "00000000-0000-0000-0000-000000000000",
      "identifier": "string",
      "error": "string",
      "record": "string"
    }
  ]
}

Response fields

FieldTypeDescription
updatedRecordCountintegerNumber of records successfully updated.
errorsobject[]Per-record errors for entries that could not be processed.
errors.iduuidIdentifier associated with the failed record, when resolvable.
errors.identifierstringThe identifier value from the input record.
errors.errorstringHuman-readable message describing why the record failed.
errors.recordstringRaw input record associated with the failure.