dotCMS · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for dotCMS REST Publishing API
17 actions
17 updates
phrasing
extends
openapi/dotcms-publishing-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 17 · first 16 shown; the file carries all of them
$.info
$.paths['/api/auditPublishing/get/{bundleId}'].get
$.paths['/api/auditPublishing/getAll'].post
$.paths['/api/v1/publishqueue'].delete
$.paths['/api/v1/bundles/assets'].post
$.paths['/api/v1/bundles/{bundleId}/assets'].delete
$.paths['/api/v1/publishing/{bundleId}'].get
$.paths['/api/v1/publishing/{bundleId}'].delete
$.paths['/api/v1/publishing'].get
$.paths['/api/v1/publishing/purge'].delete
$.paths['/api/v1/publishing/push/{bundleId}'].post
$.paths['/api/v1/publishing/retry'].post
$.paths['/api/v1/pushpublish/filters/{filterKey}'].get
$.paths['/api/v1/pushpublish/filters/{filterKey}'].delete
$.paths['/api/v1/pushpublish/filters'].get
$.paths['/api/v1/pushpublish/filters'].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 Publishing API
version: 1.0.0
extends: openapi/dotcms-publishing-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: 16
- target: $.paths['/api/auditPublishing/get/{bundleId}'].get
update:
x-apievangelist-phrasing:
intent: Get the publishing audit for a bundle
effect: read
questions:
- What does the publishing audit log say about a specific bundle?
- Can I look up the audit status record of one bundle?
instructions:
- text: Get the publishing audit record for bundle {bundleId}.
slots:
bundleId: path.bundleId
- text: Show the audit entry for bundle {bundleId}.
slots:
bundleId: path.bundleId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/auditPublishing/getAll'].post
update:
x-apievangelist-phrasing:
intent: List all publishing audit records
effect: read
questions:
- Can I pull every publishing audit record at once?
- Where is the full push publishing audit log?
instructions:
- text: Get all publishing audit records.
- text: Dump the whole push publishing audit log.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/publishqueue'].delete
update:
x-apievangelist-phrasing:
intent: Remove assets from the publish queue
effect: destructive
questions:
- How do I take queued assets out of the publish queue?
- Can I drop specific identifiers from the publishing queue?
instructions:
- text: Remove assets {identifiers} from the publish queue.
slots:
identifiers: requestBody.identifiers
- text: Dequeue identifiers {identifiers} from publishing.
slots:
identifiers: requestBody.identifiers
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/bundles/assets'].post
update:
x-apievangelist-phrasing:
intent: Add assets to a bundle
effect: write
questions:
- How do I add content to a push publishing bundle?
- Will a new bundle be created if the one I name doesn't exist?
instructions:
- text: Add assets {assetIds} to bundle {bundleId}.
slots:
assetIds: requestBody.assetIds
bundleId: requestBody.bundleId
- text: Put {assetIds} into the bundle named {bundleName}, creating it if needed.
slots:
assetIds: requestBody.assetIds
bundleName: requestBody.bundleName
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/bundles/{bundleId}/assets'].delete
update:
x-apievangelist-phrasing:
intent: Remove assets from an unpushed bundle
effect: destructive
questions:
- Can I take items back out of a bundle before it's pushed?
- What happens if I remove an asset that isn't in the bundle?
instructions:
- text: Remove assets {assetIds} from bundle {bundleId}.
slots:
assetIds: requestBody.assetIds
bundleId: path.bundleId
- text: Take {assetIds} out of unpushed bundle {bundleId}.
slots:
assetIds: requestBody.assetIds
bundleId: path.bundleId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/publishing/{bundleId}'].get
update:
x-apievangelist-phrasing:
intent: Get a publishing job's details
effect: read
questions:
- Why did my publishing job fail on one endpoint?
- Can I see per-endpoint status and errors for a bundle push?
instructions:
- text: Get details of publishing job {bundleId}.
slots:
bundleId: path.bundleId
- text: Show endpoint status and errors for bundle {bundleId}.
slots:
bundleId: path.bundleId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/publishing/{bundleId}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a publishing job
effect: destructive
questions:
- How do I remove one bundle from the publishing queue?
- Can I delete a bundle that's currently sending?
instructions:
- text: Delete publishing job {bundleId}.
slots:
bundleId: path.bundleId
- text: Remove bundle {bundleId} from the publishing queue.
slots:
bundleId: path.bundleId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/publishing'].get
update:
x-apievangelist-phrasing:
intent: List publishing jobs
effect: read
questions:
- Which push publishing jobs are queued or done?
- Can I filter publishing jobs by status or bundle name?
instructions:
- text: List publishing jobs.
- text: List publishing jobs with status {status}.
slots:
status: query.status
- text: Find publishing jobs matching {filter}.
slots:
filter: query.filter
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/publishing/purge'].delete
update:
x-apievangelist-phrasing:
intent: Bulk delete publishing jobs by status
effect: destructive
questions:
- How do I clear out all failed publishing jobs at once?
- What gets purged if I don't specify a status?
instructions:
- text: Purge all publishing jobs with status {status}.
slots:
status: query.status
- text: Purge finished and queued publishing jobs using the safe defaults.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/publishing/push/{bundleId}'].post
update:
x-apievangelist-phrasing:
intent: Push a bundle to environments
effect: write
questions:
- How do I push a bundle to my production environment?
- Can I schedule a bundle to publish now and expire later?
instructions:
- text: Push bundle {bundleId} to {environments} with operation {operation} using filter {filterKey}.
slots:
bundleId: path.bundleId
environments: requestBody.environments
operation: requestBody.operation
filterKey: requestBody.filterKey
- text: Publish bundle {bundleId} to {environments} at {publishDate} with filter {filterKey} via {operation}.
slots:
bundleId: path.bundleId
environments: requestBody.environments
publishDate: requestBody.publishDate
filterKey: requestBody.filterKey
operation: requestBody.operation
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/publishing/retry'].post
update:
x-apievangelist-phrasing:
intent: Retry pushing bundles
effect: write
questions:
- Can I retry bundles that failed to publish?
- How do I re-send a bundle that already succeeded to resync an endpoint?
instructions:
- text: Retry bundles {bundleIds}.
slots:
bundleIds: requestBody.bundleIds
- text: Force re-push bundles {bundleIds}.
slots:
bundleIds: requestBody.bundleIds
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/pushpublish/filters/{filterKey}'].get
update:
x-apievangelist-phrasing:
intent: Get a push publishing filter
effect: read
questions:
- What does a specific push publishing filter include?
- Can I look up one publishing filter by its key?
instructions:
- text: Get push publishing filter {filterKey}.
slots:
filterKey: path.filterKey
- text: Show the rules of filter {filterKey}.
slots:
filterKey: path.filterKey
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/pushpublish/filters/{filterKey}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a push publishing filter
effect: destructive
questions:
- How do I remove a push publishing filter?
- Can I delete a filter I no longer use for bundles?
instructions:
- text: Delete push publishing filter {filterKey}.
slots:
filterKey: path.filterKey
- text: Remove filter {filterKey}.
slots:
filterKey: path.filterKey
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/pushpublish/filters'].get
update:
x-apievangelist-phrasing:
intent: List push publishing filters
effect: read
questions:
- Which push publishing filters are available?
- What filters can I choose from when pushing a bundle?
instructions:
- text: List all push publishing filters.
- text: Show the available publishing filters.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/pushpublish/filters'].put
update:
x-apievangelist-phrasing:
intent: Update a push publishing filter
effect: write
questions:
- How do I edit an existing push publishing filter?
- Can I change which roles can use a publishing filter?
instructions:
- text: Update push publishing filter {key} with title {title}.
slots:
key: requestBody.key
title: requestBody.title
- text: Change the roles on existing filter {key} to {roles}.
slots:
key: requestBody.key
roles: requestBody.roles
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/pushpublish/filters'].post
update:
x-apievangelist-phrasing:
intent: Create a push publishing filter
effect: write
questions:
- How do I create a new push publishing filter?
- Can I make a new filter the default for bundles?
instructions:
- text: Create push publishing filter {key} titled {title}.
slots:
key: requestBody.key
title: requestBody.title
- text: Add a new publishing filter {key} with rules {filters}.
slots:
key: requestBody.key
filters: requestBody.filters
method: generated
generated: '2026-09-26'