This page details the bim API, which allows users to programmatically access information about users, their group memberships, and authentications. Most of the actions described here require ADMIN permissions.
Additional fields may be included in some responses you receive; however, these attributes are for internal purposes and are therefore undocumented.
BIM workflow
Because the BIM endpoint encompasses groups, users, and authentications, there are three workflows.
This example request with the payload below will change to permissions of the user with the username charlie.doe@immuta.com to CREATE_DATA_SOURCE_IN_PROJECT, CREATE_PROJECT, and CREATE_DATA_SOURCE.
Configure SMTP: SMTP must be configured to use this endpoint. Additionally, after the users are created, they will not be active until they sign in to the Immuta UI.
POST/bim/iam/bim/user/{userid}/clone
Clones the provided user (including their permissions, groups, and attributes) to create multiple additional user accounts.
Request parameters
Payload parameters
Response parameters
Request example
This example request will clone the user with the username jane.doe@immuta.com.
[
{
"keyid": 323,
"created": "2021-10-06T18:28:13.000Z",
"project": {
"projectKey": "Credit Payments",
"name": "Credit Payments",
"status": "open",
"description": "This project contains all data sources under the schema, credit_payments, from admin@snowflake.demo-databases.prod.immuta.com:3306/credit_payments.",
"documentation": "This is an automatically generated project that collects data sources under the schema, credit_payments, from admin@snowflake.demo-databases.prod.immuta.com:3306/credit_payments. When data sources in this schema are added to the system, they will automatically be added to this project.",
"deleted": false,
"allowMaskedJoins": false,
"subscriptionType": "manual",
"subscriptionPolicy": null,
"equalization": null,
"snowflake": null,
"salt": "e0c4a8c5-2a5b-4488-9c43-cb3d816172f4",
"type": "Schema",
"schema": "credit_payments",
"id": 3,
"createdAt": "2021-09-09T17:06:39.839Z",
"updatedAt": "2021-09-09T17:06:39.839Z",
"workspace": null,
"createdBy": 2,
"updatedBy": 2,
"schemaEvolutionId": 2
},
"lastUsed": "2021-10-06T18:28:13.341Z",
"name": "Credit Payments",
"context": null
}
]
Delete an API key
DELETE/bim/apikey/{keyid}
Delete an API key, all auth tokens issued using that API key, and generate a new API key.
Request parameters
Response parameters
Request example
This example request will delete the API key with the ID 323, revoke all the auth tokens issued using that API key, and generate a new API key.
string The user's username for the IAM dictated in the request.
Yes
password
string The user's password for the IAM dictated in the request.
Yes
authenticated
boolean If true, the user has been successfully authenticated.
token
string The user's access token.
tokenExpiration
timestamp The date the token will expire.
profileId
integer The user ID.
iamid
string The IAM ID.
Yes
userId
string The user's username.
Yes
iamid
string The IAM ID.
No
userid
string The user's username.
No
email
string The user email.
No
phone
string The user phone number.
No
sqlUser
string The user's SQL username.
No
about
string Details about the user to be displayed on their profile.
No
location
string The user's location.
No
organization
string The user's organization.
No
position
string The user's position.
No
externalUserIds
array A list of the user's external usernames for hdfsUser, databricksUser, snowflakeUser, prestoUser, asaUser, and redshiftUser.
No
preferences
array
No
scim
array
No
profile
array Details information about the user, including name, email, phone, about, location, organization, position, preferences, externalUserIds, scim, id, and the date of creation.
permissions
array A list of the user's permissions.
iamid
string The IAM ID.
userid
string The user's username.
authorizations
array The user's attributes and groups.
updatedAt
timestamp The date the user was last updated.
disabled
boolean If true, the user is disabled.
lastLogin
timestamp The date the user last logged in.
bimAuthorizations
array The attributes and groups given to the user's BIM profile.
iamAuthorizations
array The attributes and groups given to the user's external IAM profile.
array The attributes and groups given to the user's BIM profile.
iamAuthorizations
array The attributes and groups given to the user's external IAM profile.
authorizations
array Details on the user's groups and attributes.
permissions
array[string] A list of the user's permissions.
profile
integer The user's profile ID.
lastLogin
timestamp The date the user last logged into Immuta.
disabled
boolean If true, the user is disabled.
createdAt
timestamp The date the user was created.
updatedAt
timestamp The date the user was last updated.
iamid
string The IAM ID.
Yes
userid
string The user's username.
Yes
permissions
array[string] A list of the user's permissions. This list is going to be a comprehensive list of all of the user's permissions. See Immuta permissions and personas for a list of Immuta permissions.
Yes
id
integer The user's ID.
iamid
string The IAM ID.
userid
string The user's username.
bimAuthorizations
array The attributes and groups given to the user's BIM profile.
iamAuthorizations
array The attributes and groups given to the user's external IAM profile.
authorizations
array Details on the user's groups and attributes.
permissions
array A list of the user's permissions.
profile
integer The user's profile ID.
lastLogin
timestamp The date the user last logged into Immuta.
disabled
boolean If true, the user is disabled.
createdAt
timestamp The date the user was created.
updatedAt
timestamp The date the user was last updated.
iamid
string The IAM ID.
Yes
userid
string The user's username.
Yes
originalPassword
string The user's old password.
Yes
password
string The user's new password.
Yes
success
boolean If true, the user's password has been successfully changed to the new password.
iamid
string The IAM ID.
Yes
userid
string The user's username.
Yes
disable
boolean If true, the user will be disabled.
Yes
userid
string The user's username.
disabled
boolean If true, the user is disabled.
iamid
string The external IAM ID.
Yes
iamId
string The external IAM ID.
Yes
dryRun
boolean If true, no updates will actually be made.
Yes
iamConfig
array Details about the IAM configuration, including authenticationOnly, credentials, defaultPermissions, displayName, id, ldapSync, and options.
No
plugin
string The type of plugin the IAM uses, ldap.
No
schema
array Details about the IAM schema, including group, profile, authorizations, and externalUserIds.
No
supportedActions
string
No
type
string The type of IAM, ldap.
No
totalCount
integer The total number of users in the external IAM that could be synced over into Immuta.
importedUsers
array Details about the users who were successfully imported from the sync, including userId and dn.
refreshedUsers
array Details about the users who were successfully refreshed from the sync, including userId and dn.
disabledUsers
array Details about the users who were successfully disabled from the sync, including userId and dn.
enabledUsers
array Details about the users who were successfully enabled from the sync, including userId and dn.
runningInBackground
boolean If true, the sync created a job to run in the background.
count
integer The number of users successfully updated from the IAM.
iamid
string The IAM ID.
Yes
modelType
string The type of model the attribute is added to. Options include group or user.
Yes
modelID
string The user or group ID.
Yes
attributeName
string The attribute name.
Yes
attributeValue
string The attribute value.
Yes
id
integer The user or group ID.
iamid
string The IAM ID.
userid
string The user's username.
name
string The group name.
bimAuthorizations
array The attributes and groups given to the user's BIM profile.
iamAuthorizations
array The attributes and groups given to the user's external IAM profile.
authorizations
array Details on the user's or group's and attributes.
permissions
array A list of the user's permissions.
profile
integer The user's profile ID.
lastLogin
timestamp The date the user last logged into Immuta.
disabled
boolean If true, the user is disabled.
createdAt
timestamp The date the user was created.
updatedAt
timestamp The date the user was last updated.
iamid
string The ID for the IAM the user or group is under.
Yes
modelId
string The user or group ID.
Yes
modelType
string The type of model the attribute is being removed from. Options include group or user.
Yes
key
string The attribute to remove.
Yes
value
string The attribute value to remove.
No
id
integer The user or group ID.
iamid
string The IAM ID.
authorizations
array The user or group attributes after the request has been made.
permissions
array The user or group permissions.
profile
integer The profile ID, if the model is a user.
systemGenerated
boolean If true, the user was created by Immuta.
createdAt
timestamp The date the user or group was created.
updatedAt
timestamp The date the user or group was last updated.
userId
string The user's username.
Yes
email
array The list of new users' emails.
Yes
failedEmails
array A list of any emails that failed to become users.
string The name displayed in Immuta and entered at the time of configuration.
type
string The identity provider type.
oauth
boolean When true, the IAM service uses OAuth framework for authorization.
size
integer The maximum number of records to return. The default is 25.
No
name
string A partial name to match against user names.
No
userid
string A partial ID to match against user IDs.
No
email
string A partial email address to match against user email addresses.
No
iamid
string[] Optionally provide the IAM to filter the users.
No
profileIds
string[] Filters results to return users with the specified profile IDs.
No
excludeSystemGenerated
boolean If true, the results will exclude accounts automatically created for handlers that periodically crawl and ingest.
No
excludeAdminAndGovernor
boolean If true, Admin and Governor accounts will be excluded.
No
excludeDeletediams
boolean If true, the results will exclude users for any IAMs that are no longer configured.
No
excludebim
boolean If true, users from the Immuta internal identity manager will be excluded.
No
includeDisabled
boolean If true, the results will include disabled users.
No
offset
integer Offset to start returning values.
No
sortField
string The field to sort results on. The default is user name. Possible values: name, createdAt, iamid, email.
No
sortOrder
string The order that the results will be sorted in. The default is asc. Possible values: asc, desc.
No
permission
string A permission to filter the users by.
No
count
integer Total number of results. May be greater than the length of hits if additional results exist. Use size and offset to page additional results.
hits
metadata Details for each result, including id, iamid, userid, bimAuthorizations, iamAuthorizations, authorizations, projectId, permissions, groupPermissions, profile, authentication, systemGenerated, lastLogin, lastExternalRefresh, disabled, hasLogin, groups, createdAt, updatedAt, and schema values. The following details are excluded from the response if the requesting user does not have the USER_ADMIN Immuta permission: bimAuthorizations, iamAuthorizations, and authorizations.
id
integer The user ID.
iamid
string The ID of the IAM the user is connected to.
userid
string The user's username.
bimAuthorizations
array The attributes and groups given to the user's BIM profile. This attribute is excluded from the response if the requesting user does not have the USER_ADMIN Immuta permission.
iamAuthorizations
array The attributes and groups given to the user's external IAM profile. This attribute is excluded from the response if the requesting user does not have the USER_ADMIN Immuta permission.
authorizations
metadata Details on the user's attributes. This attribute is excluded from the response if the requesting user does not have the USER_ADMIN Immuta permission.
projectId
integer The project ID for the user's current project.
permissions
string A list of the user's permissions.
profile
metadata Details on the user, including name, email, phone, about, location, organization, position, preferences, externalUserIds, scim, systemGenerated, id, createdAt, and updatedAt values.
lastLogin
timestamp The date of the user's last Immuta login.
disabled
boolean If true, the user has been disabled.
hasLogin
boolean If true, the user has logged into Immuta.
groups
metadata Information on the user's groups.
createdAt
timestamp The date the user was created.
updatedAt
timestamp The date of the last time the user's information was updated.
id
integer The user ID.
iamid
string The ID of the IAM the user is connected to.
userid
string The user's username.
bimAuthorizations
array The attributes and groups given to the user's BIM profile.
iamAuthorizations
array The attributes and groups given to the user's external IAM profile.
authorizations
metadata Details on the user's attributes.
projectId
integer The project ID for the user's current project.
permissions
string A list of the user's permissions.
profile
metadata Details on the user, including name, email, phone, about, location, organization, position, preferences, externalUserIds, scim, systemGenerated, id, createdAt, and updatedAt values.
lastLogin
timestamp The date of the user's last Immuta login.
disabled
boolean If true, the user has been disabled.
hasLogin
boolean If true, the user has logged into Immuta.
groups
metadata Information on the user's groups.
createdAt
timestamp The date the user was created.
updatedAt
timestamp The date of the last time the user's information was updated.
iamid
string The IAM ID.
Yes
id
integer The user ID.
Yes
params
query
No
profile
array Details about the user, including name, email, phone, about, location, organization, position, preferences, externalUserIds, scim, id, and the date of creation.
preferences
array Information about the user's tabDataSourceState, tabProjectState, sortDataSourceState, and currentProject.
permissions
array A list of the user's permissions.
iamid
string The IAM ID.
userid
string The user's username.
authorizations
array The user's attributes and groups.
updatedAt
timestamp The date the user was last updated.
systemGenerated
boolean
disabled
boolean If true, the user is disabled.
lastLogin
timestamp The date the user last logged in.
lastExternalRefresh
timestamp
bimAuthorizations
array The attributes and groups given to the user's BIM profile.
iamAuthorizations
array The attributes and groups given to the user's external IAM profile.
hasLogin
boolean If true, the user has logged into Immuta.
iamid
string The IAM ID.
Yes
id
integer The user ID.
Yes
name
string The user's name.
email
string The user's email.
phone
string The user's phone number.
about
string Details about the user.
location
string The user's location.
organization
string The user's organization.
position
string The user's position.
externalUserIds
array A list of user IDs for technologies outside of Immuta, if specified as different from the Immuta user ID.
createdAt
timestamp The date the user was created.
updatedAt
timestamp The date the profile was last updated.
preferences
array Information on the user's preferences including values for sortProjectState and currentProject.
integer If the token was generated using a project API key, this is the project ID.
token
string The access token.
created
timestamp The date the token was created.
lastUsed
timestamp The date the token was last used.
expiration
timestamp The date the token will expire.
name
string The token name.
createdAt
timestamp The date the token was created.
updatedAt
timestamp The date the token was last updated.
scopes
string The scope of the token, such as impersonation.
impersonationuserid
string The user ID of the impersonating user.
impersonationiamid
string The IAM ID of the impersonating user.
iamid
string The IAM ID.
Yes
userid
string The user's username.
Yes
keyid
integer The API key ID.
created
timestamp The date the API key was created.
project
array Information on the project attached to the API key, including values for name, status, description, documentation, deleted, allowMaskedJoins, subscriptionType, subscriptionPolicy, equalization, snowflake, salt, type, schema, id, createdAt, updatedAt, workspace, createdBy, updatedBy, and schemaEvolutionId.