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.
View Overlay File View on GitHub Overlay Specification

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

Raw ↑
# 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'