Skip to main content

Records

Tools for reading and maintaining DAM records — metadata and field values, classifications, permissions, audit history, duplicates, and bulk edits.

This page covers 27 tools, 23 of them in the default tool list.

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_record_bulk_editOn requestApplies a bulk edit across multiple Aprimo records that was already previewed via preview_record_bulk_edit.
cancel_record_bulk_editOn requestCancels one or more open Aprimo bulk-edit sessions, releasing the record locks those sessions hold, without persisting any changes made during them.
check_download_order_statusDefaultChecks the status of a download order created by get_record_download_url — including one that handed off after a poll timeout — and returns the download URL once ready.
get_record_audit_trail_entryDefaultGets the full detail for one audit trail entry of an Aprimo record — who made the change, when, and the individual field/file changes it contains — by the record's id and the entry's id (from list_record_audit_trail).
get_record_bulk_edit_field_list_valuesDefaultLists the selectable values for a list-type custom field across one or more open Aprimo bulk-edit sessions (option-list entries, classifications, users, or user groups, depending on the field's dataType) -- the bulk-edit companion to get_record_field_list_values.
get_record_by_field_or_fileOn requestLooks up a single Aprimo record either by a file id (the id of one of its files) or by an arbitrary field name/value pair (e.g. a unique external identifier field).
get_record_classificationDefaultGets one classification assigned to an Aprimo record (sort order among the record's other classifications, and whether it was assigned manually or automatically via classification mappings), by the record's id and the classification's id (from list_record_classifications or browse_classifications).
get_record_download_urlDefaultPlaces a download order for the original file of an Aprimo record and returns the download URL.
get_record_duplicate_infoDefaultGets duplicate-detection info for an Aprimo record's master file: duplicate status, detection mode, and the list of duplicate file versions the caller has read access to.
get_record_fieldDefaultGets one custom field value on an Aprimo record, by the record's id and the field's id (from list_record_fields or get_custom_field_definition).
get_record_field_list_valuesDefaultLists the selectable values for a list-type custom field on an Aprimo record (option-list entries, classifications, users, or user groups, depending on the field's dataType) — not the field's current value(s); use get_record_field for that.
get_record_master_fileDefaultGets the master file of an Aprimo record (checkout status, checkout date, watermark, creation date) — the file id itself, distinct from get_record_master_file_version's file version id.
get_record_metadataDefaultRetrieves the full metadata for a single Aprimo record by its ID.
get_record_permissionsDefaultGets the calling user's own effective permissions on an Aprimo record: read, read-all-versions, modify, delete, download, and full control.
get_record_preview_urlDefaultReturns the preview image URL for an Aprimo record.
get_record_thumbnail_urlDefaultReturns the thumbnail image URL for an Aprimo record.
list_record_associated_collectionsDefaultLists the Aprimo collections a record belongs to (static collections it was manually added to, or dynamic collections whose search criteria it currently matches).
list_record_audit_trailDefaultLists the audit trail (change history) for an Aprimo record: who changed what and when, one summary entry per change event.
list_record_classificationsDefaultLists every classification assigned to an Aprimo record, in sort order, with whether each was assigned manually or automatically via classification mappings.
list_record_fieldsDefaultLists the custom field values on an Aprimo record, by the record's id.
list_record_filesDefaultLists every file attached to an Aprimo record (typically just the master file, but a record can have more): checkout status, checkout date, watermark, and creation date per file.
list_recordsDefaultLists Aprimo records as a plain paged listing (not relevance-ranked — use search_aprimo for keyword/relevance search).
preview_record_bulk_editOn requestPreviews a bulk edit (status, content type, and/or field changes) across multiple Aprimo records in one call.
sanitize_record_field_htmlDefaultSanitizes HTML content for an Aprimo record field, stripping disallowed tags/attributes/styles per the field's configured allow-list.
update_record_metadata_fieldDefaultUpdates a single metadata field on an Aprimo record.
update_record_metadata_fieldsDefaultUpdates multiple metadata fields on an Aprimo record in a single call.
validate_record_field_htmlDefaultValidates HTML content for an Aprimo record field against the field's allow-list, without modifying anything.

apply_record_bulk_edit

Available on request

Applies a bulk edit across multiple Aprimo records that was already previewed via preview_record_bulk_edit. Must be called with the exact same arguments used in that preview call (including the exact same record_ids), plus its confirm_token -- any difference invalidates the token and this is refused. This modifies data. Edits over 1000 records are refused unless acknowledge_large=true is also set. Internally starts a DAM edit session for every targeted record, then commits it -- if this fails partway, call cancel_record_bulk_edit with the returned session token to release any locks left behind. Do not call without having shown the user the preview's diff (especially any high-risk disable_validations warning) and gotten explicit confirmation, then call again with confirmed=true.

Parameters:

ParameterTypeRequiredDescription
recordIdsarray of stringYesMust match the record ids passed to preview_record_bulk_edit.
statusstringYesMust match the value passed to preview_record_bulk_edit.
contentTypestringYesMust match the value passed to preview_record_bulk_edit.
fieldsAddOrUpdateobject (map of string)YesMust match the value passed to preview_record_bulk_edit.
fieldsRemovearray of stringYesMust match the value passed to preview_record_bulk_edit.
disableValidationsbooleanYesMust match the value passed to preview_record_bulk_edit.
immediateSearchIndexUpdatebooleanYesOptional: when true, updates the search index immediately instead of waiting for the next scheduled update.
acknowledgeLargebooleanYesMust be true when record_ids.Length exceeds 1000 -- an explicit acknowledgement that this many records will be edited at once.
confirmTokenstringYesThe confirm_token returned by preview_record_bulk_edit for this exact change.
confirmedbooleanYesMust be true to apply. Call preview_record_bulk_edit first, review the diff (especially any high-risk disable_validations warning) with the user, then call again with confirmed=true.
serverMcpServerYes

Returns:

FieldTypeDescription
appliedboolean
affectedCountinteger
idSamplearray of string

cancel_record_bulk_edit

Available on request

Cancels one or more open Aprimo bulk-edit sessions, releasing the record locks those sessions hold, without persisting any changes made during them. Use this to clean up after a preview you decided not to continue, or after apply_record_bulk_edit's commit step failed and left a session open. Confirm-gated: call again with confirmed=true after telling the user which session(s) will be discarded.

Parameters:

ParameterTypeRequiredDescription
tokensarray of stringYesThe edit-session tokens to discard (the token returned when a bulk-edit session was started).
confirmedbooleanNoMust be true to proceed. Confirm with the user which session(s) to discard, then call again with confirmed=true.

Returns:

FieldTypeDescription
cancelledboolean
tokenCountinteger

check_download_order_status

In the default tool list

Checks the status of a download order created by get_record_download_url — including one that handed off after a poll timeout — and returns the download URL once ready. If the order is still processing, this is a normal outcome, not an error: tell the user it's still processing and offer to check again shortly, then call this tool again later with the same order id. If the order failed, this call returns a tool error explaining why. Do not resubmit get_record_download_url while waiting — that creates a new, separate order.

Parameters:

ParameterTypeRequiredDescription
orderIdstringYesThe order id returned by get_record_download_url (including from its poll-timeout hand-off).

Returns:

FieldTypeDescription
downloadUrlstring (optional)
orderIdstring (optional)
totalFileSizeinteger (optional)
statusstring (optional)/// Order status hand-off field (Phase 10a, #44b): "completed" once is populated, "processing" when the order hasn't reached a terminal state yet (returned on get_record_download_url's poll-timeout hand-off, and by check_download_order_status while still running) — a normal, actionable, non-error outcome. Null on the original immediate-completion shape so existing callers that only read / are unaffected.

get_record_audit_trail_entry

In the default tool list

Gets the full detail for one audit trail entry of an Aprimo record — who made the change, when, and the individual field/file changes it contains — by the record's id and the entry's id (from list_record_audit_trail).

Parameters:

ParameterTypeRequiredDescription
objectIdstringYesThe record id (32-char hex / GUID) — the audit trail's object id.
entryIdintegerYesThe audit entry's id (an integer, from list_record_audit_trail), e.g. 4.

Returns:

FieldTypeDescription
idinteger
objectIdstring
userIdstring (optional)
externalUserNamestring (optional)
createdOnstring (optional)
changeCountinteger
changesarray of string

get_record_bulk_edit_field_list_values

In the default tool list

Lists the selectable values for a list-type custom field across one or more open Aprimo bulk-edit sessions (option-list entries, classifications, users, or user groups, depending on the field's dataType) -- the bulk-edit companion to get_record_field_list_values. Pass the edit-session token(s) returned when the bulk-edit session(s) were started (see apply_record_bulk_edit). Read-only -- reads the sessions, does not modify them.

Parameters:

ParameterTypeRequiredDescription
fieldIdstringYesThe field definition id (GUID) whose selectable values to list.
tokensarray of stringYesThe bulk-edit session token(s) (from apply_record_bulk_edit) to read list values across.
filterstringNoOptional filter expression (DAM query syntax). Omit to list every selectable value.
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
fieldIdstring
countinteger
itemsarray of RecordFieldListValuePayload
items[].idstring
items[].namestring (optional)
items[].labelstring (optional)
items[].kindstringBest-effort variant classification: "Option", "Classification", "User", "UserGroup", or "Unknown".

get_record_by_field_or_file

Available on request

Looks up a single Aprimo record either by a file id (the id of one of its files) or by an arbitrary field name/value pair (e.g. a unique external identifier field). This is a lookup, not a keyword search — use search_aprimo for relevance-ranked keyword/filter search instead. Provide either fileId, or both fieldName and fieldValue (not all three).

Parameters:

ParameterTypeRequiredDescription
fileIdstringNoA file id (32-char hex / GUID) belonging to the record's files. Provide this or fieldName+fieldValue, not both.
fieldNamestringNoThe internal field name to match on (e.g. an external-id field name). Requires fieldValue. Provide this pair or fileId, not both.
fieldValuestringNoThe value to match fieldName against. Requires fieldName.

Returns:

FieldTypeDescription
idstring
titlestring
statusstring
contentTypestring
createdOnstring
modifiedOnstring
deepLinkstring
fieldsmap of string

get_record_classification

In the default tool list

Gets one classification assigned to an Aprimo record (sort order among the record's other classifications, and whether it was assigned manually or automatically via classification mappings), by the record's id and the classification's id (from list_record_classifications or browse_classifications).

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex / GUID).
classificationIdstringYesThe classification id (32-char hex / GUID).

Returns:

FieldTypeDescription
recordIdstring
classificationIdstring
namestring (optional)
sortIndexinteger (optional)
isManualboolean (optional)

get_record_download_url

In the default tool list

Places a download order for the original file of an Aprimo record and returns the download URL. Downloads the latest version of the master file without transformations. The download URL contains a time-limited SAS token. Each call creates a new download order — results are not cached. Use get_record_metadata first to verify the record exists and has a master file.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record ID (GUID format). Obtain from search_aprimo or get_record_metadata results.

Returns:

FieldTypeDescription
downloadUrlstring (optional)
orderIdstring (optional)
totalFileSizeinteger (optional)
statusstring (optional)/// Order status hand-off field (Phase 10a, #44b): "completed" once is populated, "processing" when the order hasn't reached a terminal state yet (returned on get_record_download_url's poll-timeout hand-off, and by check_download_order_status while still running) — a normal, actionable, non-error outcome. Null on the original immediate-completion shape so existing callers that only read / are unaffected.

get_record_duplicate_info

In the default tool list

Gets duplicate-detection info for an Aprimo record's master file: duplicate status, detection mode, and the list of duplicate file versions the caller has read access to. Pass newFileName to check as if the master file were being renamed to that name (useful before an upload that would add a new version).

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex / GUID).
newFileNamestringNoOptional — check duplicates as if the master file were renamed to this file name instead of its current name.

Returns:

FieldTypeDescription
recordIdstring
duplicateInfoFileVersionDuplicateInfoPayload
duplicateInfo.detectionModestring
duplicateInfo.statusstring
duplicateInfo.totalCountinteger
duplicateInfo.duplicatesarray of DuplicatePayload
duplicateInfo.duplicates[].recordIdstring
duplicateInfo.duplicates[].fileVersionIdstring
duplicateInfo.duplicates[].reasonstring

get_record_field

In the default tool list

Gets one custom field value on an Aprimo record, by the record's id and the field's id (from list_record_fields or get_custom_field_definition). Not the field's list of allowed values (use get_record_field_list_values for that). get_record_metadata is usually more convenient for reading several fields at once. Display the result as "label: value" — never show the id/fieldName/dataType to the user.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex / GUID).
fieldIdstringYesThe field definition id (GUID) whose value to read.

Returns:

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

get_record_field_list_values

In the default tool list

Lists the selectable values for a list-type custom field on an Aprimo record (option-list entries, classifications, users, or user groups, depending on the field's dataType) — not the field's current value(s); use get_record_field for that. Use filter/sort to narrow a long option set.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex / GUID).
fieldIdstringYesThe field definition id (GUID) whose selectable values to list.
filterstringNoOptional filter expression (DAM query syntax). Omit to list every selectable value.
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
recordIdstring
fieldIdstring
countinteger
itemsarray of RecordFieldListValuePayload
items[].idstring
items[].namestring (optional)
items[].labelstring (optional)
items[].kindstringBest-effort variant classification: "Option", "Classification", "User", "UserGroup", or "Unknown".

get_record_master_file

In the default tool list

Gets the master file of an Aprimo record (checkout status, checkout date, watermark, creation date) — the file id itself, distinct from get_record_master_file_version's file version id. Use get_file (by this file id) for the same shape scoped generically to any file.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex / GUID).

Returns:

FieldTypeDescription
idstring
checkedOutboolean
checkedOutOnstring
watermarkIdstring
watermarkTypestring
createdOnstring

get_record_metadata

In the default tool list

Retrieves the full metadata for a single Aprimo record by its ID. Returns system properties (title, status, content type, dates), master file info (filename, extension, size, version), and all custom field values. Use this tool when you need detailed information about a specific asset. The record ID is a GUID — you can get it from search_aprimo results. If the user asks for specific custom fields (e.g. "show me the keywords", "what's the status"), pass their terms via includeFields — matching is case-insensitive and partial, so "keyword" matches a field labeled "Keywords". Display format: Show the title in bold, then list all properties and custom fields as bullet points. For custom fields, display only "label: value" — never show id, fieldName, or dataType to the user.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record ID (GUID format, e.g. "a1b2c3d4-e5f6-7890-abcd-ef1234567890"). Obtain from search_aprimo results.
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.

Returns:

FieldTypeDescription
idstring
titlestring (optional)
statusstring (optional)
contentTypestring (optional)
createdOnstring (optional)
modifiedOnstring (optional)
deepLinkstring (optional)
masterFileRecordFileInfo (optional)
masterFile.fileNamestring (optional)
masterFile.extensionstring (optional)
masterFile.fileSizeinteger (optional)
masterFile.versionNumberinteger (optional)
fieldsarray of RecordFieldValue
fields[].idstring
fields[].fieldNamestring (optional)
fields[].labelstring (optional)
fields[].dataTypestring (optional)
fields[].localizedValuesarray of RecordLocalizedValue
fields[].localizedValues[].languageIdstring (optional)
fields[].localizedValues[].valuestring (optional)
fields[].localizedValues[].valuesarray of string (optional)

get_record_permissions

In the default tool list

Gets the calling user's own effective permissions on an Aprimo record: read, read-all-versions, modify, delete, download, and full control. Use when the user asks what they're allowed to do with a specific asset.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex / GUID).

Returns:

FieldTypeDescription
recordIdstring
canReadboolean (optional)
canReadAllVersionsboolean (optional)
canModifyboolean (optional)
canDeleteboolean (optional)
hasFullControlboolean (optional)
canDownloadboolean (optional)

get_record_preview_url

In the default tool list

Returns the preview image URL for an Aprimo record. Previews are larger images (typically 800x600) suitable for detail views. The URL contains a time-limited SAS token (typically 24 hours). Returns a user-friendly message if no preview exists. Important: Display the URL as plain text, never as an HTML img tag.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record ID (GUID format). Obtain from search_aprimo results.

Returns:

FieldTypeDescription
idstring
titlestring (optional)
uristring (optional)
widthinteger (optional)
heightinteger (optional)
extensionstring (optional)

get_record_thumbnail_url

In the default tool list

Returns the thumbnail image URL for an Aprimo record. Thumbnails are small images (typically 150x150) suitable for list/grid displays. The URL contains a time-limited SAS token (typically 24 hours). Returns a user-friendly message if no thumbnail exists. Important: Display the URL as plain text, never as an HTML img tag.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record ID (GUID format). Obtain from search_aprimo results.

Returns:

FieldTypeDescription
idstring
titlestring (optional)
uristring (optional)
widthinteger (optional)
heightinteger (optional)
extensionstring (optional)

list_record_associated_collections

In the default tool list

Lists the Aprimo collections a record belongs to (static collections it was manually added to, or dynamic collections whose search criteria it currently matches). Use get_collection_records for the reverse direction (a collection's records).

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex / GUID).
skipintegerNoNumber of items to skip, for paging. Defaults to 0.
takeintegerNoMaximum number of items to return. Defaults to 10.

Returns:

FieldTypeDescription
recordIdstring
countinteger
itemsarray of CollectionPayload
items[].idstring
items[].namestring
items[].descriptionstring
items[].typestring
items[].createdOnstring
items[].modifiedOnstring

list_record_audit_trail

In the default tool list

Lists the audit trail (change history) for an Aprimo record: who changed what and when, one summary entry per change event. Pass filter="Change" or filter="Download" to narrow to just modifications or just download events. Use get_record_audit_trail_entry (by an entry's id from this list) for the individual field changes within one entry.

Parameters:

ParameterTypeRequiredDescription
objectIdstringYesThe record id (32-char hex / GUID) — the audit trail's object id.
filterstringNoOptional — restrict to "Change" or "Download" events. Omit for every event type.
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
objectIdstring
entryCountinteger
countinteger
itemsarray of RecordAuditTrailEntrySummaryPayload
items[].idinteger
items[].typestring (optional)
items[].userIdstring (optional)
items[].createdOnstring (optional)
items[].changeCountinteger (optional)

list_record_classifications

In the default tool list

Lists every classification assigned to an Aprimo record, in sort order, with whether each was assigned manually or automatically via classification mappings.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex / GUID).
sortstringNoOptional sort expression, e.g. "sortIndex 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
recordIdstring
countinteger
itemsarray of RecordClassificationPayload
items[].recordIdstring
items[].classificationIdstring
items[].namestring (optional)
items[].sortIndexinteger (optional)
items[].isManualboolean (optional)

list_record_fields

In the default tool list

Lists the custom field values on an Aprimo record, by the record's id. Use includeFields to filter to specific fields (matches by id exactly, or by fieldName/label substring). get_record_metadata also returns fields alongside the record's system properties — use that when you need both. Display each as "label: value" — never show id/fieldName/dataType to the user.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex / GUID).
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
recordIdstring
countinteger
itemsarray of RecordFieldPayload
items[].recordIdstring
items[].idstring
items[].fieldNamestring (optional)
items[].labelstring (optional)
items[].dataTypestring (optional)
items[].valuestring (optional)

list_record_files

In the default tool list

Lists every file attached to an Aprimo record (typically just the master file, but a record can have more): checkout status, checkout date, watermark, and creation date per file. Use get_record_master_file for just the master file, or get_file_versions (by file id) for a file's version history.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex / GUID).

Returns:

FieldTypeDescription
recordIdstring
countinteger
itemsarray of FilePayload
items[].idstring
items[].checkedOutboolean
items[].checkedOutOnstring
items[].watermarkIdstring
items[].watermarkTypestring
items[].createdOnstring

list_records

In the default tool list

Lists Aprimo records as a plain paged listing (not relevance-ranked — use search_aprimo for keyword/relevance search). Use filter/sort with DAM query syntax to narrow the list, e.g. filter="Status = 'Released'", sort="ModifiedOn desc".

Parameters:

ParameterTypeRequiredDescription
filterstringNoOptional filter expression (DAM query syntax), e.g. "Status = 'Released'". Omit to list every record.
sortstringNoOptional sort expression, e.g. "ModifiedOn desc". 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 RecordPayload
items[].idstring
items[].titlestring
items[].statusstring
items[].contentTypestring
items[].createdOnstring
items[].modifiedOnstring
items[].deepLinkstring
items[].fieldsmap of string

preview_record_bulk_edit

Available on request

Previews a bulk edit (status, content type, and/or field changes) across multiple Aprimo records in one call. Read-only dry run -- changes nothing and does not lock any record (it never opens a DAM edit session). Returns the affected record count, a sample of the record ids, the resolved field add/remove diff, and a confirm_token. To actually apply the change, call apply_record_bulk_edit next with the exact same arguments plus that confirm_token and confirmed=true. disable_validations=true is flagged high-risk -- confirm it explicitly with the user before applying. Edits over 1000 records are flagged over_hard_threshold and require acknowledge_large=true on apply.

Parameters:

ParameterTypeRequiredDescription
recordIdsarray of stringYesThe record ids (32-char hex) to bulk-edit.
statusstringNoOptional: lifecycle status to set on every targeted record.
contentTypestringNoOptional: content type to set on every targeted record.
fieldsAddOrUpdateobject (map of string)NoField values to add or update on every targeted record. JSON object mapping field name to its new string value.
fieldsRemovearray of stringNoField names whose value should be cleared on every targeted record.
disableValidationsbooleanNoHigh-risk: when true, skips DAM's field and business rule validations for this edit.

Returns:

FieldTypeDescription
affectedCountinteger
idSamplearray of string
proposedRecordStartBulkEditSessionCommand
proposed.idsarray of string
proposed.statusstring (optional)
proposed.contentTypestring (optional)
proposed.fieldsFieldCollectionModel
proposed.fields.addOrUpdatearray of FieldModel
proposed.fields.removearray of FieldModel
proposed.disableValidationsboolean
disableValidationsWarningstring (optional)Non-null only when disableValidations=true — see BulkEditTools.BuildDisableValidationsWarning.
overHardThresholdbooleanTrue when the record count exceeds BulkEditTools.HardThreshold — apply then requires acknowledge_large=true.
confirmTokenstring

sanitize_record_field_html

In the default tool list

Sanitizes HTML content for an Aprimo record field, stripping disallowed tags/attributes/styles per the field's configured allow-list. Stateless utility — does not write the result back to the record; pass the returned cleanValue to update_record_metadata_field yourself if you want to save it. Safe to call without user confirmation — it never modifies data.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex / GUID).
fieldIdstringYesThe field definition id (GUID) whose HTML allow-list to sanitize against.
valuestringYesThe HTML content to sanitize.

Returns:

FieldTypeDescription
recordIdstring
fieldIdstring
dirtyboolean
cleanValuestring (optional)
removedTagsarray of string
removedAttributesarray of string
removedStylesarray of string
removedAtRulesarray of string
removedCommentsarray of string
removedCssClassesarray of string
filteredUrlsarray of string

update_record_metadata_field

In the default tool list

Updates a single metadata field on an Aprimo record. Supports text, number, date, text-list, and option list fields. Use get_record_metadata first to discover field names and IDs. Use get_custom_field_definition to check field constraints and valid option values. Provide either fieldName or fieldId to identify the field (not both). Provide either value (for single-value fields), values (for multi-value fields like text-list or option list), or set clear=true to clear the field. The languageId is required — get it from get_record_metadata results (each field's localizedValues[].languageId).

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record ID (GUID format).
languageIdstringYesThe language ID (GUID format). Get from get_record_metadata results: each field's localizedValues[].languageId.
fieldNamestringNoThe field name to update. Provide either fieldName or fieldId, not both.
fieldIdstringNoThe field definition ID (GUID) to update. Provide either fieldName or fieldId, not both.
valuestringNoThe new value for single-value fields (text, number, date). For dates use ISO 8601 (e.g. "2026-12-31"). For numbers pass as string (e.g. "49.99").
valuesstringNoThe new values for multi-value fields (text-list, option list). For option lists, use option names from get_custom_field_definition.
clearbooleanNoSet to true to clear the field value.

Returns:

FieldTypeDescription
recordIdstring
fieldNamestring (optional)
successboolean
messagestring (optional)

update_record_metadata_fields

In the default tool list

Updates multiple metadata fields on an Aprimo record in a single call. Each field edit supports the same options as update_record_metadata_field: provide either fieldName or fieldId to identify the field (not both), then exactly one of value (single-value fields), values (multi-value fields like text-list or option list), or clear=true — plus the required languageId for that field. Use get_record_metadata first to discover field names and IDs. Use get_custom_field_definition to check field constraints and valid option values. All field edits are validated before any change is applied — if one edit is invalid, the whole call fails and nothing is updated (no partial application). Prefer this over calling update_record_metadata_field repeatedly when updating more than one field on the same record.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record ID (GUID format).
fieldsarray of FieldEditInputYesThe field edits to apply, one per field. Each entry supports fieldName/fieldId (provide one), value/values/clear (provide exactly one), and languageId (required) — the same per-field rules as update_record_metadata_field.

Returns:

FieldTypeDescription
recordIdstring
updatedFieldsarray of string
successboolean
messagestring (optional)

validate_record_field_html

In the default tool list

Validates HTML content for an Aprimo record field against the field's allow-list, without modifying anything. Stateless utility, safe to call without user confirmation. Use sanitize_record_field_html if you want the content cleaned rather than just checked.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex / GUID).
fieldIdstringYesThe field definition id (GUID) whose HTML allow-list to validate against.
valuestringYesThe HTML content to validate.

Returns:

FieldTypeDescription
recordIdstring
fieldIdstring
validboolean
parseErrorstring (optional)