Skip to main content

Upload

Tools for getting content into the DAM — uploading a file, creating a record from one, and adding a new file version to an existing record.

This page covers 3 tools, all of them available on request rather than 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
add_file_version_to_recordOn requestUploads a file and adds it as a new file version on an existing Aprimo asset (record), in one call.
create_record_with_fileOn requestUploads a file and creates a brand new Aprimo asset (record) referencing it, in one call.
upload_fileOn requestUploads file bytes to Aprimo's upload storage and returns an upload token.

add_file_version_to_record

Available on request

Uploads a file and adds it as a new file version on an existing Aprimo asset (record), in one call. This modifies data -- it adds a new file version to an existing asset. Always confirm with the user before calling this tool. Provide exactly one of fileBase64 (small files, inline) or fileUrl (fetched server-side); filename is required.

Parameters:

ParameterTypeRequiredDescription
recordIdstringYesThe record id (32-char hex) of the existing asset to add a new file version to.
fileBase64stringNoBase64-encoded file bytes. Mutually exclusive with fileUrl. Requires filename.
fileUrlstringNoAn http(s) URL to fetch the file bytes from. Mutually exclusive with fileBase64.
filenamestringNoThe file name for the uploaded file. Required when using fileBase64; optional for fileUrl (derived from the URL path if omitted).
confirmedbooleanNoMust be true to proceed. Confirm with the user before adding this new file version, then call again with confirmed=true.

Returns:

FieldTypeDescription
recordIdstring
versionAddedboolean
recordRecordPayload (optional)
record.idstring
record.titlestring
record.statusstring
record.contentTypestring
record.createdOnstring
record.modifiedOnstring
record.deepLinkstring
record.fieldsmap of string
notestring (optional)

create_record_with_file

Available on request

Uploads a file and creates a brand new Aprimo asset (record) referencing it, in one call. This modifies data -- it creates a new asset. Always confirm with the user before calling this tool. Provide exactly one of fileBase64 (small files, inline) or fileUrl (fetched server-side); filename is required. Provide fields as a JSON object of fieldName to new value, e.g. {"Title": "New asset"}, matching update_record_metadata_field's field-input shape. Many tenants require at least one classification before a record can be saved -- pass classificationIds (use browse_classifications or get_classification_by_name_path to resolve names/paths to ids first) or the save will fail with "Record cannot be saved because it is not classified."

Parameters:

ParameterTypeRequiredDescription
fieldsobject (map of string)YesJSON object mapping field names to their initial string values for the new record.
fileBase64stringNoBase64-encoded file bytes. Mutually exclusive with fileUrl. Requires filename.
fileUrlstringNoAn http(s) URL to fetch the file bytes from. Mutually exclusive with fileBase64.
filenamestringNoThe file name for the uploaded file. Required when using fileBase64; optional for fileUrl (derived from the URL path if omitted).
confirmedbooleanNoMust be true to proceed. Confirm with the user before creating this new asset, then call again with confirmed=true.
classificationIdsarray of stringNoClassification ids (GUIDs) to assign to the new record. Resolve names/paths to ids first via browse_classifications or get_classification_by_name_path. Omit for none, but note many tenants require at least one classification for the record to save successfully.

Returns:

FieldTypeDescription
recordIdstring

upload_file

Available on request

Uploads file bytes to Aprimo's upload storage and returns an upload token. This does not create an asset or a new file version by itself -- pass the returned token as the file id to create_record_with_file or add_file_version_to_record to actually attach it. Provide exactly one of fileBase64 (small files, inline) or fileUrl (fetched server-side); filename is required with fileBase64 and optional with fileUrl (derived from the URL path when omitted).

Parameters:

ParameterTypeRequiredDescription
fileBase64stringNoBase64-encoded file bytes. Mutually exclusive with fileUrl. Requires filename.
fileUrlstringNoAn http(s) URL to fetch the file bytes from. Mutually exclusive with fileBase64.
filenamestringNoThe file name. Required when using fileBase64; optional for fileUrl (derived from the URL path if omitted).

Returns:

FieldTypeDescription
tokenstring
filenamestring