Enterprise plan only. SCIM user provisioning is available exclusively on the Enterprise tier. If you are on another plan and want to use it, contact us to talk about upgrading.
This reference lists the SCIM attributes Pensero reads when your identity provider pushes a user. Use it when configuring attribute mappings in Okta or another SCIM 2.0 client. See User Data Fields for how each Pensero field affects reporting.
Connection details
Base URL:
https://pensero.ai/api/scim/v2Authentication: HTTP Header,
Authorization: Bearer <token:secret>(the full string shown once when you generate the token)Unique identifier:
userName(the user’s corporate email)Endpoints:
/ServiceProviderConfig,/ResourceTypes,/Schemas,/Users./Groups,/Bulkand/Meare not supported.Operations: GET (list and filter), POST, PUT, PATCH, DELETE on
/Users. Filtering supportseqonly (for exampleuserName eq "[email protected]").
Core user attributes
Schema: urn:ietf:params:scim:schemas:core:2.0:User
SCIM attribute | Type | Pensero field | Notes |
| String | Required. Must be the corporate email. Used to match existing users and prevent duplicates. | |
| String | First name | Falls back to |
| String | Last name | Falls back to |
| String | Used only when | |
| Boolean | Active / deactivated | Managed by the IdP. |
Enterprise extension
Schema: urn:ietf:params:scim:schemas:extension:enterprise:2.0:User
SCIM attribute | Type | Pensero field | Notes |
| String | Manager | Send the manager’s email. If no user in your organization has that email, the push fails with a 400 error. |
| String | — | Accepted but ignored. |
Pensero extension
Schema (use this as the external namespace in Okta): urn:pensero:params:scim:schemas:extension:2.0:User
SCIM attribute | Type | Pensero field | Notes |
| String | GitHub username | Must be unique across Pensero. Required for coding metrics on GitHub. |
| String | GitLab username | Must be unique across Pensero. |
| String | Bitbucket username | Must be unique across Pensero. |
| String | Jira account | Jira account ID or email. Only applied if your organization has Jira connected. |
| String | Slack account | Slack member ID or email. Only applied if your organization has Slack connected. |
| String | Employee type |
|
| String | Started at | Format |
| Integer | Level |
|
| Boolean | Login enabled | Defaults to |
| String | — | Accepted and logged but not applied (advertised as read-only in |
Custom field name | String | Custom field | Any attribute whose name matches (case-insensitively) a custom field enabled in your organization is written to that field. For select-type custom fields the option must already exist. |
Response codes
Code | Meaning |
200 / 201 | Success. |
400 | Invalid value: manager email matches no user, |
401 | Missing, invalid, revoked or regenerated token, or user provisioning is not enabled for the organization (Enterprise plan required). |
403 | Creating or reactivating the user would exceed the seat limit. |
404 | User not found in this organization. |
409 | Uniqueness conflict: the email or a Git username already belongs to another user or organization. |