Content Types
Tools for the content type hierarchy — reading types by id or name, walking parents, and creating, updating, or deleting a type.
This page covers 8 tools, all of them available on request rather than 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_content_type | On request | Creates a new Aprimo content type. |
delete_content_type | On request | Destructive. Permanently deletes an Aprimo content type by id or by name. |
get_content_type | On request | Gets one Aprimo content type's detail (purpose, parent, registered fields, labels, dates) by id. |
get_content_type_by_name | On request | Gets one Aprimo content type's detail by its exact name, via DAM's dedicated by-name lookup (distinct from get_content_type, which looks up by id). |
get_content_type_parent | On request | Gets the parent content type of an Aprimo content type, by id or by name. |
list_content_types | On request | Lists the content types configured in Aprimo: name, purpose, parent, registered fields, labels, and dates. |
list_content_types_info | On request | Lists every Aprimo content type's basic info only: id, name, and parent id — a lighter-weight alternative to list_content_types when the caller doesn't need fields/labels/config, e.g. to build a content-type hierarchy or a quick id lookup. |
update_content_type | On request | Edits an existing Aprimo content type by id or by name. |
create_content_type
Available on request
Creates a new Aprimo content type. This modifies data. Always confirm the name and any other settings with the user before calling this tool.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name for the new content type, exactly as the user stated it. |
purpose | string | No | Optional description of the content type's purpose. |
parentId | string | No | Optional parent content type id (GUID) this content type inherits from. |
isNoFile | boolean | No | When true, records of this content type have no file (a "no-file" content type). Defaults to false. |
fileMode | string | No | Optional file mode. One of: UploadFile, NoFile, CreateFromUrl, CreateFromSmartAgent, ManagedInDam. |
titleConfigurationOption | string | No | Optional title-resolution option. One of: FileName, Field. |
titleConfigurationFieldId | string | No | Field id (GUID) used to resolve the title, when titleConfigurationOption is "Field". |
titleConfigurationShowExtension | boolean | No | When true, the file extension is included in the title, when titleConfigurationOption is "FileName". |
registeredFieldIds | array of string | No | Field ids (GUIDs) to register on this content type. |
inheritableFieldIds | array of string | No | Field ids (GUIDs) that can be inherited from the parent content type. |
defaultFileExtensions | .")] List<string> | No | Default file extensions associated with this content type, e.g. ["avi", "MP4"]. |
labels | object (map of string) | No | Multi-language labels for the name of this content type: a map of languageId (GUID) to label value. |
inheritanceConfiguration | string | No | Optional inheritance configuration. One of: None, Parent, Custom. |
inheritanceFieldId | string | No | Field id (GUID) used to resolve the parent record for inheritance, when inheritanceConfiguration is "Custom". |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string |
delete_content_type
Available on request · Destructive
Permanently deletes an Aprimo content type by id or by name. This cannot be undone. DAM only allows deleting a content type if no records of that type exist and it is not a predefined content type. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact content type with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
contentTypeId | string | No | The content type id (GUID) to delete. Provide this or name, not both. |
name | string | No | The content type's name (case-insensitive, exact match). Provide this or contentTypeId, not both. |
confirmed | boolean | No | Must 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 content type. |
confirmedDestructive | boolean | No | Must also be true (in addition to confirmed) — deleting a content type is permanent and cannot be undone. Set only after stating the exact content type to the user and getting explicit go-ahead. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | 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.
get_content_type
Available on request
Gets one Aprimo content type's detail (purpose, parent, registered fields, labels, dates) by id. Use after list_content_types, or use get_content_type_by_name when the user names the content type directly. Not its parent either (use get_content_type_parent for that).
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
contentTypeId | string | Yes | The content type id (GUID), from list_content_types. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string | |
purpose | string (optional) | |
parentId | string (optional) | |
isManual | boolean | |
isNoFile | boolean | |
fileMode | string (optional) | |
inheritanceConfiguration | string (optional) | |
inheritanceFieldId | string (optional) | |
registeredFieldIds | array of string | |
inheritableFieldIds | array of string | |
defaultFileExtensions | array of string | |
labels | array of ContentTypeLabelPayload | |
labels[].value | string (optional) | |
labels[].languageId | string | |
titleConfigurationOption | string (optional) | |
createdOn | string (optional) | |
modifiedOn | string (optional) |
get_content_type_by_name
Available on request
Gets one Aprimo content type's detail by its exact name, via DAM's dedicated by-name lookup (distinct from get_content_type, which looks up by id). Use when the user names the content type directly (e.g. "Video", "Image").
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The content type's exact name (case-insensitive), e.g. "Video". |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string | |
purpose | string (optional) | |
parentId | string (optional) | |
isManual | boolean | |
isNoFile | boolean | |
fileMode | string (optional) | |
inheritanceConfiguration | string (optional) | |
inheritanceFieldId | string (optional) | |
registeredFieldIds | array of string | |
inheritableFieldIds | array of string | |
defaultFileExtensions | array of string | |
labels | array of ContentTypeLabelPayload | |
labels[].value | string (optional) | |
labels[].languageId | string | |
titleConfigurationOption | string (optional) | |
createdOn | string (optional) | |
modifiedOn | string (optional) |
get_content_type_parent
Available on request
Gets the parent content type of an Aprimo content type, by id or by name. Returns an error if the content type doesn't exist or has no parent (e.g. it is a root content type like "Record").
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
contentTypeId | string | No | The content type id (GUID) whose parent to fetch. Provide this or name, not both. |
name | string | No | The content type's name (case-insensitive, exact match). Provide this or contentTypeId, not both. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string | |
purpose | string (optional) | |
parentId | string (optional) | |
isManual | boolean | |
isNoFile | boolean | |
fileMode | string (optional) | |
inheritanceConfiguration | string (optional) | |
inheritanceFieldId | string (optional) | |
registeredFieldIds | array of string | |
inheritableFieldIds | array of string | |
defaultFileExtensions | array of string | |
labels | array of ContentTypeLabelPayload | |
labels[].value | string (optional) | |
labels[].languageId | string | |
titleConfigurationOption | string (optional) | |
createdOn | string (optional) | |
modifiedOn | string (optional) |
list_content_types
Available on request
Lists the content types configured in Aprimo: name, purpose, parent, registered fields, labels, and dates. Every Aprimo record has exactly one content type (e.g. Image, Video, Document). Use when the user asks what content types exist, or to look up a content type's id/exact name before calling get_content_type, update_content_type, or delete_content_type by name.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
filter | string | No | Optional partial-name filter (DAM only supports a partial name match for this filter). Omit to list every content type. |
Returns:
| Field | Type | Description |
|---|---|---|
count | integer | |
items | array of ContentTypePayload | |
items[].id | string | |
items[].name | string | |
items[].purpose | string (optional) | |
items[].parentId | string (optional) | |
items[].isManual | boolean | |
items[].isNoFile | boolean | |
items[].fileMode | string (optional) | |
items[].inheritanceConfiguration | string (optional) | |
items[].inheritanceFieldId | string (optional) | |
items[].registeredFieldIds | array of string | |
items[].inheritableFieldIds | array of string | |
items[].defaultFileExtensions | array of string | |
items[].labels | array of ContentTypeLabelPayload | |
items[].labels[].value | string (optional) | |
items[].labels[].languageId | string | |
items[].titleConfigurationOption | string (optional) | |
items[].createdOn | string (optional) | |
items[].modifiedOn | string (optional) |
list_content_types_info
Available on request
Lists every Aprimo content type's basic info only: id, name, and parent id — a lighter-weight alternative to list_content_types when the caller doesn't need fields/labels/config, e.g. to build a content-type hierarchy or a quick id lookup.
Parameters: none.
Returns:
| Field | Type | Description |
|---|---|---|
count | integer | |
items | array of ContentTypeInfoPayload | |
items[].id | string | |
items[].name | string | |
items[].parentId | string (optional) |
update_content_type
Available on request
Edits an existing Aprimo content type by id or by name. Only the fields provided are changed — omitted fields keep their current value. This modifies data. Always confirm the exact content type and the new values with the user before calling this tool. Note: DAM only allows renaming a content type if no records of that type exist yet.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
contentTypeId | string | No | The content type id (GUID) to edit. Provide this or name, not both. |
name | string | No | The content type's current name (case-insensitive, exact match), used to look it up. Provide this or contentTypeId, not both. |
newName | string | No | New name for the content type. Omit to leave the name unchanged. |
purpose | string | No | New purpose/description. Omit to leave it unchanged. |
parentId | string | No | New parent content type id (GUID). Omit to leave it unchanged. |
isNoFile | boolean | No | New "no-file" setting. Omit to leave it unchanged. |
fileMode | string | No | New file mode. One of: UploadFile, NoFile, CreateFromUrl, CreateFromSmartAgent, ManagedInDam. Omit to leave it unchanged. |
titleConfigurationOption | string | No | New title-resolution option. One of: FileName, Field. Omit to leave it unchanged. |
titleConfigurationFieldId | string | No | New field id (GUID) for title resolution, when titleConfigurationOption is "Field". |
titleConfigurationShowExtension | boolean | No | New value for including the file extension in the title, when titleConfigurationOption is "FileName". |
registeredFieldIdsToAdd | array of string | No | Field ids (GUIDs) to register on this content type. |
registeredFieldIdsToRemove | array of string | No | Field ids (GUIDs) to unregister from this content type. |
inheritableFieldIdsToAdd | array of string | No | Field ids (GUIDs) to add as inheritable from the parent content type. |
inheritableFieldIdsToRemove | array of string | No | Field ids (GUIDs) to remove from the inheritable set. |
defaultFileExtensionsToAdd | .")] List<string> | No | Default file extensions to add, e.g. ["avi", "MP4"]. |
defaultFileExtensionsToRemove | array of string | No | Default file extensions to remove. |
labels | object (map of string) | No | Label values to set: a map of languageId (GUID) to label value. Only the languages provided are changed. |
inheritanceConfiguration | string | No | New inheritance configuration. One of: None, Parent, Custom. Omit to leave it unchanged. |
inheritanceFieldId | string | No | New field id (GUID) for inheritance resolution, when inheritanceConfiguration is "Custom". |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | 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