Languages & Translations
Tools for tenant languages and the translation strings keyed against them, including language synonyms and images.
This page covers 14 tools, all of them available on request rather than in the default tool list, and 2 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_language | On request | Creates a new Aprimo language for multi-language fields/labels. |
create_translation | On request | Creates a new Aprimo translation under a studio/module/name key. |
delete_language | On request | Destructive. Permanently deletes an Aprimo language by id or by name. |
delete_translation | On request | Destructive. Permanently deletes an Aprimo translation by id or by name. |
get_language | On request | Gets one Aprimo language's detail (name, culture, custom tag, enabled-for-fields/UI flags, dates) by id or by name. |
get_language_image | On request | Returns the image URL (plus width/height/size/extension) for an Aprimo language, by id or by name. |
get_language_synonyms | On request | Exports the solr-formatted synonyms list for an Aprimo language, by id or by name. |
get_translation | On request | Gets one Aprimo translation's detail (studio, module, name, custom tag, localized values, dates) by id or by name. |
get_translation_by_key | On request | Gets one Aprimo translation by its exact studio/module/name key (DAM's own unique-key lookup — all three are required together). |
list_languages | On request | Lists the languages enabled in Aprimo for multi-language fields/labels: name, culture, enabled-for-fields/UI flags, and dates. |
list_translations | On request | Lists the translations configured in Aprimo: studio, module, name, and dates. |
update_language | On request | Edits an existing Aprimo language by id or by name. |
update_language_synonyms | On request | Imports (replaces) the entire solr-formatted synonyms list for an Aprimo language, by id or by name. |
update_translation | On request | Edits an existing Aprimo translation by id or by name. |
create_language
Available on request
Creates a new Aprimo language for multi-language fields/labels. This modifies data. Always confirm the name and culture with the user before calling this tool.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
name | string | Yes | The name for the new language, exactly as the user stated it, e.g. "Dutch". |
culture | string | Yes | The culture code for the language, e.g. "nl-be". |
enabledForFields | boolean | No | Whether this language is enabled for field values. Omit to use DAM's default. |
enabledForUI | boolean | No | Whether this language is enabled for the user interface. Omit to use DAM's default. |
tag | string | No | Optional custom XML tag associated with the language. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string |
create_translation
Available on request
Creates a new Aprimo translation under a studio/module/name key. This modifies data. Always confirm the studio, module, name, and localized values with the user before calling this tool.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
studio | string | Yes | The studio the translation belongs to, e.g. "Core". |
module | string | Yes | The module the translation belongs to, e.g. "Search". |
name | string | Yes | The name of the element being translated, exactly as the user stated it, e.g. "SaveButtonLabel". |
tag | string | No | Optional custom XML tag associated with the translation. |
localizedValues | array of DamModels.TranslationLocalizedValue | No | The localized values for the translation, one per language (languageId + value). Omit to create with no localized values yet. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
studio | string | |
module | string | |
name | string |
delete_language
Available on request · Destructive
Permanently deletes an Aprimo language by id or by name. This cannot be undone — any field/label values localized into this language are affected. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact language with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
languageId | string | No | The language id (GUID) to delete. Provide this or name, not both. |
name | string | No | The language's name (case-insensitive, exact match). Provide this or languageId, 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 language. |
confirmedDestructive | boolean | No | Must also be true (in addition to confirmed) — deleting a language is permanent and cannot be undone. Set only after stating the exact language 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.
delete_translation
Available on request · Destructive
Permanently deletes an Aprimo translation by id or by name. This cannot be undone. Requires both confirmed=true and confirmedDestructive=true, after explicitly confirming the exact translation with the user.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
translationId | string | No | The translation id (GUID) to delete. Provide this or name, not both. |
name | string | No | The translation's name (case-insensitive, exact match). Provide this or translationId, not both. Note: names commonly repeat — an ambiguous match will ask for translationId instead. |
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 translation. |
confirmedDestructive | boolean | No | Must also be true (in addition to confirmed) — deleting a translation is permanent and cannot be undone. Set only after stating the exact translation 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_language
Available on request
Gets one Aprimo language's detail (name, culture, custom tag, enabled-for-fields/UI flags, dates) by id or by name. Use after list_languages, or pass name directly when the user names the language. Not its image (get_language_image) or synonyms (get_language_synonyms).
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
languageId | string | No | The language id (GUID), from list_languages. Provide this or name, not both. |
name | string | No | The language's name (case-insensitive, exact match), e.g. "Dutch". Provide this or languageId, not both. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string | |
culture | string | |
isEnabledForFields | boolean | |
isEnabledForUI | boolean | |
tag | string (optional) | |
createdOn | string | |
modifiedOn | string |
get_language_image
Available on request
Returns the image URL (plus width/height/size/extension) for an Aprimo language, by id or by name. The URL remains valid for twenty-four hours. Returns a friendly message if the language has no image. Important: Display the URL as plain text, never as an HTML img tag.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
languageId | string | No | The language id (GUID). Provide this or name, not both. |
name | string | No | The language's name (case-insensitive, exact match). Provide this or languageId, not both. |
Returns:
| Field | Type | Description |
|---|---|---|
languageId | string | |
uri | string (optional) | |
width | integer (optional) | |
height | integer (optional) | |
size | integer (optional) | |
extension | string (optional) |
get_language_synonyms
Available on request
Exports the solr-formatted synonyms list for an Aprimo language, by id or by name. Returns the raw synonyms text (one synonym group per line) so it can be reviewed or edited before calling update_language_synonyms.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
languageId | string | No | The language id (GUID). Provide this or name, not both. |
name | string | No | The language's name (case-insensitive, exact match). Provide this or languageId, not both. |
Returns:
| Field | Type | Description |
|---|---|---|
languageId | string | |
content | string | |
lineCount | integer |
get_translation
Available on request
Gets one Aprimo translation's detail (studio, module, name, custom tag, localized values, dates) by id or by name. Not get_translation_by_key, which looks up by a different key shape (studio/module/name triplet) rather than an id. Use list_translations first, or pass name directly — but note plain names commonly repeat across studios/modules, so an ambiguous match will ask you to use translationId or get_translation_by_key instead.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
translationId | string | No | The translation id (GUID), from list_translations. Provide this or name, not both. |
name | string | No | The translation's name (case-insensitive, exact match). Provide this or translationId, not both. Note: names commonly repeat across studios/modules — an ambiguous match will ask for translationId instead. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
studio | string | |
module | string | |
name | string | |
tag | string (optional) | |
localizedValues | array of TranslationLocalizedValuePayload | |
localizedValues[].languageId | string | |
localizedValues[].value | string | |
createdOn | string | |
modifiedOn | string |
get_translation_by_key
Available on request
Gets one Aprimo translation by its exact studio/module/name key (DAM's own unique-key lookup — all three are required together). Use this when the caller already knows all three, e.g. from application source/config; otherwise use get_translation by id or by (ambiguous) name.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
studio | string | Yes | The studio name for the translation, e.g. "Core". |
module | string | Yes | The module name for the translation, e.g. "Search". |
name | string | Yes | The name of the element that should be translated, e.g. "SaveButtonLabel". |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
studio | string | |
module | string | |
name | string | |
tag | string (optional) | |
localizedValues | array of TranslationLocalizedValuePayload | |
localizedValues[].languageId | string | |
localizedValues[].value | string | |
createdOn | string | |
modifiedOn | string |
list_languages
Available on request
Lists the languages enabled in Aprimo for multi-language fields/labels: name, culture, enabled-for-fields/UI flags, and dates. Use when the user asks what languages exist, or to look up a language's id/exact name before calling get_language, update_language, or delete_language by name.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
filter | string | No | Optional filter expression (DAM query syntax), e.g. "Name=Dutch". Omit to list every language. |
sort | string | No | Optional sort expression, e.g. "createdOn". Omit for the endpoint's default order. |
skip | integer | No | Number of items to skip, for paging. Defaults to 0. |
take | integer | No | Maximum number of items to return. Omit for the endpoint's default page size. |
Returns:
| Field | Type | Description |
|---|---|---|
count | integer | |
items | array of LanguagePayload | |
items[].id | string | |
items[].name | string | |
items[].culture | string | |
items[].isEnabledForFields | boolean | |
items[].isEnabledForUI | boolean | |
items[].tag | string (optional) | |
items[].createdOn | string | |
items[].modifiedOn | string |
list_translations
Available on request
Lists the translations configured in Aprimo: studio, module, name, and dates. Use when the user asks what translations exist, or to look up a translation's id before calling get_translation/update_translation/delete_translation.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
filter | string | No | Optional filter expression (DAM query syntax), e.g. "ModifiedOn in today". Omit to list every translation. |
sort | string | No | Optional sort expression, e.g. "createdOn". Omit for the endpoint's default order. |
skip | integer | No | Number of items to skip, for paging. Defaults to 0. |
take | integer | No | Maximum number of items to return. Omit for the endpoint's default page size. |
Returns:
| Field | Type | Description |
|---|---|---|
count | integer | |
items | array of TranslationPayload | |
items[].id | string | |
items[].studio | string | |
items[].module | string | |
items[].name | string | |
items[].tag | string (optional) | |
items[].localizedValues | array of TranslationLocalizedValuePayload | |
items[].localizedValues[].languageId | string | |
items[].localizedValues[].value | string | |
items[].createdOn | string | |
items[].modifiedOn | string |
update_language
Available on request
Edits an existing Aprimo language by id or by name. Only the fields provided are changed — omitted fields keep their current value. This modifies data. Always confirm the exact language and the new values with the user before calling this tool.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
languageId | string | No | The language id (GUID) to edit. Provide this or name, not both. |
name | string | No | The language's current name (case-insensitive, exact match), used to look it up. Provide this or languageId, not both. |
newName | string | No | New name for the language. Omit to leave the name unchanged. |
culture | string | No | New culture code, e.g. "nl-be". Omit to leave the culture unchanged. |
enabledForFields | boolean | No | New enabled-for-fields flag. Omit to leave it unchanged. |
enabledForUI | boolean | No | New enabled-for-UI flag. Omit to leave it unchanged. |
tag | string | No | New custom XML tag. Omit to leave the tag unchanged. |
Returns:
| Field | Type | Description |
|---|---|---|
id | string | |
name | string (optional) |
update_language_synonyms
Available on request
Imports (replaces) the entire solr-formatted synonyms list for an Aprimo language, by id or by name. This modifies data and overwrites any existing synonyms for the language. Always show the new content to the user and confirm before calling this tool — use get_language_synonyms first if you need to preserve any existing entries.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
languageId | string | No | The language id (GUID) to edit. Provide this or name, not both. |
name | string | No | The language's current name (case-insensitive, exact match), used to look it up. Provide this or languageId, not both. |
synonymsContent | string | No | The full new synonyms file content, solr format (one synonym group per line, e.g. "car, automobile, vehicle"). Required and cannot be empty: DAM's import silently ignores empty (or all-comment/invalid) content as a no-op, leaving any existing synonyms untouched — there is no way to clear a language's synonyms via this tool. |
Returns:
| Field | Type | Description |
|---|---|---|
languageId | string | |
updated | boolean | |
lineCount | integer |
update_translation
Available on request
Edits an existing Aprimo translation by id or by name. Only the fields provided are changed — omitted fields keep their current value; if provided, localizedValues replaces the whole set (not a merge). This modifies data. Always confirm the exact translation and the new values with the user before calling this tool.
Parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
translationId | string | No | The translation id (GUID) to edit. Provide this or name, not both. |
name | string | No | The translation's current name (case-insensitive, exact match), used to look it up. Provide this or translationId, not both. Note: names commonly repeat — an ambiguous match will ask for translationId instead. |
newStudio | string | No | New studio. Omit to leave the studio unchanged. |
newModule | string | No | New module. Omit to leave the module unchanged. |
newName | string | No | New name for the translation. Omit to leave the name unchanged. |
tag | string | No | New custom XML tag. Omit to leave the tag unchanged. |
localizedValues | array of DamModels.TranslationLocalizedValue | No | The full new set of localized values (languageId + value), replacing the existing set entirely. Omit to leave localized values unchanged. |
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