Skip to main content

RSC

RSC user provisioning. Path prefix: /rise/. Role IDs are UUIDs. Multiple roles per user are supported. Invitations are auto-accepted on create, so users surface as ACTIVE immediately; a PENDING user (auto-activation failed) is invisible to GET (list and by-id) but can still be removed via DELETE /rise/Users/{id}. Start by calling GET /rise/UserOrganizationRoles to discover available role IDs before creating users. Role IDs are environment-specific โ€” discover them per environment.

๐Ÿ“„๏ธCreate a User

Idempotent upsert โ€” if a user with the same email already exists, they are updated instead of created. Still returns 201 in both cases. On upsert, `displayName` is **not** modified โ€” the existing user's value is preserved and the value in the request body is discarded. On production, a successful POST may send a first-access email; users created via this API are SSO-only and cannot log in with username/password. There is no SCIM-side API to check delivery or re-send it โ€” use the RSC product UI for re-sends. A POST without at least one role returns **400** (the error message contains the word 'role'); the request has no effect and no first-access email is sent. Troubleshooting โ€” if a user you provisioned is absent from both the GET list and `GET /rise/Users/{id}` (404), the invitation may still be PENDING (activation failed). Remove the pending invitation with `DELETE /rise/Users/{id}` (204) and re-create the user via POST.

๐Ÿ“„๏ธUpdate a User

Supported paths: `active`, `roles` โ€” only these produce observable changes. Operations on non-persisted attributes (`displayName`, `externalId`) return a silent 200 no-op; an operation changing `userName` fails the whole request with 400 `invalidValue` (including any other operations batched in it); unknown or miscased paths (e.g. `Roles`) fail 400 `invalidPath`. Send `active` changes and `roles` changes as separate PATCH requests โ€” combined in one request, the deactivation wins and the role change is silently discarded (the 200 response echoes the old roles). Email addresses (`userName`) are immutable post-creation โ€” to change a user's email, delete and re-create. Setting `active` to `false` removes the user from RSC (deletion). Reactivation by `active: true` is not supported โ€” re-create the user via POST. PATCHing `active: true` against a previously-deleted RSC user returns **404** (detail `Resource: <id> wasn't found`), not a friendly 'not supported' message. Azure AD `add` operations on the `roles` path are automatically rewritten to `replace` for Entra ID compatibility.

๐Ÿ“„๏ธSearch Users (POST alternative to GET with filter)

RFC 7644 ยง3.4.3 search. Send a SearchRequest body; results are identical to `GET /rise/Users` with the same `filter`. Note: the response `itemsPerPage` echoes the requested `count`, not the number of resources actually returned. **Warning:** a request body sent with a Content-Type other than `application/scim+json` or `application/json` is not parsed, and the request does NOT fail โ€” it returns an unfiltered list of ALL users. Always set a supported Content-Type on `.search` requests.