Public XFDF Annotations
Tools for public XFDF annotations on a record, and the reference documents attached to a DAM record.
This page covers 4 tools, 1 of them in the default tool list, and 1 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 |
|---|---|---|
create_public_xfdf_annotation | On request | Creates an XFDF annotation on a document version, in Aprimo Marketing Operations (the public assets/annotations-data resource). |
delete_public_xfdf_annotation | On request | Destructive. Permanently deletes an XFDF annotation from a document version, in Aprimo Marketing Operations (the public assets/annotations-data resource). |
get_dam_record_reference_documents | Default | Returns the DAM reference documents linked to a DAM record, in Aprimo Marketing Operations. |
get_public_xfdf_annotations | On request | Returns the XFDF annotations for a document version, paged, in Aprimo Marketing Operations (the public assets/annotations-data resource). |
create_public_xfdf_annotation
Available on request
Creates an XFDF annotation on a document version, in Aprimo Marketing Operations (the public assets/annotations-data resource). Requires confirmed=true after showing the user the exact payload. Returns the created annotation.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The asset (document)'s integer id. |
versionId | string | Yes | The document version's integer id. |
body | string | Yes | JSON object with the XFDF annotation payload. Must include a "type" property identifying the annotation kind. |
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 |
|---|---|---|
annotationId | integer | |
annotationUuid | string (optional) | |
associatedNumber | integer (optional) | |
createdDate | string (optional) | |
modifiedDate | string (optional) | |
replyCount | integer (optional) | |
type | string (optional) | |
page | integer (optional) | |
authorId | integer (optional) | |
comment | string (optional) | Flattened from content.comment. |
quotedText | string (optional) | Flattened from content.quotedText. |
fixedLabel | string (optional) | Flattened from content.fixedLabel (a stamp/fixed-annotation's label, when present) -- newly surfaced now that ContentModel is a confirmed, hardened schema. |
color | string (optional) | Flattened from style.color. |
opacity | number (optional) | Flattened from style.opacity. |
width | integer (optional) | Flattened from style.width. |
referenceDocumentUuid | string (optional) | Flattened from referenceLink.documentUuid. |
delete_public_xfdf_annotation
Available on request · Destructive
Permanently deletes an XFDF annotation from a document version, in Aprimo Marketing Operations (the public assets/annotations-data resource). This cannot be undone. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact annotation with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The asset (document)'s integer id. |
versionId | string | Yes | The document version's integer id. |
annotationId | string | Yes | The annotation'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 annotation is permanent and cannot be undone. Set only after stating the exact annotation to the user and getting explicit go-ahead. |
Returns:
| Field | Type | Description |
|---|---|---|
id | integer | |
versionId | integer | |
annotationId | 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_dam_record_reference_documents
In the default tool list
Returns the DAM reference documents linked to a DAM record, in Aprimo Marketing Operations.
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
recordId | string | Yes | The DAM record's GUID (a string, not an integer id). |
Returns:
| Field | Type | Description |
|---|---|---|
items | array of RefDocsModel | |
items[].fileVersionId | string (optional) | |
items[].refDocs | array of RefDocsProjection | |
items[].refDocs[].refDocRecordId | string (optional) | |
items[].refDocs[].refDocFileVersionId | string (optional) | |
items[].refDocs[].refDocAssetTitle | string (optional) |
get_public_xfdf_annotations
Available on request
Returns the XFDF annotations for a document version, paged, in Aprimo Marketing Operations (the public assets/annotations-data resource).
Response format: the response carries pre-rendered markdown blocks intended to be displayed verbatim.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | The asset (document)'s integer id. |
versionId | string | Yes | The document version's integer id. |
offset | integer | No | The zero-based index of the first annotation to return (default 0). |
limit | integer | No | The maximum number of annotations to return (default 50). |
Returns:
| Field | Type | Description |
|---|---|---|
totalCount | integer | |
offset | integer | |
limit | integer | |
items | array of PublicXfdfAnnotationProjection | |
items[].annotationId | integer | |
items[].annotationUuid | string (optional) | |
items[].associatedNumber | integer (optional) | |
items[].createdDate | string (optional) | |
items[].modifiedDate | string (optional) | |
items[].replyCount | integer (optional) | |
items[].type | string (optional) | |
items[].page | integer (optional) | |
items[].authorId | integer (optional) | |
items[].comment | string (optional) | Flattened from content.comment. |
items[].quotedText | string (optional) | Flattened from content.quotedText. |
items[].fixedLabel | string (optional) | Flattened from content.fixedLabel (a stamp/fixed-annotation's label, when present) -- newly surfaced now that ContentModel is a confirmed, hardened schema. |
items[].color | string (optional) | Flattened from style.color. |
items[].opacity | number (optional) | Flattened from style.opacity. |
items[].width | integer (optional) | Flattened from style.width. |
items[].referenceDocumentUuid | string (optional) | Flattened from referenceLink.documentUuid. |
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