dotCMS · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for dotCMS REST Internationalization API
15 actions
15 updates
phrasing
extends
openapi/dotcms-internationalization-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for dotCMS's API. It is a proposal applied on top of the contract, not a document dotCMS publishes.
What the actions change
x-apievangelist-phrasing
Targets 15
$.info
$.paths['/api/v1/system/i18n/{lang}/{rsrc}'].get
$.paths['/api/v2/languages/{languageId}'].put
$.paths['/api/v2/languages/{languageId}'].delete
$.paths['/api/v2/languages/id/{languageid}'].get
$.paths['/api/v2/languages/{language}/keys'].get
$.paths['/api/v2/languages/_getdefault'].get
$.paths['/api/v2/languages/{languageTag}'].get
$.paths['/api/v2/languages/{languageTag}'].post
$.paths['/api/v2/languages/iso'].get
$.paths['/api/v2/languages/i18n'].post
$.paths['/api/v2/languages/variables'].get
$.paths['/api/v2/languages'].get
$.paths['/api/v2/languages'].post
$.paths['/api/v2/languages/{language}/_makedefault'].put
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for dotCMS REST Internationalization API
version: 1.0.0
extends: openapi/dotcms-internationalization-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 14
- target: $.paths['/api/v1/system/i18n/{lang}/{rsrc}'].get
update:
x-apievangelist-phrasing:
intent: Get a system i18n resource bundle
effect: read
questions:
- Where do I load the translated UI strings for a system resource in a given language?
- Can I fetch a whole i18n resource file for one locale?
instructions:
- text: Get system i18n resource {rsrc} in language {lang}.
slots:
rsrc: path.rsrc
lang: path.lang
- text: Load the {lang} translations for UI resource {rsrc}.
slots:
lang: path.lang
rsrc: path.rsrc
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages/{languageId}'].put
update:
x-apievangelist-phrasing:
intent: Update a language
effect: write
questions:
- Can I change the country code on a language I already added?
- How do I rename an existing language's display name?
instructions:
- text: Update language {languageId} to language code {languageCode} and country code {countryCode}.
slots:
languageId: path.languageId
languageCode: requestBody.languageCode
countryCode: requestBody.countryCode
- text: Rename existing language {languageId} to {language} for country {country}.
slots:
languageId: path.languageId
language: requestBody.language
country: requestBody.country
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages/{languageId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a language
effect: destructive
questions:
- How do I remove a language I no longer publish content in?
- Can I delete a language by its ID?
instructions:
- text: Delete language {languageId}.
slots:
languageId: path.languageId
- text: Remove language {languageId} from the system.
slots:
languageId: path.languageId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages/id/{languageid}'].get
update:
x-apievangelist-phrasing:
intent: Get a language by numeric ID
effect: read
questions:
- Which language does a given language ID refer to?
- Can I look up a language's code and country from its ID?
instructions:
- text: Get language with ID {languageid}.
slots:
languageid: path.languageid
- text: Show the code and country of language ID {languageid}.
slots:
languageid: path.languageid
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages/{language}/keys'].get
update:
x-apievangelist-phrasing:
intent: Get all message keys for a language
effect: read
questions:
- Can I pull every translation key and message for one language?
- What UI message keys exist for a particular locale?
instructions:
- text: Get all message keys for language {language}.
slots:
language: path.language
- text: Export every translated message in {language}.
slots:
language: path.language
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages/_getdefault'].get
update:
x-apievangelist-phrasing:
intent: Get the default language
effect: read
questions:
- What is the default content language on this dotCMS instance?
- Can I check which language is marked as the default?
instructions:
- text: Get the default language.
- text: Tell me which language is set as the system default.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages/{languageTag}'].get
update:
x-apievangelist-phrasing:
intent: Look up a language by locale tag
effect: read
questions:
- Can I find a configured language using a tag like en-US?
- Is there a strict mode that only matches the exact language tag?
instructions:
- text: Find the language for tag {languageTag}.
slots:
languageTag: path.languageTag
- text: Look up language tag {languageTag} with strict matching {strict}.
slots:
languageTag: path.languageTag
strict: query.strict
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages/{languageTag}'].post
update:
x-apievangelist-phrasing:
intent: Add a language from a locale tag
effect: write
questions:
- Can I add a new language just by giving its locale tag?
- What is the quickest way to create a language like fr-CA?
instructions:
- text: Create a language from tag {languageTag}.
slots:
languageTag: path.languageTag
- text: Add language {languageTag} using strict tag parsing {strict}.
slots:
languageTag: path.languageTag
strict: query.strict
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages/iso'].get
update:
x-apievangelist-phrasing:
intent: List ISO languages and countries
effect: read
questions:
- Which ISO language and country codes can I choose from when adding a language?
- Can I get the reference list of ISO languages and countries?
instructions:
- text: List the ISO languages and countries.
- text: Show the ISO codes available for building a new language.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages/i18n'].post
update:
x-apievangelist-phrasing:
intent: Get selected i18n messages (v2)
effect: read
questions:
- Can I fetch just a few translated message keys for a language and country with the v2 languages API?
- Which v2 call returns i18n strings for specific keys?
instructions:
- text: Get the v2 i18n messages {messagesKey} for language {language} and country {country}.
slots:
messagesKey: requestBody.messagesKey
language: requestBody.language
country: requestBody.country
- text: Translate keys {messagesKey} into {language} using the v2 languages endpoint.
slots:
messagesKey: requestBody.messagesKey
language: requestBody.language
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages/variables'].get
update:
x-apievangelist-phrasing:
intent: List language variables
effect: read
questions:
- What language variables are defined across my languages?
- Can I include language variables that have no value in a given language?
instructions:
- text: List all language variables.
- text: List language variables with renderNulls set to {renderNulls}.
slots:
renderNulls: query.renderNulls
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages'].get
update:
x-apievangelist-phrasing:
intent: List configured languages (v2)
effect: read
questions:
- Which languages are configured, and how many language variables does each have?
- Can I list the languages a specific piece of content is available in?
instructions:
- text: List all configured languages from the v2 API.
- text: List the languages for content inode {contentInode}.
slots:
contentInode: query.contentInode
- text: List languages with variable counts, setting countLangVars to {countLangVars}.
slots:
countLangVars: query.countLangVars
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages'].post
update:
x-apievangelist-phrasing:
intent: Create a language
effect: write
questions:
- How do I add a new language with its own language and country codes?
- What fields do I need to create a language, such as ISO code and country?
instructions:
- text: Create a language with code {languageCode} and country code {countryCode}.
slots:
languageCode: requestBody.languageCode
countryCode: requestBody.countryCode
- text: Add language {language} for {country} with ISO code {isoCode}.
slots:
language: requestBody.language
country: requestBody.country
isoCode: requestBody.isoCode
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v2/languages/{language}/_makedefault'].put
update:
x-apievangelist-phrasing:
intent: Make a language the default
effect: write
questions:
- How do I change the system default language?
- Can I move assets over to the new default language when switching?
instructions:
- text: Make language {language} the default.
slots:
language: path.language
- text: 'Set {language} as default and run the asset transfer job: {fireTransferAssetsJob}.'
slots:
language: path.language
fireTransferAssetsJob: requestBody.fireTransferAssetsJob
method: generated
generated: '2026-09-26'