Skip to main content

Permissions & Access Lists

Tools for DAM access control — access lists, permission definitions, and the preview and apply pairs that change permissions on records, classifications, and collections.

This page covers 38 tools, all of them available on request rather than in the default tool list, and 2 destructive.

How to read this page
  • Status — In the default tool list means the tool is one of the ~200 Aprimo advertises to every agent out of the box, so the agent discovers and calls it on its own. Available on request means the tool is registered and fully callable, but sits outside that default list — call it by name, or ask Aprimo to extend the list your tenant is served.
  • Both statuses work identically when called. Status affects discovery, not capability or authorization.
  • Visibility is not authorization. Every tool call executes as the authenticated user, and any tool can return an authorization error if that user lacks rights to the record, task, or file. See the MCP Tool Permission Map.
  • Destructive tools are labelled as such. They delete or irreversibly overwrite data, and will not act unless the call sets both confirmed and confirmedDestructive to true.
  • Activity and Project labels vary by tenant. Where this page says Activity or Project, your tenant's own configured terminology is substituted at runtime.
Why isn't every tool in the default list?

Aprimo's MCP Server exposes far more tools than most MCP clients handle well — many degrade or truncate their tool list well below the full catalogue. Rather than let a client truncate arbitrarily, Aprimo advertises a curated set of roughly 200 tools covering the tasks customers most commonly automate. Everything outside that set remains fully supported and callable by name; it simply isn't offered up front. If your integration leans on a tool that is available on request, talk to your Aprimo Customer Success Manager about extending the advertised list for your tenant.

Tools at a Glance

ToolStatusWhat it does
apply_access_list_members_by_idOn requestApplies a membership change to one Aprimo access list (identified by its id) that was already previewed via preview_access_list_members_by_id.
apply_access_list_members_by_keyOn requestApplies a membership change to one Aprimo access list (identified by externalId + permission + type) that was already previewed via preview_access_list_members_by_key.
apply_classification_permissionsOn requestApplies a group-based permission change to one Aprimo classification (kind selects tree/download/record -- see preview_classification_permissions) that was already previewed via preview_classification_permissions.
apply_collection_permissionsOn requestApplies a permission change to one Aprimo collection that was already previewed via preview_collection_permissions.
apply_create_access_listOn requestCreates a new Aprimo access list that was already previewed via preview_create_access_list.
apply_permission_definitionOn requestApplies a change to one Aprimo permission definition that was already previewed via preview_permission_definition.
apply_user_group_permissionsOn requestApplies a named-permission grant change to one Aprimo user group that was already previewed via preview_user_group_permissions.
apply_user_groups_permissions_batchOn requestApplies a named-permission grant change across multiple Aprimo user groups that was already previewed via preview_user_groups_permissions_batch.
apply_user_permissionsOn requestApplies a named-permission grant change to one Aprimo user that was already previewed via preview_user_permissions.
delete_access_listOn requestDestructive. Permanently deletes an Aprimo access list by its id.
delete_access_list_by_keyOn requestDestructive. Permanently deletes an Aprimo access list identified by its (externalId, permission, type) composite key.
get_access_listOn requestGets one Aprimo access list by its id -- not get_access_list_by_key, which looks up by a different key shape (the (externalId, permission, type) triplet), not an id.
get_access_list_by_keyOn requestGets one Aprimo access list by its (externalId, permission, type) composite key — the way access lists are addressed when the caller doesn't already know the access list's id.
get_calculated_permissionOn requestGets the calling user's calculated value (Granted/Denied/None) for one named permission in Aprimo, by its exact name — this reflects role/group inheritance, not just an explicit grant.
get_permissionOn requestGets one Aprimo named-permission definition (its display labels) by its exact name.
get_userOn requestGets one Aprimo user's detail (name, email, active status, storage usage, and dates) by id or by name.
get_user_fieldOn requestGets one custom field value set on an Aprimo user, by the user's id/name and the field's id (from list_user_fields or get_custom_field_definition).
get_user_groupOn requestGets one Aprimo user group's detail (name, organization, active status, and dates) by id or by name.
get_user_imageOn requestReturns the profile image URL (plus width/height/size/extension) for an Aprimo user, by id or by name.
list_access_listsOn requestLists the access lists configured in Aprimo: externalId, type, permission, member users/groups, and dates.
list_calculated_permissionsOn requestLists the calling user's calculated values (Granted/Denied/None) for named permissions in Aprimo, with the names sent in the query string.
list_permissionsOn requestLists the named-permission definitions configured in Aprimo: name and display labels.
list_user_fieldsOn requestLists the custom field values set on an Aprimo user, by id or by name.
list_user_group_permissionsOn requestLists an Aprimo user group's explicit named-permission values (Granted/Denied/None — these apply to every member of the group), by id or by name.
list_user_groupsOn requestLists the user groups configured in Aprimo: name, organization, active status, and dates.
list_user_membershipsOn requestLists the Aprimo user groups a user is a member of, by id or by name.
list_user_permissionsOn requestLists an Aprimo user's explicit named-permission values (Granted/Denied/None), by id or by name.
list_usersOn requestLists the users configured in Aprimo: name, email, active status, storage usage, and dates.
lookup_calculated_permissionsOn requestLooks up the calling user's calculated values (Granted/Denied/None) for named permissions in Aprimo, with the names sent in the request body — functionally equivalent to list_calculated_permissions, but usable when the name list is too long for a query string.
preview_access_list_members_by_idOn requestPreviews adding/removing users and user groups from one Aprimo access list, identified by its id.
preview_access_list_members_by_keyOn requestPreviews adding/removing users and user groups from one Aprimo access list, identified by its externalId + permission + type (rather than its id).
preview_classification_permissionsOn requestPreviews an access-control change to one Aprimo classification's group-based permissions.
preview_collection_permissionsOn requestPreviews an access-control change to one Aprimo collection's permissions (who can read/modify it, and what the public can do).
preview_create_access_listOn requestPreviews creating a new Aprimo access list (a reusable, named set of users/groups with a permission grant that can be assigned to records or classifications in bulk).
preview_permission_definitionOn requestPreviews a change to one Aprimo permission definition -- its display labels and/or its name.
preview_user_group_permissionsOn requestPreviews a named-permission grant change for one Aprimo user group (its explicit Granted/Denied/None value for named permissions -- these apply to every member of the group).
preview_user_groups_permissions_batchOn requestPreviews a named-permission grant change across multiple Aprimo user groups in one call.
preview_user_permissionsOn requestPreviews a named-permission grant change for one Aprimo user (their explicit Granted/Denied/None value for named permissions, e.g. role-derived rights).

apply_access_list_members_by_id

Available on request

Applies a membership change to one Aprimo access list (identified by its id) that was already previewed via preview_access_list_members_by_id. Must be called with the exact same arguments used in that preview call, plus its confirm_token -- any difference invalidates the token and this is refused. This modifies data -- the change affects every record/classification this access list is assigned to. Do not call without having shown the user the preview's diff and gotten explicit confirmation, then call again with confirmed=true.

Parameters:

ParameterTypeRequiredDescription
accessListIdstringYesThe access list id (32-char hex). Must match the preview call.
addUsersarray of stringYesMust match the value passed to preview_access_list_members_by_id.
removeUsersarray of stringYesMust match the value passed to preview_access_list_members_by_id.
addGroupsarray of stringYesMust match the value passed to preview_access_list_members_by_id.
removeGroupsarray of stringYesMust match the value passed to preview_access_list_members_by_id.
confirmTokenstringYesThe confirm_token returned by preview_access_list_members_by_id for this exact change.
confirmedbooleanYesMust be true to apply. Call preview_access_list_members_by_id first, review the diff with the user, then call again with confirmed=true.
serverMcpServerYes

Returns:

FieldTypeDescription
accessListIdstring
appliedboolean
currentobject (optional)
notestring (optional)

apply_access_list_members_by_key

Available on request

Applies a membership change to one Aprimo access list (identified by externalId + permission + type) that was already previewed via preview_access_list_members_by_key. Must be called with the exact same arguments used in that preview call, plus its confirm_token -- any difference invalidates the token and this is refused. This modifies data -- the change affects every record/classification this access list is assigned to. Do not call without having shown the user the preview's diff and gotten explicit confirmation, then call again with confirmed=true.

Parameters:

ParameterTypeRequiredDescription
externalIdstringYesMust match the value passed to preview_access_list_members_by_key.
permissionstringYesMust match the value passed to preview_access_list_members_by_key.
typestringYesMust match the value passed to preview_access_list_members_by_key.
addUsersarray of stringYesMust match the value passed to preview_access_list_members_by_key.
removeUsersarray of stringYesMust match the value passed to preview_access_list_members_by_key.
addGroupsarray of stringYesMust match the value passed to preview_access_list_members_by_key.
removeGroupsarray of stringYesMust match the value passed to preview_access_list_members_by_key.
confirmTokenstringYesThe confirm_token returned by preview_access_list_members_by_key for this exact change.
confirmedbooleanYesMust be true to apply. Call preview_access_list_members_by_key first, review the diff with the user, then call again with confirmed=true.
serverMcpServerYes

Returns:

FieldTypeDescription
externalIdstring
permissionstring
typestring
appliedboolean
currentobject (optional)
notestring (optional)

apply_classification_permissions

Available on request

Applies a group-based permission change to one Aprimo classification (kind selects tree/download/record -- see preview_classification_permissions) that was already previewed via preview_classification_permissions. Must be called with the exact same arguments used in that preview call, plus its confirm_token -- any difference invalidates the token and this is refused. This modifies data. Do not call without having shown the user the preview's diff (especially any break-inheritance warning) and gotten explicit confirmation, then call again with confirmed=true.

Parameters:

ParameterTypeRequiredDescription
classificationIdstringYesThe classification id (32-char hex). Must match the preview call.
kindstringYesMust match the value passed to preview_classification_permissions.
breakInheritancebooleanYesMust match the value passed to preview_classification_permissions.
addOrUpdatearray of DamModels.ClassificationPermissionEntryInputYesMust match the value passed to preview_classification_permissions.
removearray of stringYesMust match the value passed to preview_classification_permissions.
confirmTokenstringYesThe confirm_token returned by preview_classification_permissions for this exact change.
confirmedbooleanYesMust be true to apply. Call preview_classification_permissions first, review the diff (and any break-inheritance warning) with the user, then call again with confirmed=true.
serverMcpServerYes

Returns:

FieldTypeDescription
classificationIdstring
kindstring
appliedboolean
currentobject (optional)
notestring (optional)

apply_collection_permissions

Available on request

Applies a permission change to one Aprimo collection that was already previewed via preview_collection_permissions. Must be called with the exact same arguments used in that preview call, plus its confirm_token -- any difference invalidates the token and this is refused. This modifies data. Do not call without having shown the user the preview's diff (especially any public-exposure warning) and gotten explicit confirmation, then call again with confirmed=true.

Parameters:

ParameterTypeRequiredDescription
collectionIdstringYesThe collection id (32-char hex). Must match the preview call.
collectionOwnerIdstringYesMust match the value passed to preview_collection_permissions.
addOrUpdateUsersarray of DamModels.CollectionUserPermissionInputYesMust match the value passed to preview_collection_permissions.
removeUsersarray of stringYesMust match the value passed to preview_collection_permissions.
addOrUpdateGroupsarray of DamModels.CollectionGroupPermissionInputYesMust match the value passed to preview_collection_permissions.
removeGroupsarray of stringYesMust match the value passed to preview_collection_permissions.
publicPermissionstringYesMust match the value passed to preview_collection_permissions.
confirmTokenstringYesThe confirm_token returned by preview_collection_permissions for this exact change.
confirmedbooleanYesMust be true to apply. Call preview_collection_permissions first, review the diff (and any public-exposure warning) with the user, then call again with confirmed=true.
serverMcpServerYes

Returns:

FieldTypeDescription
collectionIdstring
appliedboolean
currentobject (optional)The collection's permissions after the write, HAL-stripped. Null if the re-read failed (see ).
notestring (optional)

apply_create_access_list

Available on request

Creates a new Aprimo access list that was already previewed via preview_create_access_list. Must be called with the exact same arguments used in that preview call, plus its confirm_token -- any difference invalidates the token and this is refused. This modifies data. Do not call without having shown the user the preview's diff (especially any duplicate-externalId warning) and gotten explicit confirmation, then call again with confirmed=true.

Parameters:

ParameterTypeRequiredDescription
externalIdstringYesMust match the value passed to preview_create_access_list.
typestringYesMust match the value passed to preview_create_access_list.
permissionstringYesMust match the value passed to preview_create_access_list.
usersarray of stringYesMust match the value passed to preview_create_access_list.
userGroupsarray of stringYesMust match the value passed to preview_create_access_list.
confirmTokenstringYesThe confirm_token returned by preview_create_access_list for this exact change.
confirmedbooleanYesMust be true to apply. Call preview_create_access_list first, review the diff (and any duplicate warning) with the user, then call again with confirmed=true.
serverMcpServerYes

Returns:

FieldTypeDescription
externalIdstring
idstring (optional)
appliedboolean
currentobject (optional)
notestring (optional)

apply_permission_definition

Available on request

Applies a change to one Aprimo permission definition that was already previewed via preview_permission_definition. Must be called with the exact same arguments used in that preview call, plus its confirm_token -- any difference invalidates the token and this is refused. This modifies data. Do not call without having shown the user the preview's diff (especially any rename warning -- a rename affects every grant referencing the permission by name) and gotten explicit confirmation, then call again with confirmed=true.

Parameters:

ParameterTypeRequiredDescription
permissionNamestringYesThe permission's current name. Must match the preview call.
newNamestringYesMust match the value passed to preview_permission_definition.
labelsarray of DamModels.PermissionLabelInputYesMust match the value passed to preview_permission_definition.
confirmTokenstringYesThe confirm_token returned by preview_permission_definition for this exact change.
confirmedbooleanYesMust be true to apply. Call preview_permission_definition first, review the diff (and any rename warning) with the user, then call again with confirmed=true.
serverMcpServerYes

Returns:

FieldTypeDescription
permissionNamestring
appliedboolean
currentobject (optional)
notestring (optional)

apply_user_group_permissions

Available on request

Applies a named-permission grant change to one Aprimo user group that was already previewed via preview_user_group_permissions. Must be called with the exact same arguments used in that preview call, plus its confirm_token -- any difference invalidates the token and this is refused. This modifies data -- the change affects every member of the group. Do not call without having shown the user the preview's diff and gotten explicit confirmation, then call again with confirmed=true.

Parameters:

ParameterTypeRequiredDescription
userGroupIdstringYesThe user group id (32-char hex). Must match the preview call.
addOrUpdatearray of DamModels.PermissionValueInputYesMust match the value passed to preview_user_group_permissions.
removearray of stringYesMust match the value passed to preview_user_group_permissions.
confirmTokenstringYesThe confirm_token returned by preview_user_group_permissions for this exact change.
confirmedbooleanYesMust be true to apply. Call preview_user_group_permissions first, review the diff with the user (this affects every member of the group), then call again with confirmed=true.
serverMcpServerYes

Returns:

FieldTypeDescription
userGroupIdstring
appliedboolean
currentobject (optional)
notestring (optional)

apply_user_groups_permissions_batch

Available on request

Applies a named-permission grant change across multiple Aprimo user groups that was already previewed via preview_user_groups_permissions_batch. Must be called with the exact same groups used in that preview call, plus its confirm_token -- any difference invalidates the token and this is refused. This modifies data. Not atomic across groups -- a partial failure can leave some groups updated and others not. Do not call without having shown the user the preview's diff and gotten explicit confirmation, then call again with confirmed=true.

Parameters:

ParameterTypeRequiredDescription
groupsarray of DamModels.UserGroupPermissionsBatchInputYesMust match the groups passed to preview_user_groups_permissions_batch.
confirmTokenstringYesThe confirm_token returned by preview_user_groups_permissions_batch for this exact change.
confirmedbooleanYesMust be true to apply. Call preview_user_groups_permissions_batch first, review the diff (not atomic across groups) with the user, then call again with confirmed=true.
serverMcpServerYes

Returns:

FieldTypeDescription
appliedboolean
currentarray of UserGroupPermissionsBatchEntryResult
current[].userGroupIdstring
current[].permissionsobject (optional)
current[].notestring (optional)

apply_user_permissions

Available on request

Applies a named-permission grant change to one Aprimo user that was already previewed via preview_user_permissions. Must be called with the exact same arguments used in that preview call, plus its confirm_token -- any difference invalidates the token and this is refused. This modifies data. Do not call without having shown the user the preview's diff and gotten explicit confirmation, then call again with confirmed=true.

Parameters:

ParameterTypeRequiredDescription
userIdstringYesThe user id (32-char hex). Must match the preview call.
addOrUpdatearray of DamModels.PermissionValueInputYesMust match the value passed to preview_user_permissions.
removearray of stringYesMust match the value passed to preview_user_permissions.
confirmTokenstringYesThe confirm_token returned by preview_user_permissions for this exact change.
confirmedbooleanYesMust be true to apply. Call preview_user_permissions first, review the diff with the user, then call again with confirmed=true.
serverMcpServerYes

Returns:

FieldTypeDescription
userIdstring
appliedboolean
currentobject (optional)
notestring (optional)

delete_access_list

Available on request · Destructive

Permanently deletes an Aprimo access list by its id. This cannot be undone. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact access list with the user.

Parameters:

ParameterTypeRequiredDescription
accessListIdstringYesThe access list id (GUID) to delete.
confirmedbooleanNoMust be true to proceed. Set to false (or omit) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly confirmed the exact access list.
confirmedDestructivebooleanNoMust also be true (in addition to confirmed) — deleting an access list is permanent and cannot be undone. Set only after stating the exact access list to the user and getting explicit go-ahead.

Returns:

FieldTypeDescription
idstring
deletedboolean
Destructive operation

This tool deletes or irreversibly overwrites data in the live tenant; the change cannot be rolled back through the API. It will not act unless the call sets both confirmed and confirmedDestructive to true.


delete_access_list_by_key

Available on request · Destructive

Permanently deletes an Aprimo access list identified by its (externalId, permission, type) composite key. This cannot be undone. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact access list with the user.

Parameters:

ParameterTypeRequiredDescription
externalIdstringYesThe access list's externalId.
permissionstringYesThe access list's permission. One of: Read, Modify, Delete, FullControl.
typestringYesThe access list's type.
confirmedbooleanNoMust be true to proceed. Set to false (or omit) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly confirmed the exact access list.
confirmedDestructivebooleanNoMust also be true (in addition to confirmed) — deleting an access list is permanent and cannot be undone. Set only after stating the exact access list to the user and getting explicit go-ahead.

Returns:

FieldTypeDescription
externalIdstring
permissionstring
typestring
deletedboolean
Destructive operation

This tool deletes or irreversibly overwrites data in the live tenant; the change cannot be rolled back through the API. It will not act unless the call sets both confirmed and confirmedDestructive to true.


get_access_list

Available on request

Gets one Aprimo access list by its id -- not get_access_list_by_key, which looks up by a different key shape (the (externalId, permission, type) triplet), not an id. Use list_access_lists first, or get_access_list_by_key when only that key is known.

Parameters:

ParameterTypeRequiredDescription
accessListIdstringYesThe access list id (GUID), from list_access_lists.

Returns:

FieldTypeDescription
idstring
externalIdstring (optional)
typestring (optional)
permissioninteger (optional)Undocumented integer encoding — see 's remarks.
userIdsarray of string
userGroupIdsarray of string
createdOnstring (optional)
modifiedOnstring (optional)

get_access_list_by_key

Available on request

Gets one Aprimo access list by its (externalId, permission, type) composite key — the way access lists are addressed when the caller doesn't already know the access list's id. Use get_access_list instead when the id is already known.

Parameters:

ParameterTypeRequiredDescription
externalIdstringYesThe access list's externalId.
permissionstringYesThe access list's permission. One of: Read, Modify, Delete, FullControl.
typestringYesThe access list's type.

Returns:

FieldTypeDescription
idstring
externalIdstring (optional)
typestring (optional)
permissioninteger (optional)Undocumented integer encoding — see 's remarks.
userIdsarray of string
userGroupIdsarray of string
createdOnstring (optional)
modifiedOnstring (optional)

get_calculated_permission

Available on request

Gets the calling user's calculated value (Granted/Denied/None) for one named permission in Aprimo, by its exact name — this reflects role/group inheritance, not just an explicit grant.

Parameters:

ParameterTypeRequiredDescription
calculatedPermissionNamestringYesThe permission's exact name, e.g. "RoleMyPermission".

Returns:

FieldTypeDescription
namestring (optional)
valuestring (optional)One of "None", "Granted", "Denied".

get_permission

Available on request

Gets one Aprimo named-permission definition (its display labels) by its exact name. Distinct from list_user_permissions/list_user_group_permissions, which read a principal's granted/denied value for a permission, not its definition.

Parameters:

ParameterTypeRequiredDescription
permissionNamestringYesThe permission's exact name, e.g. "RoleMyPermission".

Returns:

FieldTypeDescription
namestring
labelsarray of PermissionLabelPayload
labels[].valuestring (optional)
labels[].languageIdstring

get_user

Available on request

Gets one Aprimo user's detail (name, email, active status, storage usage, and dates) by id or by name. Use list_users first, or use the name selector when the user names the account directly. Not a custom field (get_user_field), the user's group (get_user_group), image (get_user_image), or role (get_user_role).

Parameters:

ParameterTypeRequiredDescription
userIdstringNoThe user id (GUID). Provide this or name, not both.
namestringNoThe user's account name (case-insensitive, exact match). Provide this or userId, not both.

Returns:

FieldTypeDescription
idstring
namestring (optional)
firstNamestring (optional)
lastNamestring (optional)
emailstring (optional)
isActiveboolean (optional)
aprimoUserIdinteger (optional)
languageIdstring (optional)
languageForUIIdstring (optional)
imageUristring (optional)
createdOnstring (optional)
modifiedOnstring (optional)

get_user_field

Available on request

Gets one custom field value set on an Aprimo user, by the user's id/name and the field's id (from list_user_fields or get_custom_field_definition). Display it as "label: value" — never show the id/fieldName/dataType to the user.

Parameters:

ParameterTypeRequiredDescription
fieldIdstringYesThe field definition id (GUID) whose value to read.
userIdstringNoThe user id (GUID). Provide this or name, not both.
namestringNoThe user's account name (case-insensitive, exact match). Provide this or userId, not both.

Returns:

FieldTypeDescription
userIdstring
idstring
fieldNamestring (optional)
labelstring (optional)
dataTypestring (optional)
valuestring (optional)

get_user_group

Available on request

Gets one Aprimo user group's detail (name, organization, active status, and dates) by id or by name. Use list_user_groups first, or use the name selector when the user names the group directly.

Parameters:

ParameterTypeRequiredDescription
userGroupIdstringNoThe user group id (GUID). Provide this or name, not both.
namestringNoThe user group's name (case-insensitive, exact match). Provide this or userGroupId, not both.

Returns:

FieldTypeDescription
idstring
namestring (optional)
organizationIdstring (optional)
isActiveboolean (optional)
createdOnstring (optional)
modifiedOnstring (optional)

get_user_image

Available on request

Returns the profile image URL (plus width/height/size/extension) for an Aprimo user, by id or by name. The URL remains valid for twenty-four hours. Returns a friendly message if the user has no profile image. Important: Display the URL as plain text, never as an HTML img tag.

Parameters:

ParameterTypeRequiredDescription
userIdstringNoThe user id (GUID). Provide this or name, not both.
namestringNoThe user's account name (case-insensitive, exact match). Provide this or userId, not both.

Returns:

FieldTypeDescription
userIdstring
uristring (optional)
widthinteger (optional)
heightinteger (optional)
sizeinteger (optional)
extensionstring (optional)

list_access_lists

Available on request

Lists the access lists configured in Aprimo: externalId, type, permission, member users/groups, and dates. Use to look up an access list's id, or its (externalId, permission, type) key, before calling get_access_list(_by_key) or delete_access_list(_by_key).

Parameters:

ParameterTypeRequiredDescription
filterstringNoOptional filter expression (DAM query syntax). Omit to list every access list.
sortstringNoOptional sort expression. Omit for the endpoint's default order.
skipintegerNoNumber of items to skip, for paging. Defaults to 0.
takeintegerNoMaximum number of items to return. Omit for the endpoint's default page size.

Returns:

FieldTypeDescription
countinteger
itemsarray of AccessListPayload
items[].idstring
items[].externalIdstring (optional)
items[].typestring (optional)
items[].permissioninteger (optional)Undocumented integer encoding — see 's remarks.
items[].userIdsarray of string
items[].userGroupIdsarray of string
items[].createdOnstring (optional)
items[].modifiedOnstring (optional)

list_calculated_permissions

Available on request

Lists the calling user's calculated values (Granted/Denied/None) for named permissions in Aprimo, with the names sent in the query string. Use lookup_calculated_permissions instead when the name list is long enough to risk exceeding a query-string length limit.

Parameters:

ParameterTypeRequiredDescription
namesstringYesComma-separated list of permission names to look up, e.g. "RoleMyPermission,AnotherPermission". Required -- the endpoint has no "return every permission" default and 400s if this is omitted.

Returns:

FieldTypeDescription
countinteger
itemsarray of PermissionValuePayload
items[].namestring (optional)
items[].valuestring (optional)One of "None", "Granted", "Denied".

list_permissions

Available on request

Lists the named-permission definitions configured in Aprimo: name and display labels. Use to look up a permission's exact name before calling get_permission, apply_permission_definition, or list_user_permissions/list_user_group_permissions filters.

Parameters:

ParameterTypeRequiredDescription
skipintegerNoNumber of items to skip, for paging. Defaults to 0.
takeintegerNoMaximum number of items to return. Omit for the endpoint's default page size.

Returns:

FieldTypeDescription
countinteger
itemsarray of PermissionPayload
items[].namestring
items[].labelsarray of PermissionLabelPayload
items[].labels[].valuestring (optional)
items[].labels[].languageIdstring

list_user_fields

Available on request

Lists the custom field values set on an Aprimo user, by id or by name. Use includeFields to filter to specific fields (matches by id exactly, or by fieldName/label substring). Display each as "label: value" — never show id/fieldName/dataType to the user.

Parameters:

ParameterTypeRequiredDescription
userIdstringNoThe user id (GUID). Provide this or name, not both.
namestringNoThe user's account name (case-insensitive, exact match). Provide this or userId, not both.
includeFieldsstringNoOptional comma-separated list of custom field terms to include. Matching is case-insensitive: an exact match on field id, or a substring match on fieldName or label. Examples: "keywords", "Status", "brand,campaign". Omit to return all fields.
skipintegerNoNumber of items to skip, for paging. Defaults to 0.
takeintegerNoMaximum number of items to return. Omit for the endpoint's default page size.

Returns:

FieldTypeDescription
userIdstring
countinteger
itemsarray of UserFieldPayload
items[].userIdstring
items[].idstring
items[].fieldNamestring (optional)
items[].labelstring (optional)
items[].dataTypestring (optional)
items[].valuestring (optional)

list_user_group_permissions

Available on request

Lists an Aprimo user group's explicit named-permission values (Granted/Denied/None — these apply to every member of the group), by id or by name. Read-only — use preview_user_group_permissions/apply_user_group_permissions to change these.

Parameters:

ParameterTypeRequiredDescription
userGroupIdstringNoThe user group id (GUID). Provide this or name, not both.
namestringNoThe user group's name (case-insensitive, exact match). Provide this or userGroupId, not both.
filterstringNoOptional filter expression (DAM query syntax). Omit to return every permission value.
skipintegerNoNumber of items to skip, for paging. Defaults to 0.
takeintegerNoMaximum number of items to return. Omit for the endpoint's default page size.

Returns:

FieldTypeDescription
userGroupIdstring
countinteger
itemsarray of PermissionValuePayload
items[].namestring (optional)
items[].valuestring (optional)One of "None", "Granted", "Denied".

list_user_groups

Available on request

Lists the user groups configured in Aprimo: name, organization, active status, and dates. Use when the user asks what user groups exist, or to look up a group's id/exact name before calling get_user_group or list_user_group_permissions by name.

Parameters:

ParameterTypeRequiredDescription
filterstringNoOptional filter expression (DAM query syntax), e.g. "IsActive = true". Omit to list every user group.
sortstringNoOptional sort expression, e.g. "Name asc". Omit for the endpoint's default order.
skipintegerNoNumber of items to skip, for paging. Defaults to 0.
takeintegerNoMaximum number of items to return. Omit for the endpoint's default page size.

Returns:

FieldTypeDescription
countinteger
itemsarray of UserGroupPayload
items[].idstring
items[].namestring (optional)
items[].organizationIdstring (optional)
items[].isActiveboolean (optional)
items[].createdOnstring (optional)
items[].modifiedOnstring (optional)

list_user_memberships

Available on request

Lists the Aprimo user groups a user is a member of, by id or by name.

Parameters:

ParameterTypeRequiredDescription
userIdstringNoThe user id (GUID). Provide this or name, not both.
namestringNoThe user's account name (case-insensitive, exact match). Provide this or userId, not both.

Returns:

FieldTypeDescription
userIdstring
countinteger
itemsarray of UserGroupPayload
items[].idstring
items[].namestring (optional)
items[].organizationIdstring (optional)
items[].isActiveboolean (optional)
items[].createdOnstring (optional)
items[].modifiedOnstring (optional)

list_user_permissions

Available on request

Lists an Aprimo user's explicit named-permission values (Granted/Denied/None), by id or by name. Read-only — use preview_user_permissions/apply_user_permissions to change these.

Parameters:

ParameterTypeRequiredDescription
userIdstringNoThe user id (GUID). Provide this or name, not both.
namestringNoThe user's account name (case-insensitive, exact match). Provide this or userId, not both.
skipintegerNoNumber of items to skip, for paging. Defaults to 0.
takeintegerNoMaximum number of items to return. Omit for the endpoint's default page size.

Returns:

FieldTypeDescription
userIdstring
countinteger
itemsarray of PermissionValuePayload
items[].namestring (optional)
items[].valuestring (optional)One of "None", "Granted", "Denied".

list_users

Available on request

Lists the users configured in Aprimo: name, email, active status, storage usage, and dates. Use when the user asks what users exist, or to look up a user's id/exact name before calling get_user, list_user_fields, list_user_memberships, or list_user_permissions by name.

Parameters:

ParameterTypeRequiredDescription
filterstringNoOptional filter expression (DAM query syntax), e.g. "IsActive = true". Omit to list every user.
sortstringNoOptional sort expression, e.g. "Name asc". Omit for the endpoint's default order.
skipintegerNoNumber of items to skip, for paging. Defaults to 0.
takeintegerNoMaximum number of items to return. Omit for the endpoint's default page size.

Returns:

FieldTypeDescription
countinteger
itemsarray of UserPayload
items[].idstring
items[].namestring (optional)
items[].firstNamestring (optional)
items[].lastNamestring (optional)
items[].emailstring (optional)
items[].isActiveboolean (optional)
items[].aprimoUserIdinteger (optional)
items[].languageIdstring (optional)
items[].languageForUIIdstring (optional)
items[].imageUristring (optional)
items[].createdOnstring (optional)
items[].modifiedOnstring (optional)

lookup_calculated_permissions

Available on request

Looks up the calling user's calculated values (Granted/Denied/None) for named permissions in Aprimo, with the names sent in the request body — functionally equivalent to list_calculated_permissions, but usable when the name list is too long for a query string. This is a read: it never modifies data, despite using POST.

Parameters:

ParameterTypeRequiredDescription
names.")] List<string>YesPermission names to look up, e.g. ["RoleMyPermission", "AnotherPermission"].

Returns:

FieldTypeDescription
countinteger
itemsarray of PermissionValuePayload
items[].namestring (optional)
items[].valuestring (optional)One of "None", "Granted", "Denied".

preview_access_list_members_by_id

Available on request

Previews adding/removing users and user groups from one Aprimo access list, identified by its id. Read-only dry run -- changes nothing. Returns the current access list, the proposed membership diff, and a confirm_token. To actually apply the change, call apply_access_list_members_by_id next with the exact same arguments plus that confirm_token and confirmed=true.

Parameters:

ParameterTypeRequiredDescription
accessListIdstringYesThe access list id (32-char hex).
addUsersarray of stringNoUser ids (32-char hex) to add to this access list.
removeUsersarray of stringNoUser ids (32-char hex) to remove from this access list.
addGroupsarray of stringNoUser group ids (32-char hex) to add to this access list.
removeGroupsarray of stringNoUser group ids (32-char hex) to remove from this access list.

Returns:

FieldTypeDescription
accessListIdstring
currentobject (optional)
proposedAccessListMembersDiffBody
proposed.usersEditableIdCollectionModel (optional)
proposed.users.addOrUpdatearray of string
proposed.users.removearray of string
proposed.userGroupsEditableIdCollectionModel (optional)
proposed.userGroups.addOrUpdatearray of string
proposed.userGroups.removearray of string
confirmTokenstring

preview_access_list_members_by_key

Available on request

Previews adding/removing users and user groups from one Aprimo access list, identified by its externalId + permission + type (rather than its id). Read-only dry run -- changes nothing. Returns the current access list, the proposed membership diff, and a confirm_token. To actually apply the change, call apply_access_list_members_by_key next with the exact same arguments plus that confirm_token and confirmed=true.

Parameters:

ParameterTypeRequiredDescription
externalIdstringYesThe access list's external identifier.
permissionstringYesThe access list's permission level. One of Read, Modify, Delete, FullControl.
typestringYesThe access list's type (e.g. "Record", "Classification").
addUsersarray of stringNoUser ids (32-char hex) to add to this access list.
removeUsersarray of stringNoUser ids (32-char hex) to remove from this access list.
addGroupsarray of stringNoUser group ids (32-char hex) to add to this access list.
removeGroupsarray of stringNoUser group ids (32-char hex) to remove from this access list.

Returns:

FieldTypeDescription
externalIdstring
permissionstring
typestring
currentobject (optional)
proposedAccessListMembersByKeyBody
proposed.externalIdstring
proposed.permissionstringOne of "Read", "Modify", "Delete", "FullControl".
proposed.typestring
proposed.usersEditableIdCollectionModel (optional)
proposed.users.addOrUpdatearray of string
proposed.users.removearray of string
proposed.userGroupsEditableIdCollectionModel (optional)
proposed.userGroups.addOrUpdatearray of string
proposed.userGroups.removearray of string
confirmTokenstring

preview_classification_permissions

Available on request

Previews an access-control change to one Aprimo classification's group-based permissions. kind selects which permission set: tree (who can read/classify/modify/delete the classification tree node itself), download (who can download files classified under it), or record (who can read/modify records classified under it). Read-only dry run -- changes nothing. Returns the current permissions, the proposed diff, and a confirm_token. To actually apply the change, call apply_classification_permissions next with the exact same arguments plus that confirm_token and confirmed=true. A break_inheritance=true change is flagged break-inheritance in the response -- it affects every child classification under this one; confirm it explicitly with the user before applying.

Parameters:

ParameterTypeRequiredDescription
classificationIdstringYesThe classification id (32-char hex).
kindstringYesWhich permission set to change. One of tree, download, record.
breakInheritancebooleanNoOptional: when true, breaks permission inheritance from the parent classification for this permission set. High-impact -- affects every child classification.
addOrUpdatearray of DamModels.ClassificationPermissionEntryInputNoUser group grants to add or update. Each entry is {userGroupId, accessRight}; valid accessRight values depend on kind (see tool description).
removearray of stringNoUser group ids (32-char hex) whose explicit grant for this permission set should be removed.

Returns:

FieldTypeDescription
classificationIdstring
kindstring
currentobject (optional)
proposedClassificationPermissionsEditCommand
proposed.breakInheritanceboolean (optional)
proposed.permissionsClassificationPermissionsDiff
proposed.permissions.addOrUpdatearray of ClassificationPermissionEntryInput
proposed.permissions.removearray of ClassificationPermissionRemoveEntry
breakInheritanceWarningstring (optional)Non-null only when this change would set breakInheritance=true — see AclTools.BuildBreakInheritanceWarning.
confirmTokenstring

preview_collection_permissions

Available on request

Previews an access-control change to one Aprimo collection's permissions (who can read/modify it, and what the public can do). Read-only dry run -- changes nothing. Returns the current permissions, the proposed diff (only the principals you specify are changed; everyone else is left alone), and a confirm_token. To actually apply the change, call apply_collection_permissions next with the exact same arguments plus that confirm_token and confirmed=true. A public_permission change is flagged public-exposure in the response -- read that flag and confirm it explicitly with the user before applying.

Parameters:

ParameterTypeRequiredDescription
collectionIdstringYesThe collection id (32-char hex).
collectionOwnerIdstringNoOptional: transfer ownership of the collection to this user id (32-char hex).
addOrUpdateUsersarrayNoUsers to grant or change a permission for. Each entry is {userId, permission}, permission one of None, Read, Modify.
removeUsersarrayNoUser ids (32-char hex) whose explicit permission on this collection should be removed.
addOrUpdateGroupsarrayNoGroups to grant or change a permission for. Each entry is {groupId, permission}, permission one of None, Read, Modify.
removeGroupsarrayNoGroup ids (32-char hex) whose explicit permission on this collection should be removed.
publicPermissionstringNoOptional: what users with no explicit or group permission can do. One of None, Read. Any change here is public-exposure-sensitive.

Returns:

FieldTypeDescription
collectionIdstring
currentobject (optional)/// The collection's current permissions as returned by DAM, with HAL (_links/_embedded) stripped. A rather than a named dto deliberately — 's StripHal is the shared, generic "make a raw DAM response safe to return" helper every later ACL preview tool reuses, so this field mirrors whatever shape the underlying DAM resource has rather than duplicating it as a hand-typed model.
proposedCollectionPermissionsEditBody
proposed.collectionOwnerIdstring (optional)
proposed.permissionsCollectionUserPermissionsDiff (optional)
proposed.permissions.addOrUpdatearray of CollectionUserPermissionInput
proposed.permissions.removearray of CollectionUserRemoveEntry
proposed.groupsPermissionsCollectionGroupPermissionsDiff (optional)
proposed.groupsPermissions.addOrUpdatearray of CollectionGroupPermissionInput
proposed.groupsPermissions.removearray of CollectionGroupRemoveEntry
proposed.publicPermissionstring (optional)
publicExposureWarningstring (optional)Non-null only when this change would alter publicPermission — see AclTools.BuildPublicExposureWarning.
confirmTokenstring

preview_create_access_list

Available on request

Previews creating a new Aprimo access list (a reusable, named set of users/groups with a permission grant that can be assigned to records or classifications in bulk). Read-only dry run -- changes nothing. Checks whether an access list with this externalId already exists and flags it as a duplicate advisory (DAM's real key is externalId+type+permission, so a second list under the same externalId is legal but is often a copy/paste mistake) -- decide whether to reuse the existing one instead. Returns the proposed access list and a confirm_token. To actually create it, call apply_create_access_list next with the exact same arguments plus that confirm_token and confirmed=true.

Parameters:

ParameterTypeRequiredDescription
externalIdstringYesExternal identifier for the new access list (caller-defined, used to look it up later).
typestringYesThe access list's type -- confirmed live against the tenant: this must be the GUID id of an existing DAM entity (not a free-text category label like "Record" or "Classification" -- passing one of those 400s with "The specified access list type does not exist.", and passing an otherwise-well-formed but non-existent GUID 500s ungracefully instead of a clean validation error). Find a valid value by reading the type field off an existing access list via list_access_lists/get_access_list first, and reuse it, rather than guessing one.
permissionstringYesThe permission level this access list grants. One of Read, Modify, Delete, FullControl.
usersarray of stringNoUser ids (32-char hex) to include as initial members.
userGroupsarray of stringNoUser group ids (32-char hex) to include as initial members.

Returns:

FieldTypeDescription
externalIdstring
typestring
permissionstring
proposedCreateAccessListBody
proposed.externalIdstring
proposed.typestring
proposed.permissionstringOne of "Read", "Modify", "Delete", "FullControl".
proposed.usersEditableIdCollectionModel (optional)
proposed.users.addOrUpdatearray of string
proposed.users.removearray of string
proposed.userGroupsEditableIdCollectionModel (optional)
proposed.userGroups.addOrUpdatearray of string
proposed.userGroups.removearray of string
duplicateWarningstring (optional)Non-null only when an existing access list already uses this externalId — see AclTools.BuildDuplicateExternalIdWarning.
confirmTokenstring

preview_permission_definition

Available on request

Previews a change to one Aprimo permission definition -- its display labels and/or its name. Read-only dry run -- changes nothing. Returns the current definition, the proposed change, and a confirm_token. To actually apply the change, call apply_permission_definition next with the exact same arguments plus that confirm_token and confirmed=true. Renaming a permission affects every user/group grant that references it by name -- a rename is flagged in the response; confirm it explicitly with the user before applying.

Parameters:

ParameterTypeRequiredDescription
permissionNamestringYesThe permission's current name.
newNamestringNoOptional: rename the permission to this name. Affects every grant referencing the old name.
labelsarray of DamModels.PermissionLabelInputNoOptional: replace the permission's display labels. Each entry is {languageId, value}.

Returns:

FieldTypeDescription
permissionNamestring
currentobject (optional)
proposedPermissionDefinitionBody
proposed.originalNamestring
proposed.namestring
proposed.labelsarray of PermissionLabelInput (optional)Only populated when the caller specified labels — this is a diff (rename-only otherwise), not a full label replacement.
proposed.labels[].languageIdstringThe language id (GUID) this label is in.
proposed.labels[].valuestringThe label text for that language.
renameWarningstring (optional)Non-null only when this change would rename the permission — see AclTools.BuildPermissionRenameWarning.
confirmTokenstring

preview_user_group_permissions

Available on request

Previews a named-permission grant change for one Aprimo user group (its explicit Granted/Denied/None value for named permissions -- these apply to every member of the group). Read-only dry run -- changes nothing. Returns the current permission values, the proposed diff, and a confirm_token. To actually apply the change, call apply_user_group_permissions next with the exact same arguments plus that confirm_token and confirmed=true.

Parameters:

ParameterTypeRequiredDescription
userGroupIdstringYesThe user group id (32-char hex).
addOrUpdatearray of DamModels.PermissionValueInputNoPermissions to grant or change for this user group. Each entry is {name, value}, value one of None, Granted, Denied.
removearray of stringNoPermission names whose explicit value for this user group should be removed.

Returns:

FieldTypeDescription
userGroupIdstring
currentobject (optional)
proposedPermissionsEditBody
proposed.permissionsPermissionDiff
proposed.permissions.addOrUpdatearray of PermissionValueInput
proposed.permissions.removearray of PermissionRemoveEntry (optional)
confirmTokenstring

preview_user_groups_permissions_batch

Available on request

Previews a named-permission grant change across multiple Aprimo user groups in one call. Read-only dry run -- changes nothing. Reads each group's current permissions individually and returns the proposed diff per group, plus a single confirm_token covering the whole batch. Important: applying this batch is not atomic across groups -- if the underlying Aprimo API call fails partway through, some groups may already be updated while others are not; there is no automatic rollback.

Parameters:

ParameterTypeRequiredDescription
groupsarray of DamModels.UserGroupPermissionsBatchInputYesThe user groups to change. Each entry is {userGroupId, addOrUpdate, remove}, mirroring preview_user_group_permissions' per-group args.

Returns:

FieldTypeDescription
currentarray of UserGroupPermissionsBatchEntryResult
current[].userGroupIdstring
current[].permissionsobject (optional)
current[].notestring (optional)
proposedUserGroupsPermissionsBatchBody
proposed.userGroupsarray of UserGroupPermissionsBatchEntry
proposed.userGroups[].idstring
proposed.userGroups[].permissionsPermissionDiff
confirmTokenstring

preview_user_permissions

Available on request

Previews a named-permission grant change for one Aprimo user (their explicit Granted/Denied/None value for named permissions, e.g. role-derived rights). Read-only dry run -- changes nothing. Returns the current permission values, the proposed diff, and a confirm_token. To actually apply the change, call apply_user_permissions next with the exact same arguments plus that confirm_token and confirmed=true.

Parameters:

ParameterTypeRequiredDescription
userIdstringYesThe user id (32-char hex).
addOrUpdatearray of DamModels.PermissionValueInputNoPermissions to grant or change for this user. Each entry is {name, value}, value one of None, Granted, Denied.
removearray of stringNoPermission names whose explicit value for this user should be removed.

Returns:

FieldTypeDescription
userIdstring
currentobject (optional)
proposedPermissionsEditBody
proposed.permissionsPermissionDiff
proposed.permissions.addOrUpdatearray of PermissionValueInput
proposed.permissions.removearray of PermissionRemoveEntry (optional)
confirmTokenstring