Skip to main content

API Reference

Users

SCIM Users represent end-users in your OutThink organization. You can create, update, list, activate, deactivate and delete users within the organization via the SCIM API.

SCIM Attributes

SCIM AttributeDescriptionRequiredType
userNameUnique internal identifier of the user in the source systemYesstring
activeWhether the user is in an active (enabled) stateNoboolean
externalIdExternal reference identifier of the userNostring
name.givenNameUser's first (or given) nameYesstring
name.familyNameUser's last name (or surname)Yesstring
emails[type eq "work"].valueThe user's corporate email addressYesstring
addresses[type eq "work"].countryThe user's country of residence or workNostring
roles[primary eq true].valueThe job title of the userNostring
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:departmentThe name of the department to which the user belongsNostring
urn:ietf:params:scim:schemas:extension:enterprise:2.0:User:divisionThe name of the corporate division to which the user belongsNostring
urn:ietf:params:scim:schemas:extension:enterprise:2.0:employeeNumberThe user's unique identifier in the corporate LMSNostring
nickNameThe user's unique name, badge Id, or other identifier, used for identification of the user, typically where email address is unavailableNostring
preferredLanguageThe user's preferred languageNostring
note

Other attributes supported by the SCIM specification, if provided, won't be synchronized between Identity Providers and OutThink.

Supported SCIM Schemas

OutThink uses the core SCIM schema, plus the Enterprise User extension schema. The latter is used to convey the following information for end-users (learners):

  • department
  • division
  • employeeNumber

See the SCIM schema specification for full details of SCIM schemas.

Supported Operations

OperationDescription
POST /UsersCreates a user
GET /Users/$userIDGets a single user
GET /UsersSearch for users with filtering, via GET
POST /Users/.searchSearch for users with filtering, via POST
PUT /Users/$userIDUpdates a single user (all attributes)
PATCH /Users/$userIDUpdates a single user (add, replace, remove selected attributes)
DELETE /Users/$userIDDeletes a single user
GET /ServiceProviderConfigGets service provider configuration
GET /SchemasGets all supported schemas
GET /Schemas/$schemaIDGets a specific schema

Example Request

The following is an example request received by the OutThink SCIM API for creating an end-user.

# Example request to create an end-user
POST https://outthink-api.azure-api.net/scim/Organizations/xxxxxxxxxxxxxx/v2/Users
Content-Type: application/scim+json
Authorization: Bearer xxxxxxxxxxxxxx

{
"schemas": [
"urn:ietf:params:scim:schemas:core:2.0:User",
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User"
],
"userName": "john.smith@outthink.io",
"externalId": "81ef27b8-80ce-4c24-ba1e-067048806ecf",
"active": true,
"name": {
"familyName": "John",
"givenName": "Smith"
},
"emails": [
{
"value": "john.smith@outthink.io",
"type": "work"
},
{
"value": "mary.jones@outthink.io",
"type": "other"
}
],
"addresses": [
{
"country": "GB",
"type": "work"
}
],
"urn:ietf:params:scim:schemas:extension:enterprise:2.0:User": {
"department": "Marketing",
"division": "Southern",
"employeeNumber": "12847A"
},
"roles": [
{
"value": "Marketing Assistant",
"primary": true
}
],
"nickName": "A-12132",
"preferredLanguage": "en-GB"
}

Line Managers

Due to some provider's non-conformance to the SCIM specification, ingestion of end-user line managers (if required) should now be achieved via a GraphAPI integration.