System for Cross-domain Identity Management (SCIM) is an open standard that lets an external Identity Provider (IdP) create and maintain User accounts in another application automatically. Absorb LMS acts as a SCIM service provider, which means a supported IdP pushes User and Group data into your Portal and keeps it synchronized over time. This article describes the provisioning behavior common to every IdP, including the supported resources, the query capabilities, the recognized schemas, the authentication models, and the known limitations.
For step-by-step configuration, see the Absorb SCIM in Okta and Absorb SCIM in Azure guides.
Supported Resources and Operations
Absorb exposes three SCIM resource families, all served under the base path scim/v2/. Each resource supports a defined set of operations, described in the table below.
| Resource | Endpoint | Supported Operations |
| Users | scim/v2/Users |
Full create, read, update (through both PUT and PATCH), and delete support. |
| Groups | scim/v2/Groups |
Create, read, and update. Each Group maps to an Absorb Department. |
| Schemas | scim/v2/Schemas |
Read-only discovery endpoint that reports the attributes Absorb recognizes. |
Querying Users and Groups
When an IdP reads data from Absorb, it can shape the request using the standard SCIM query parameters. Absorb supports filtering, pagination, sorting, and attribute projection, each described below.
Filtering
Filters narrow a result set to records that match a condition. Absorb supports the standard comparison operators, and you can combine conditions using and, or, and not. The supported operators are listed in the table below.
| Operator | Meaning |
eq |
Equal to. |
ne |
Not equal to. |
co |
Contains. |
sw |
Starts with. |
ew |
Ends with. |
gt, ge
|
Greater than, and greater than or equal to. |
lt, le
|
Less than, and less than or equal to. |
pr |
Present, meaning the attribute has a value. |
Pagination
Large result sets are returned in pages. Use startIndex to set the first record returned and count to set the number of records per page. A single page returns a maximum of 1,000 records, so requests that exceed this limit are paged automatically.
Sorting
Use sortBy to choose the attribute to order by and sortOrder to set ascending or descending order. Sorting is available on top-level attributes and simple multi-valued attributes. See the Known Limitations section for one sorting constraint.
Attribute Projection
Attribute projection controls which fields a response includes. Use attributes to return only a specific set of fields, or excludedAttributes to return everything except a specific set. This keeps responses focused on the data the IdP needs.
Supported Schemas and Attributes
Absorb recognizes three SCIM schemas. Together they cover the standard User fields, the enterprise extension, and an Absorb extension for platform-specific data. The table below lists each schema and its most relevant attributes.
| Schema | Namespace | Notable Attributes |
| Core User | urn:ietf:params:scim:schemas:core:2.0:User |
userName, name.givenName, name.familyName, emails, phoneNumbers, addresses
|
| Enterprise User | urn:ietf:params:scim:schemas:extension:enterprise:2.0:User |
employeeNumber, manager
|
| Absorb User Extension | urn:ietf:params:scim:schemas:extension:absorb:2.0:User |
location, dateHired, gender, customFields, userManagementSettings
|
The customFields and userManagementSettings attributes let the Absorb extension carry Custom Fields and role assignments. For the full attribute-level mapping tables, including required fields and value formats, see the Absorb SCIM in Okta guide.
For background on Custom Fields, see How To: Add a Custom Field.
Authentication
Absorb supports two authentication models, and the one you use depends on your IdP. Both models authorize SCIM requests against your Portal, and the required credentials are generated from the SCIM card on the Client Settings page after you enable the Enable SCIM toggle in Portal Settings.
OAuth 2.0 Authorization Code Flow
The OAuth 2.0 authorization code flow is used with Okta. Absorb issues a short access token that is valid for four hours, along with a refresh token that is valid for one year. The refresh token allows the IdP to obtain new access tokens without re-authenticating, so provisioning continues uninterrupted. You supply the Client ID and Client Secret from the SCIM card during setup.
Long-Lived Bearer Token
The long-lived bearer token model is used with Azure. A System Admin generates the token from the Absorb Admin Interface, and it is valid until 2037, which is the maximum expiration date the system currently supports. The token is displayed only at the time of generation, so store it securely. You can generate more than one token, and generating a new token does not invalidate existing tokens.
Known Limitations
The following constraints apply to SCIM provisioning across all IdPs. Behaviors specific to a single IdP, such as synchronization intervals, are documented in the individual setup guides.
- The
/ServiceProviderConfig,/ResourceTypes, and Bulk endpoints are not implemented. Some IdPs probe/ServiceProviderConfigduring setup and report a failure when it is not found. - Group provisioning always creates Departments one level beneath the root Department, so the resulting structure is always flat.
- A DELETE request performs a soft delete rather than permanently removing the record, and setting
activetofalsesets the User to Inactive. For the distinction between the two, see Deletion vs Inactivation for Courses, Curricula & Users. - PATCH supports only the
add,replace, andremoveoperations. - The Schemas endpoint does not support filtering.
- Sorting cannot target a sub-property of a multi-valued attribute, such as an email type.
- A default Department must be set in the SCIM settings. User creation fails when no default Department is configured.
SCIM is designed to work with flat Department structures. For organizations with complex departmental hierarchies, we would recommend exploring alternative solutions that can better accommodate multi-level organizational structures. Please reach out to your Client Success representative to discuss options that might be a better fit for your specific organizational needs.
Identity Provider Setup Guides
The following articles provide step-by-step configuration for each supported IdP, along with the version history for the integration.
Comments
Article is closed for comments.