User REST Operations for Oracle Radio
Read Identity Domain user details and manage the separate Radio access and group memberships.
All four operations require radio.user.manage. Follow the supported authentication flow and the request guidance. Paths below are complete paths from the instance origin.
These operations don't create, delete, or modify Identity Domain accounts or groups. Use directory.directoryUserId for directory lookup and Radio access changes. Use the separate radio.radioUserId for Radio group replacement; don't substitute a directory ID or user OCID.
When a response includes Radio state, its read-only superAdmin field identifies the applied super administrator. This designation doesn't bypass authentication or permissions, and these operations can't transfer it. See protected access.
List Users
listIdentityUsers: GET /api/v1/management/users
Optional query parameters are page, for the returned continuation value, and filter, a directory filter of at most 512 characters. Omit them for an initial unfiltered request.
HTTP 200 returns users and nextPage. Each entry separates directory details, nullable radio state, and groupIds. If nextPage is non-null, pass it unchanged as the next request's page value, URL-encoded as a query value. Don't assume one page contains every user.
A successful response with no users in the returned page includes "users": []. This is an empty result, not an authorization or server error. Check your filter and any continuation value before concluding that no users match.
Get a User
getIdentityUser: GET /api/v1/management/users/{directory_user_id}
Use the directory user ID returned by List Users. HTTP 200 returns a user object with separate directory, radio, and groupIds values. A directory account alone doesn't establish enabled Radio access.
A user without Radio group memberships has "groupIds": []. The empty array doesn't mean that the directory user is missing.
Enable or Disable Oracle Radio Access
setIdentityUserStatus: PUT /api/v1/management/users/{directory_user_id}/status
Use the directory user ID and send a JSON body with required status set to ENABLED or DISABLED. For example, to enable Radio access:
{"status":"ENABLED"}
HTTP 200 returns a radio object containing the current Radio state. Retain its radioUserId for group membership operations. Changing this status affects Radio access only; it doesn't enable or disable the Identity Domain account.
Disabling the applied super administrator returns HTTP 409 with super_admin_protected; the protected change isn't applied. Don't retry unchanged or treat another administrator's membership as permission to disable this user.
Before disabling any other administrator or removing administrative membership, verify another administrator can manage Radio. See administrator handoff.
Replace Oracle Radio Group Memberships
replaceIdentityUserGroups: PUT /api/v1/management/users/{radio_user_id}/groups
Use the Radio user ID, not the directory user ID. Send the complete desired set of Radio group IDs in the required groupIds array. Radio user and group IDs for this operation are 32 hexadecimal characters; duplicate group IDs aren't allowed.
{"groupIds":["<radio-group-id>"]}
This replaces memberships rather than adding to them. Include every existing membership that you want to retain. An empty array removes all group memberships only for a user who isn't the applied super administrator. For that protected user, retain the Radio Administrators group ID; omitting it returns HTTP
409 with super_admin_protected. Read the user's current groupIds before preparing the replacement.HTTP 200 returns the replacement groupIds. This changes Radio-owned group memberships, not Identity Domain groups. Review Radio groups and verify the user's resulting access.
After successfully removing all memberships, the response includes "groupIds": [].
Troubleshooting User Requests
For rejected requests, check the user identifiers, API errors, and REST FAQ. After an uncertain write result, read the user's state before retrying.