Documents & Digital Assets
Tools for Productivity Management attachments and digital assets — creating them, version checkout and check-in, associating them with projects, and their taggable users.
This page covers 22 tools, all of them available on request rather than in the default tool list, and 3 destructive.
- 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
confirmedandconfirmedDestructivetotrue. - Activity and Project labels vary by tenant. Where this page says Activity or Project, your tenant's own configured terminology is substituted at runtime.
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
| Tool | Status | What it does |
|---|---|---|
add_attachment_to_project | On request | Associates an attachment with a project in Aprimo Marketing Operations. |
add_digital_asset_to_project | On request | Associates a digital asset with a project in Aprimo Marketing Operations. |
cancel_attachment_checkout | On request | Cancels the checkout of an attachment, releasing the lock without checking in a new version, in Aprimo Marketing Operations. |
checkin_attachment_version | On request | Checks in a new version of an attachment, releasing its checkout, in Aprimo Marketing Operations. |
checkout_attachment | On request | Checks out an attachment (locks it for editing) in Aprimo Marketing Operations. |
create_attachment | On request | Creates a new attachment in Aprimo Marketing Operations. |
create_attachment_version | On request | Creates a new version of an attachment, in Aprimo Marketing Operations. |
delete_attachment | On request | Destructive. Permanently deletes an attachment by id in Aprimo Marketing Operations. |
delete_attachment_version | On request | Destructive. Permanently deletes a specific version of an attachment, in Aprimo Marketing Operations. |
get_attachment | On request | Returns a single attachment by id in Aprimo Marketing Operations. |
get_attachment_taggable_users | On request | Returns the users that can be tagged on an attachment, in Aprimo Marketing Operations. |
get_attachment_version | On request | Returns a single attachment version by id, in Aprimo Marketing Operations. |
get_attachment_versions | On request | Returns all versions of an attachment, in Aprimo Marketing Operations. |
get_digital_asset | On request | Returns a single digital asset by id in Aprimo Marketing Operations. |
get_project_attachments | On request | Returns the attachments associated with a project, in Aprimo Marketing Operations. |
get_task_attachments | On request | Returns the attachments assigned to a task, paged, in Aprimo Marketing Operations. |
remove_attachment_from_project | On request | Destructive. Permanently removes the association between an attachment and a project in Aprimo Marketing Operations (the attachment itself is not deleted). |
retrieve_digital_asset_dam_mapping | On request | Resolves a DAM record and/or file mapping to its corresponding digital asset in Aprimo Marketing Operations. |
search_attachments | On request | Searches attachments in Aprimo Marketing Operations that match a query, paged. |
send_attachment_version_new_version_notification | On request | Sends a new-version notification email about an attachment version to the users/groups named in the body, using the supplied subject and message, in Aprimo Marketing Operations. |
update_attachment | On request | Updates an existing attachment by id in Aprimo Marketing Operations. |
update_attachment_version | On request | Updates an existing attachment version, in Aprimo Marketing Operations. |
add_attachment_to_project
Available on request
Associates an attachment with a project in Aprimo Marketing Operations. Requires confirmed=true after confirming the exact project/attachment with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project's integer id. |
attachmentId | string | Yes | The attachment's integer id to associate with the project. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved. |
Returns:
| Field | Type | Description |
|---|---|---|
projectId | integer | |
attachmentId | integer | |
succeeded | boolean | |
raw | object (optional) | The raw response body, verbatim, for full fidelity. |
add_digital_asset_to_project
Available on request
Associates a digital asset with a project in Aprimo Marketing Operations. Requires confirmed=true after confirming the exact project/digital asset with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project's integer id. |
digitalAssetId | string | Yes | The digital asset's integer id to associate with the project. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved. |
Returns:
| Field | Type | Description |
|---|---|---|
projectId | integer | |
digitalAssetId | integer | |
succeeded | boolean | |
raw | object (optional) | The raw response body, verbatim (best-effort; PM declares no content schema), for full fidelity. |
cancel_attachment_checkout
Available on request
Cancels the checkout of an attachment, releasing the lock without checking in a new version, in Aprimo Marketing Operations. Undoes checkout_attachment (safe). Requires confirmed=true after confirming the exact attachment with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's integer id whose checkout to cancel. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved. |
Returns:
| Field | Type | Description |
|---|---|---|
attachmentId | integer | |
action | string (optional) | The action performed: "checkout" or "cancel-checkout". |
succeeded | boolean |
checkin_attachment_version
Available on request
Checks in a new version of an attachment, releasing its checkout, in Aprimo Marketing Operations. Adds a version (additive, not destructive). Requires confirmed=true after confirming the exact attachment/version with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's integer id to check in. |
versionId | string | Yes | The new attachment version's integer id. |
taskId | string | Yes | The task identifier associated with the attachment. |
taskDocId | string | Yes | The task document identifier associated with the attachment. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved. |
Returns:
| Field | Type | Description |
|---|---|---|
attachmentId | integer | |
versionId | integer | |
taskId | integer | |
taskDocId | integer | |
succeeded | boolean |
checkout_attachment
Available on request
Checks out an attachment (locks it for editing) in Aprimo Marketing Operations. Reversible via cancel_attachment_checkout. Requires confirmed=true after confirming the exact attachment with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's integer id to check out. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved. |
Returns:
| Field | Type | Description |
|---|---|---|
attachmentId | integer | |
action | string (optional) | The action performed: "checkout" or "cancel-checkout". |
succeeded | boolean |
create_attachment
Available on request
Creates a new attachment in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact payload. Returns the created attachment.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
body | string | Yes | JSON object with the new attachment's data (PM wire names). |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the payload. |
Returns:
| Field | Type | Description |
|---|---|---|
attachmentId | integer | |
title | string (optional) | |
description | string (optional) | |
objectId | integer (optional) | |
objectTypeId | integer (optional) | |
attachmentTypeId | integer (optional) | |
attachmentType | string (optional) | |
projectVisibility | boolean (optional) | |
modifiedUser | integer (optional) | PM wires this as modifiedUser, not modifiedById. |
modifiedByName | string (optional) | |
modifiedDate | string (optional) | |
creatorId | integer (optional) | |
creatorName | string (optional) | |
checkedOutDate | string (optional) | |
checkedOutBy | integer (optional) | PM wires this as checkedOutBy, not checkedOutById. |
checkedOutByName | string (optional) | |
documentId | integer (optional) | |
documentName | string (optional) | |
documentType | string (optional) | |
isDocumentDamAsset | boolean (optional) | |
damRecordId | string (optional) | |
isReferenceDocument | boolean |
create_attachment_version
Available on request
Creates a new version of an attachment, in Aprimo Marketing Operations. Requires confirmed=true after showing the user the exact payload. Returns the created attachment version.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's integer id. |
body | string | Yes | JSON object with the new attachment version's data (PM wire names). |
taskId | integer | No | Optional task identifier the version is associated with. Default 0 (no associated task). |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the payload. |
Returns:
| Field | Type | Description |
|---|---|---|
versionId | integer | |
isDefaultVersion | boolean | |
attachmentId | integer | |
filename | string (optional) | |
extension | string (optional) | |
thumbnailUri | string (optional) | |
downloadUri | string (optional) | |
modifiedUser | integer (optional) | PM wires this as modifiedUser, not modifiedById. |
modifiedByName | string (optional) | |
modifiedDate | string (optional) | |
createdDate | string (optional) | |
creatorId | integer (optional) | |
creatorName | string (optional) | |
fileId | string (optional) | |
title | string (optional) | |
description | string (optional) | |
versionComments | string (optional) |
delete_attachment
Available on request · Destructive
Permanently deletes an attachment by id in Aprimo Marketing Operations. This cannot be undone. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact attachment with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's id to delete. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error. |
confirmedDestructive | boolean | No | Must also be true (in addition to confirmed) — deleting an attachment is permanent and cannot be undone. Set only after stating the exact attachment to the user and getting explicit go-ahead. |
Returns:
| Field | Type | Description |
|---|---|---|
attachmentId | string (optional) | |
deleted | boolean |
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_attachment_version
Available on request · Destructive
Permanently deletes a specific version of an attachment, in Aprimo Marketing Operations. This cannot be undone. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact version with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's integer id. |
versionId | string | Yes | The attachment version's integer id to delete. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error. |
confirmedDestructive | boolean | No | Must also be true (in addition to confirmed) — deleting an attachment version is permanent and cannot be undone. Set only after stating the exact version to the user and getting explicit go-ahead. |
Returns:
| Field | Type | Description |
|---|---|---|
attachmentId | integer | |
versionId | integer | |
deleted | boolean |
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_attachment
Available on request
Returns a single attachment by id in Aprimo Marketing Operations. Not its taggable users (get_attachment_taggable_users), a specific version (get_attachment_version), or its version list (get_attachment_versions).
Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's id. |
Returns:
| Field | Type | Description |
|---|---|---|
attachmentId | integer | |
title | string (optional) | |
description | string (optional) | |
objectId | integer (optional) | |
objectTypeId | integer (optional) | |
attachmentTypeId | integer (optional) | |
attachmentType | string (optional) | |
projectVisibility | boolean (optional) | |
modifiedUser | integer (optional) | PM wires this as modifiedUser, not modifiedById. |
modifiedByName | string (optional) | |
modifiedDate | string (optional) | |
creatorId | integer (optional) | |
creatorName | string (optional) | |
checkedOutDate | string (optional) | |
checkedOutBy | integer (optional) | PM wires this as checkedOutBy, not checkedOutById. |
checkedOutByName | string (optional) | |
documentId | integer (optional) | |
documentName | string (optional) | |
documentType | string (optional) | |
isDocumentDamAsset | boolean (optional) | |
damRecordId | string (optional) | |
isReferenceDocument | boolean |
get_attachment_taggable_users
Available on request
Returns the users that can be tagged on an attachment, in Aprimo Marketing Operations.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's integer id. |
nameFilter | string | No | Optional case-insensitive substring filter on the user's first or last name. Omit to match all taggable users. |
applyMostRecentTags | boolean | No | If true, sorts by most recently tagged users. |
limit | integer | No | Maximum number of results to return (1–50, default 20). |
offset | integer | No | Number of results to skip for pagination (default 0). |
Returns:
| Field | Type | Description |
|---|---|---|
items | array of TaggableUserProjection | |
items[].id | integer (optional) | |
items[].firstName | string (optional) | |
items[].lastName | string (optional) | |
items[].lastTagDate | string (optional) | |
items[].tagCount | integer (optional) |
get_attachment_version
Available on request
Returns a single attachment version by id, in Aprimo Marketing Operations.
Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's id. |
versionId | string | Yes | The attachment version's id. |
contextType | integer | No | Optional annotation context type filter. |
contextObjectId | integer | No | Optional annotation context object id filter. |
includeFileSize | boolean | No | If true, includes the file size in the response. |
Returns:
| Field | Type | Description |
|---|---|---|
versionId | integer | |
isDefaultVersion | boolean | |
attachmentId | integer | |
filename | string (optional) | |
extension | string (optional) | |
thumbnailUri | string (optional) | |
downloadUri | string (optional) | |
modifiedUser | integer (optional) | PM wires this as modifiedUser, not modifiedById. |
modifiedByName | string (optional) | |
modifiedDate | string (optional) | |
createdDate | string (optional) | |
creatorId | integer (optional) | |
creatorName | string (optional) | |
fileId | string (optional) | |
title | string (optional) | |
description | string (optional) | |
versionComments | string (optional) |
get_attachment_versions
Available on request
Returns all versions of an attachment, in Aprimo Marketing Operations.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's integer id. |
Returns:
| Field | Type | Description |
|---|---|---|
totalRecords | integer | |
items | array of AttachmentVersionProjection | |
items[].versionId | integer | |
items[].isDefaultVersion | boolean | |
items[].attachmentId | integer | |
items[].filename | string (optional) | |
items[].extension | string (optional) | |
items[].thumbnailUri | string (optional) | |
items[].downloadUri | string (optional) | |
items[].modifiedUser | integer (optional) | PM wires this as modifiedUser, not modifiedById. |
items[].modifiedByName | string (optional) | |
items[].modifiedDate | string (optional) | |
items[].createdDate | string (optional) | |
items[].creatorId | integer (optional) | |
items[].creatorName | string (optional) | |
items[].fileId | string (optional) | |
items[].title | string (optional) | |
items[].description | string (optional) | |
items[].versionComments | string (optional) |
get_digital_asset
Available on request
Returns a single digital asset by id in Aprimo Marketing Operations.
Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
digitalAssetId | string | Yes | The digital asset's id. |
Returns:
| Field | Type | Description |
|---|---|---|
assetId | integer | |
title | string (optional) | |
description | string (optional) | |
type | integer (optional) | Raw digital-asset type id. |
assetType | string (optional) | Digital-asset type display name. |
assetStatus | integer (optional) | Raw asset status id. |
restrictionStatus | integer (optional) | Raw restriction status id. |
hasVersions | boolean | |
expirationDate | string (optional) | |
createdDate | string (optional) | |
modifiedDate | string (optional) | |
modifiedUser | integer (optional) | PM wires this as modifiedUser, not modifiedById. |
ownerId | integer (optional) | |
checkedOutDate | string (optional) | |
checkedOutBy | integer (optional) | PM wires this as checkedOutBy, not checkedOutById. |
isReferenceDocument | boolean | |
documentId | integer (optional) | |
documentName | string (optional) | |
documentType | string (optional) | |
isDocumentDamAsset | boolean (optional) | |
damRecordId | string (optional) | |
damFileId | string (optional) | |
contentType | string (optional) | |
canDownload | boolean |
get_project_attachments
Available on request
Returns the attachments associated with a project, in Aprimo Marketing Operations.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project's integer id. |
Returns:
| Field | Type | Description |
|---|---|---|
collectionName | string (optional) | Resource-name key the wire's _embedded used (e.g. "Activity", "Project"). Informational; may be null when the response isn't HAL-shaped. |
totalRecords | integer | Total record count across all pages — from the wire's _total. |
count | integer | Number of items returned in this response (i.e. Items.Count; precomputed for the llm). |
offset | integer | The offset that was used to produce this page (echoes the caller's offset, clamped to ≥0). |
hasMore | boolean | True when there are more results past this page. Tools should prompt the llm to ask the user about fetching the next page. |
nextOffset | integer (optional) | Offset to pass on the next request to continue. Null when is false. |
items | array of AttachmentProjection | The items returned in this response. |
items[].attachmentId | integer | |
items[].title | string (optional) | |
items[].description | string (optional) | |
items[].objectId | integer (optional) | |
items[].objectTypeId | integer (optional) | |
items[].attachmentTypeId | integer (optional) | |
items[].attachmentType | string (optional) | |
items[].projectVisibility | boolean (optional) | |
items[].modifiedUser | integer (optional) | PM wires this as modifiedUser, not modifiedById. |
items[].modifiedByName | string (optional) | |
items[].modifiedDate | string (optional) | |
items[].creatorId | integer (optional) | |
items[].creatorName | string (optional) | |
items[].checkedOutDate | string (optional) | |
items[].checkedOutBy | integer (optional) | PM wires this as checkedOutBy, not checkedOutById. |
items[].checkedOutByName | string (optional) | |
items[].documentId | integer (optional) | |
items[].documentName | string (optional) | |
items[].documentType | string (optional) | |
items[].isDocumentDamAsset | boolean (optional) | |
items[].damRecordId | string (optional) | |
items[].isReferenceDocument | boolean |
get_task_attachments
Available on request
Returns the attachments assigned to a task, paged, in Aprimo Marketing Operations. Set isReviewTask=true to fetch them via the review-task route instead of the plain task route.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
taskId | string | Yes | The task's (or review task's) integer id. |
isReviewTask | boolean | No | When true, use the review-task route (/review-tasks/{taskId}/attachments) instead of the plain task route. Default false. |
limit | integer | No | Maximum number of results to return (1–50, default 20). |
offset | integer | No | Number of results to skip for pagination (default 0). |
sortField | string | No | Optional field name to sort by. Omit for default ordering. |
sortAscending | boolean | No | Sort direction. true = ascending (default), false = descending. |
Returns:
| Field | Type | Description |
|---|---|---|
collectionName | string (optional) | Resource-name key the wire's _embedded used (e.g. "Activity", "Project"). Informational; may be null when the response isn't HAL-shaped. |
totalRecords | integer | Total record count across all pages — from the wire's _total. |
count | integer | Number of items returned in this response (i.e. Items.Count; precomputed for the llm). |
offset | integer | The offset that was used to produce this page (echoes the caller's offset, clamped to ≥0). |
hasMore | boolean | True when there are more results past this page. Tools should prompt the llm to ask the user about fetching the next page. |
nextOffset | integer (optional) | Offset to pass on the next request to continue. Null when is false. |
items | array of AttachmentProjection | The items returned in this response. |
items[].attachmentId | integer | |
items[].title | string (optional) | |
items[].description | string (optional) | |
items[].objectId | integer (optional) | |
items[].objectTypeId | integer (optional) | |
items[].attachmentTypeId | integer (optional) | |
items[].attachmentType | string (optional) | |
items[].projectVisibility | boolean (optional) | |
items[].modifiedUser | integer (optional) | PM wires this as modifiedUser, not modifiedById. |
items[].modifiedByName | string (optional) | |
items[].modifiedDate | string (optional) | |
items[].creatorId | integer (optional) | |
items[].creatorName | string (optional) | |
items[].checkedOutDate | string (optional) | |
items[].checkedOutBy | integer (optional) | PM wires this as checkedOutBy, not checkedOutById. |
items[].checkedOutByName | string (optional) | |
items[].documentId | integer (optional) | |
items[].documentName | string (optional) | |
items[].documentType | string (optional) | |
items[].isDocumentDamAsset | boolean (optional) | |
items[].damRecordId | string (optional) | |
items[].isReferenceDocument | boolean |
remove_attachment_from_project
Available on request · Destructive
Permanently removes the association between an attachment and a project in Aprimo Marketing Operations (the attachment itself is not deleted). This cannot be undone. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact project/attachment with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
projectId | string | Yes | The project's integer id. |
attachmentId | string | Yes | The attachment's integer id to remove from the project. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error. |
confirmedDestructive | boolean | No | Must also be true (in addition to confirmed) — removing an attachment's project association is permanent and cannot be undone. Set only after stating the exact project/attachment to the user and getting explicit go-ahead. |
Returns:
| Field | Type | Description |
|---|---|---|
projectId | integer | |
attachmentId | integer | |
removed | boolean |
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.
retrieve_digital_asset_dam_mapping
Available on request
Resolves a DAM record and/or file mapping to its corresponding digital asset in Aprimo Marketing Operations. Read-only despite the POST verb -- a query/lookup operation, no resource is created or changed.
Response format: the response carries a pre-rendered markdown block intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
body | string | Yes | JSON object with the DAM record and/or file identifiers to resolve (e.g. damFileId, damRecordId, assetTypeId, isLocalUpload — PM wire names). |
Returns:
| Field | Type | Description |
|---|---|---|
assetId | integer | |
title | string (optional) | |
description | string (optional) | |
type | integer (optional) | Raw digital-asset type id. |
assetType | string (optional) | Digital-asset type display name. |
assetStatus | integer (optional) | Raw asset status id. |
restrictionStatus | integer (optional) | Raw restriction status id. |
hasVersions | boolean | |
expirationDate | string (optional) | |
createdDate | string (optional) | |
modifiedDate | string (optional) | |
modifiedUser | integer (optional) | PM wires this as modifiedUser, not modifiedById. |
ownerId | integer (optional) | |
checkedOutDate | string (optional) | |
checkedOutBy | integer (optional) | PM wires this as checkedOutBy, not checkedOutById. |
isReferenceDocument | boolean | |
documentId | integer (optional) | |
documentName | string (optional) | |
documentType | string (optional) | |
isDocumentDamAsset | boolean (optional) | |
damRecordId | string (optional) | |
damFileId | string (optional) | |
contentType | string (optional) | |
canDownload | boolean |
search_attachments
Available on request
Searches attachments in Aprimo Marketing Operations that match a query, paged. A query is required -- PM has no match-all query for this endpoint; use get_task_attachments or get_project_attachments to browse a specific task's or project's attachments without a query.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
query | string | No | JSON object with the query (PM's operator-tree DSL, e.g. {"equals":{"FieldName":"ObjectId","FieldValue":123}}). Required -- PM rejects an empty "{}" query, so this cannot be omitted; use get_task_attachments/get_project_attachments to browse without a query. |
limit | integer | No | Maximum number of results to return (1–50, default 20). |
offset | integer | No | Number of results to skip for pagination (default 0). |
sortField | string | No | Optional field name to sort by. Omit for default ordering. |
sortAscending | boolean | No | Sort direction. true = ascending (default), false = descending. |
Returns:
| Field | Type | Description |
|---|---|---|
collectionName | string (optional) | Resource-name key the wire's _embedded used (e.g. "Activity", "Project"). Informational; may be null when the response isn't HAL-shaped. |
totalRecords | integer | Total record count across all pages — from the wire's _total. |
count | integer | Number of items returned in this response (i.e. Items.Count; precomputed for the llm). |
offset | integer | The offset that was used to produce this page (echoes the caller's offset, clamped to ≥0). |
hasMore | boolean | True when there are more results past this page. Tools should prompt the llm to ask the user about fetching the next page. |
nextOffset | integer (optional) | Offset to pass on the next request to continue. Null when is false. |
items | array of AttachmentProjection | The items returned in this response. |
items[].attachmentId | integer | |
items[].title | string (optional) | |
items[].description | string (optional) | |
items[].objectId | integer (optional) | |
items[].objectTypeId | integer (optional) | |
items[].attachmentTypeId | integer (optional) | |
items[].attachmentType | string (optional) | |
items[].projectVisibility | boolean (optional) | |
items[].modifiedUser | integer (optional) | PM wires this as modifiedUser, not modifiedById. |
items[].modifiedByName | string (optional) | |
items[].modifiedDate | string (optional) | |
items[].creatorId | integer (optional) | |
items[].creatorName | string (optional) | |
items[].checkedOutDate | string (optional) | |
items[].checkedOutBy | integer (optional) | PM wires this as checkedOutBy, not checkedOutById. |
items[].checkedOutByName | string (optional) | |
items[].documentId | integer (optional) | |
items[].documentName | string (optional) | |
items[].documentType | string (optional) | |
items[].isDocumentDamAsset | boolean (optional) | |
items[].damRecordId | string (optional) | |
items[].isReferenceDocument | boolean |
send_attachment_version_new_version_notification
Available on request
Sends a new-version notification email about an attachment version to the users/groups named in the body, using the supplied subject and message, in Aprimo Marketing Operations. PM's snapshot declares the request body as opaque -- pass the exact wire-shape JSON object PM expects (recipients/subject/message). Requires confirmed=true after showing the user the exact payload.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's integer id. |
versionId | string | Yes | The attachment version's integer id. |
body | string | Yes | JSON object with the notification data (PM wire names, e.g. recipients/subject/message). PM's schema declares this opaque. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the payload. |
Returns:
| Field | Type | Description |
|---|---|---|
attachmentId | integer | |
versionId | integer | |
succeeded | boolean | |
raw | object (optional) |
update_attachment
Available on request
Updates an existing attachment by id in Aprimo Marketing Operations. Only include the fields you intend to change (partial update; omitted fields are left as-is). Requires confirmed=true after showing the user the exact changes. Returns the updated attachment.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's id. |
body | string | Yes | JSON object with the fields to change (PM wire names). Omit fields you don't want to modify. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the change. |
Returns:
| Field | Type | Description |
|---|---|---|
attachmentId | integer | |
title | string (optional) | |
description | string (optional) | |
objectId | integer (optional) | |
objectTypeId | integer (optional) | |
attachmentTypeId | integer (optional) | |
attachmentType | string (optional) | |
projectVisibility | boolean (optional) | |
modifiedUser | integer (optional) | PM wires this as modifiedUser, not modifiedById. |
modifiedByName | string (optional) | |
modifiedDate | string (optional) | |
creatorId | integer (optional) | |
creatorName | string (optional) | |
checkedOutDate | string (optional) | |
checkedOutBy | integer (optional) | PM wires this as checkedOutBy, not checkedOutById. |
checkedOutByName | string (optional) | |
documentId | integer (optional) | |
documentName | string (optional) | |
documentType | string (optional) | |
isDocumentDamAsset | boolean (optional) | |
damRecordId | string (optional) | |
isReferenceDocument | boolean |
update_attachment_version
Available on request
Updates an existing attachment version, in Aprimo Marketing Operations. Only include the fields you intend to change (partial update; omitted fields are left as-is). Requires confirmed=true after showing the user the exact changes. Returns the updated attachment version.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
attachmentId | string | Yes | The attachment's integer id. |
versionId | string | Yes | The attachment version's integer id. |
body | string | Yes | JSON object with the fields to change (PM wire names). Omit fields you don't want to modify. |
confirmed | boolean | No | Must be true to proceed. Omit (or false) to get a confirmation gate error, then call again with confirmed=true after the user has explicitly approved the change. |
Returns:
| Field | Type | Description |
|---|---|---|
versionId | integer | |
isDefaultVersion | boolean | |
attachmentId | integer | |
filename | string (optional) | |
extension | string (optional) | |
thumbnailUri | string (optional) | |
downloadUri | string (optional) | |
modifiedUser | integer (optional) | PM wires this as modifiedUser, not modifiedById. |
modifiedByName | string (optional) | |
modifiedDate | string (optional) | |
createdDate | string (optional) | |
creatorId | integer (optional) | |
creatorName | string (optional) | |
fileId | string (optional) | |
title | string (optional) | |
description | string (optional) | |
versionComments | string (optional) |
Related
- Aprimo MCP Server — configuration, connection details, and authentication
- MCP Tool Permission Map — the Aprimo permissions that make each tool visible to your agent
- REST API vs. MCP — choosing the right integration approach for your agent