# 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 Workflow API version: 1.0.0 extends: openapi/dotcms-workflow-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: 57 - target: $.paths['/api/v1/report-issue'].post update: x-apievangelist-phrasing: intent: Report a UI bug to the upstream issue tracker effect: write questions: - Can I file a bug about the dotCMS admin UI straight from my instance? - Where do UI issue reports go when a user submits one from the back end? instructions: - text: Report this admin UI bug to the upstream dotCMS reporting instance. - text: Submit a UI issue report with the attached screenshot as a Bug contentlet upstream. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/separator'].post update: x-apievangelist-phrasing: intent: Add a separator to a workflow step's action list effect: write questions: - Can I insert a visual separator between workflow actions in a step? - How do I group workflow action buttons with a divider line? instructions: - text: Add an action separator to step {stepId} in scheme {schemeId}. slots: stepId: requestBody.stepId schemeId: requestBody.schemeId - text: Insert a divider between the actions of workflow step {stepId}. slots: stepId: requestBody.stepId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/steps'].post update: x-apievangelist-phrasing: intent: Add a new step to a workflow scheme effect: write questions: - How do I add a new stage like Legal Review to an existing workflow? - Can a new workflow step escalate automatically after a set time? instructions: - text: Add a step named {stepName} to workflow scheme {schemeId}. slots: stepName: requestBody.stepName schemeId: requestBody.schemeId - text: Create step {stepName} in scheme {schemeId} that escalates with action {escalationAction} after {escalationTime} seconds. slots: stepName: requestBody.stepName schemeId: requestBody.schemeId escalationAction: requestBody.escalationAction escalationTime: requestBody.escalationTime method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/schemes/{schemeId}/copy'].post update: x-apievangelist-phrasing: intent: Duplicate a workflow scheme effect: write questions: - Can I clone an existing workflow scheme to use as a starting point? - What name does a copied workflow scheme get if I don't give one? instructions: - text: Copy workflow scheme {schemeId}. slots: schemeId: path.schemeId - text: Duplicate workflow scheme {schemeId} and call the copy {name}. slots: schemeId: path.schemeId name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/{actionId}'].get update: x-apievangelist-phrasing: intent: Get a workflow action by its ID effect: read questions: - How can I see the full configuration of a single workflow action? - What next step and assignee does a given workflow action use? instructions: - text: Show me workflow action {actionId}. slots: actionId: path.actionId - text: Fetch the settings of workflow action {actionId}, including who can use it. slots: actionId: path.actionId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/{actionId}'].put update: x-apievangelist-phrasing: intent: Update an existing workflow action effect: write questions: - Can I rename a workflow action or change which step it moves content to? - How do I change who is allowed to use an existing workflow action? instructions: - text: Rename existing workflow action {actionId} to {actionName}. slots: actionId: path.actionId actionName: requestBody.actionName - text: Update workflow action {actionId} so it sends content to step {actionNextStep}. slots: actionId: path.actionId actionNextStep: requestBody.actionNextStep method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/{actionId}'].delete update: x-apievangelist-phrasing: intent: Delete a workflow action from every step effect: destructive questions: - How do I remove a workflow action completely, from all steps it appears in? - Does deleting a workflow action take it out of every step at once? instructions: - text: Delete workflow action {actionId} everywhere it is used. slots: actionId: path.actionId - text: Permanently remove workflow action {actionId} from all steps. slots: actionId: path.actionId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/steps/{stepId}/actions/{actionId}'].get update: x-apievangelist-phrasing: intent: Check whether an action belongs to a step effect: read questions: - Can I confirm a specific workflow action is attached to a particular step? - Is a given action available within one workflow step? instructions: - text: Get action {actionId} as it exists within step {stepId}. slots: actionId: path.actionId stepId: path.stepId - text: Check if workflow step {stepId} contains action {actionId}. slots: stepId: path.stepId actionId: path.actionId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/steps/{stepId}/actions/{actionId}'].delete update: x-apievangelist-phrasing: intent: Remove an action from a single workflow step effect: destructive questions: - Can I take a workflow action off one step without deleting it from the others? - What happens to an action when I detach it from just one step? instructions: - text: Remove action {actionId} from step {stepId} only. slots: actionId: path.actionId stepId: path.stepId - text: Detach workflow action {actionId} from step {stepId} but keep it on other steps. slots: actionId: path.actionId stepId: path.stepId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actionlets/{actionletId}'].delete update: x-apievangelist-phrasing: intent: Remove a sub-action from a workflow action effect: destructive questions: - How do I remove one sub-action, like Send an Email, from a workflow action? - Does removing an actionlet affect the parent workflow action itself? instructions: - text: Remove actionlet {actionletId} from its workflow action. slots: actionletId: path.actionletId - text: Delete workflow sub-action {actionletId}. slots: actionletId: path.actionletId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/schemes/{schemeId}'].put update: x-apievangelist-phrasing: intent: Rename or archive a workflow scheme effect: write questions: - Can I rename a workflow scheme or change its description? - How do I archive a workflow scheme I no longer use? instructions: - text: Rename workflow scheme {schemeId} to {schemeName}. slots: schemeId: path.schemeId schemeName: requestBody.schemeName - text: Set archived to {schemeArchived} on workflow scheme {schemeId} named {schemeName}. slots: schemeId: path.schemeId schemeName: requestBody.schemeName schemeArchived: requestBody.schemeArchived method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/schemes/{schemeId}'].delete update: x-apievangelist-phrasing: intent: Delete an archived workflow scheme effect: destructive questions: - Why can't I delete a workflow scheme that is still active? - How do I permanently delete a workflow scheme? instructions: - text: Delete archived workflow scheme {schemeId}. slots: schemeId: path.schemeId - text: Permanently remove workflow scheme {schemeId}. slots: schemeId: path.schemeId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/steps/{stepId}'].get update: x-apievangelist-phrasing: intent: Get a workflow step by its ID effect: read questions: - What escalation settings does a particular workflow step have? - Can I look up a single workflow step by its identifier? instructions: - text: Show me workflow step {stepId}. slots: stepId: path.stepId - text: Fetch the details of step {stepId}, including whether it resolves the task. slots: stepId: path.stepId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/steps/{stepId}'].put update: x-apievangelist-phrasing: intent: Update an existing workflow step effect: write questions: - Can I turn on escalation for a workflow step that already exists? - How do I rename a step in my workflow? instructions: - text: Rename workflow step {stepId} to {stepName}. slots: stepId: path.stepId stepName: requestBody.stepName - text: Update step {stepId} to escalate after {escalationTime} seconds. slots: stepId: path.stepId escalationTime: requestBody.escalationTime method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/steps/{stepId}'].delete update: x-apievangelist-phrasing: intent: Delete a step from a workflow scheme effect: destructive questions: - How do I remove a step from my workflow scheme? - What do I get back after deleting a workflow step? instructions: - text: Delete workflow step {stepId}. slots: stepId: path.stepId - text: Remove step {stepId} from its workflow scheme. slots: stepId: path.stepId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/system/actions/{identifier}'].delete update: x-apievangelist-phrasing: intent: Remove a default system action mapping effect: destructive questions: - Can I unbind a default system action without deleting the workflow action behind it? - How do I remove a default action mapping like NEW or PUBLISH from a scheme? instructions: - text: Delete default system action binding {identifier}. slots: identifier: path.identifier - text: Unmap system action binding {identifier} but leave its workflow action intact. slots: identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/{actionId}/condition'].get update: x-apievangelist-phrasing: intent: Evaluate a workflow action's custom code condition effect: read questions: - What does the custom code condition on a workflow action evaluate to? - Can I see the rendered Velocity condition attached to an action? instructions: - text: Get the condition result for workflow action {actionId}. slots: actionId: path.actionId - text: Show what the custom code field on action {actionId} renders to. slots: actionId: path.actionId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/schemes/{schemeIdOrVariable}/export'].get update: x-apievangelist-phrasing: intent: Export a workflow scheme with its steps effect: read questions: - How do I export a whole workflow scheme so I can move it to another environment? - Does a scheme export include its steps, actions and permissions? instructions: - text: Export workflow scheme {schemeIdOrVariable}. slots: schemeIdOrVariable: path.schemeIdOrVariable - text: Download the full definition of scheme {schemeIdOrVariable} with steps and actions. slots: schemeIdOrVariable: path.schemeIdOrVariable method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actionlets'].get update: x-apievangelist-phrasing: intent: List all available workflow sub-actions effect: read questions: - Which workflow sub-actions are available on my dotCMS instance? - Is the list of actionlets paginated or complete? instructions: - text: List every workflow actionlet available in the system. - text: Show me all sub-actions I can attach to a workflow action. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/{actionId}/actionlets'].get update: x-apievangelist-phrasing: intent: List the sub-actions on a workflow action effect: read questions: - What sub-actions run when a particular workflow action fires? - Can I see which actionlets are attached to one action? instructions: - text: List the actionlets attached to workflow action {actionId}. slots: actionId: path.actionId - text: Show the sub-actions configured on action {actionId}. slots: actionId: path.actionId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/{actionId}/actionlets'].post update: x-apievangelist-phrasing: intent: Attach a sub-action to a workflow action effect: write questions: - How do I make a workflow action also send a notification or run another sub-action? - Can I control the order a new actionlet runs in on an action? instructions: - text: Add actionlet class {actionletClass} to workflow action {actionId}. slots: actionletClass: requestBody.actionletClass actionId: path.actionId - text: Attach sub-action {actionletClass} to action {actionId} at position {order}. slots: actionletClass: requestBody.actionletClass actionId: path.actionId order: requestBody.order method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/schemes/{schemeId}/actions'].get update: x-apievangelist-phrasing: intent: List all actions in a workflow scheme effect: read questions: - What actions are defined across a whole workflow scheme? - Can I list every action in a scheme regardless of step? instructions: - text: List all workflow actions in scheme {schemeId}. slots: schemeId: path.schemeId - text: Show every action defined in workflow scheme {schemeId}. slots: schemeId: path.schemeId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/schemes/actions/{systemAction}'].post update: x-apievangelist-phrasing: intent: Find scheme actions mapped to a system action effect: read questions: - Which actions in these schemes are mapped to the PUBLISH system action? - Can I filter workflow actions across several schemes by default system action? instructions: - text: Find actions in schemes {schemes} mapped to system action {systemAction}. slots: schemes: requestBody.schemes systemAction: path.systemAction - text: Look up which workflow actions handle {systemAction} for schemes {schemes}. slots: systemAction: path.systemAction schemes: requestBody.schemes method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/steps/{stepId}/actions'].get update: x-apievangelist-phrasing: intent: List the actions available in a workflow step effect: read questions: - What actions can a user take when content is sitting in a given step? - Can I list the buttons shown for one workflow step? instructions: - text: List the actions in workflow step {stepId}. slots: stepId: path.stepId - text: Show every action available from step {stepId}. slots: stepId: path.stepId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/steps/{stepId}/actions'].post update: x-apievangelist-phrasing: intent: Assign an existing action to a workflow step effect: write questions: - Can I reuse an existing workflow action on another step? - How do I add an action I already created to a different step? instructions: - text: Add existing action {actionId} to workflow step {stepId}. slots: actionId: requestBody.actionId stepId: path.stepId - text: Make action {actionId} available on step {stepId} too. slots: actionId: requestBody.actionId stepId: path.stepId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/schemes/schemescontenttypes/{contentTypeId}'].get update: x-apievangelist-phrasing: intent: Get the workflow schemes on one content type effect: read questions: - Which workflow schemes are assigned to a particular content type? - Can I see a content type's schemes alongside all non-archived schemes? instructions: - text: Show the workflow schemes assigned to content type {contentTypeId}. slots: contentTypeId: path.contentTypeId - text: Get the schemes for content type {contentTypeId} and the list of all active schemes. slots: contentTypeId: path.contentTypeId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/contenttypes/schemes'].get update: x-apievangelist-phrasing: intent: Get workflow schemes for several content types effect: read questions: - Can I fetch the workflow schemes for many content types in one call? - What schemes are used by each of a batch of content types? instructions: - text: Get workflow schemes grouped by content type for {contentTypeIds}. slots: contentTypeIds: query.contentTypeIds - text: 'Show which schemes each of these content types uses: {contentTypeIds}.' slots: contentTypeIds: query.contentTypeIds method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/contentlet/{inode}/actions'].get update: x-apievangelist-phrasing: intent: List actions available on a content item effect: read questions: - What workflow actions can I perform on this piece of content right now? - Why do I get an empty action list for a contentlet? instructions: - text: List the workflow actions available for content version {inode}. slots: inode: path.inode - text: Show what I can do next with contentlet inode {inode} in {renderMode} mode. slots: inode: path.inode renderMode: query.renderMode method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/defaultactions/contenttype/{contentTypeId}'].get update: x-apievangelist-phrasing: intent: List eligible default actions for a content type effect: read questions: - Which workflow actions could serve as default actions for a content type? - What default action candidates exist for my Blog content type? instructions: - text: List possible default actions for content type {contentTypeId}. slots: contentTypeId: path.contentTypeId - text: Show which actions content type {contentTypeId} can use as a default. slots: contentTypeId: path.contentTypeId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/defaultactions/schemes'].get update: x-apievangelist-phrasing: intent: List eligible default actions for schemes effect: read questions: - Which actions in these workflow schemes are eligible to be default actions? - Can I check default action candidates for more than one scheme at a time? instructions: - text: List possible default actions for workflow schemes {ids}. slots: ids: query.ids - text: Show the default-action candidates across schemes {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/initialactions/contenttype/{contentTypeId}'].get update: x-apievangelist-phrasing: intent: List first-step actions for a content type effect: read questions: - What actions are offered when someone creates new content of a given type? - Which actions belong to the first step of a content type's workflow? instructions: - text: List the initial workflow actions for content type {contentTypeId}. slots: contentTypeId: path.contentTypeId - text: Show the first-step actions available when creating {contentTypeId} content. slots: contentTypeId: path.contentTypeId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/schemes'].get update: x-apievangelist-phrasing: intent: List workflow schemes effect: read questions: - What workflow schemes exist on my dotCMS site? - Can I include archived schemes when listing workflows? instructions: - text: List all workflow schemes. - text: List workflow schemes for content type {contentTypeId}, archived included. slots: contentTypeId: query.contentTypeId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/schemes'].post update: x-apievangelist-phrasing: intent: Create a new workflow scheme effect: write questions: - How do I set up a brand-new workflow scheme from scratch? - What does a new workflow scheme need besides a name? instructions: - text: Create a workflow scheme named {schemeName}. slots: schemeName: requestBody.schemeName - text: Create a new scheme {schemeName} described as {schemeDescription}. slots: schemeName: requestBody.schemeName schemeDescription: requestBody.schemeDescription method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/schemes/{schemeId}/steps'].get update: x-apievangelist-phrasing: intent: List the steps in a workflow scheme effect: read questions: - What stages does a given workflow scheme move content through? - Can I see all steps of one scheme in order? instructions: - text: List the steps in workflow scheme {schemeId}. slots: schemeId: path.schemeId - text: Show every step defined for scheme {schemeId}. slots: schemeId: path.schemeId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/contenttypes/{contentTypeVarOrId}/system/actions'].get update: x-apievangelist-phrasing: intent: List system action mappings for a content type effect: read questions: - Which default system actions are mapped on a particular content type? - What happens on NEW or PUBLISH for content of this type? instructions: - text: List the default system action mappings for content type {contentTypeVarOrId}. slots: contentTypeVarOrId: path.contentTypeVarOrId - text: Show which workflow actions run for system actions on {contentTypeVarOrId}. slots: contentTypeVarOrId: path.contentTypeVarOrId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/schemes/{schemeId}/system/actions'].get update: x-apievangelist-phrasing: intent: List system action mappings for a scheme effect: read questions: - Which default system actions does a workflow scheme map? - Can I audit the system action bindings on one scheme? instructions: - text: List the default system action mappings for scheme {schemeId}. slots: schemeId: path.schemeId - text: Show the system action bindings configured on workflow scheme {schemeId}. slots: schemeId: path.schemeId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/firemultipart'].put update: x-apievangelist-phrasing: intent: Fire a named action with a file upload effect: write questions: - Can I run a workflow action by name while uploading a binary file for the content? - Which call fires an action by name using multipart form data? instructions: - text: Fire the named workflow action on content {identifier} and upload this file with multipart. slots: identifier: query.identifier - text: Run a workflow action by name on inode {inode} as a multipart request with a binary field. slots: inode: query.inode method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/fire'].put update: x-apievangelist-phrasing: intent: Fire a workflow action by its name effect: write questions: - Can I trigger a workflow action using its name instead of its ID? - How do I publish a contentlet by firing the Publish action by name? instructions: - text: Fire the workflow action named {actionName} on content {identifier}. slots: actionName: requestBody.actionName identifier: query.identifier - text: Run action {actionName} on inode {inode} with comment {comments}. slots: actionName: requestBody.actionName inode: query.inode comments: requestBody.comments method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/default/firemultipart/{systemAction}'].put update: x-apievangelist-phrasing: intent: Fire a default system action with a file upload effect: write questions: - Can I fire the NEW default action and upload a binary file in the same multipart request? - Which endpoint runs a system action on one contentlet using multipart form data? instructions: - text: Fire default system action {systemAction} on content {identifier} with this file as multipart. slots: systemAction: path.systemAction identifier: query.identifier - text: Create content by firing {systemAction} with a multipart binary upload. slots: systemAction: path.systemAction method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/default/fire/{systemAction}'].put update: x-apievangelist-phrasing: intent: Fire a default system action on one contentlet effect: write questions: - How do I publish a single contentlet using the PUBLISH default system action? - Can I fire a system action like EDIT on one piece of content in a specific variant? instructions: - text: Fire default system action {systemAction} on single contentlet {identifier}. slots: systemAction: path.systemAction identifier: query.identifier - text: Run {systemAction} on content {identifier} in language {language}. slots: systemAction: path.systemAction identifier: query.identifier language: query.language method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/default/fire/{systemAction}'].post update: x-apievangelist-phrasing: intent: Fire a system action over multiple contentlets effect: write questions: - Can I fire the same default system action on several contentlets at once? - What does the response look like when firing a system action on many items? instructions: - text: 'Fire default system action {systemAction} on each of these contentlets: {contentlet}.' slots: systemAction: path.systemAction contentlet: requestBody.contentlet - text: Run {systemAction} across multiple content items with comment {comments}. slots: systemAction: path.systemAction comments: requestBody.comments method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/default/fire/{systemAction}'].patch update: x-apievangelist-phrasing: intent: Set field values across many contentlets effect: write questions: - Can I change one field's value on every contentlet matching a Lucene query? - Does the merge endpoint support lock and unlock actions? instructions: - text: Set fields {contentlet} on all content matching {query} via system action {systemAction}. slots: contentlet: requestBody.contentlet query: requestBody.query systemAction: path.systemAction - text: 'Merge these field values into content {identifier} using {systemAction}: {contentlet}.' slots: identifier: query.identifier systemAction: path.systemAction contentlet: requestBody.contentlet method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/{actionId}/firemultipart'].put update: x-apievangelist-phrasing: intent: Fire an action by ID with a file upload effect: write questions: - Can I fire a workflow action by its ID and attach a binary file in multipart form? - Which endpoint uploads a file while running a specific action ID? instructions: - text: Fire action {actionId} on content {identifier} with this file as multipart. slots: actionId: path.actionId identifier: query.identifier - text: Run workflow action {actionId} as a multipart upload for inode {inode}. slots: actionId: path.actionId inode: query.inode method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions/{actionId}/fire'].put update: x-apievangelist-phrasing: intent: Fire a workflow action by its ID effect: write questions: - How do I run a specific workflow action ID on a contentlet? - Can I schedule a publish date when firing an action by ID? instructions: - text: Fire the workflow action with ID {actionId} on content {identifier}. slots: actionId: path.actionId identifier: query.identifier - text: Run action {actionId} on inode {inode} and assign it to {assign}. slots: actionId: path.actionId inode: query.inode assign: requestBody.assign method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/contentlet/actions/_bulkfire'].post update: x-apievangelist-phrasing: intent: Bulk-fire an action with streamed progress effect: write questions: - Can I run one workflow action on many items and watch progress as Server-Sent Events? - Why does bulk firing with identifiers silently do nothing when it expects inodes? instructions: - text: Fire action {workflowActionId} on content inodes {contentletIds} and stream the progress. slots: workflowActionId: requestBody.workflowActionId contentletIds: requestBody.contentletIds - text: Stream a bulk run of action {workflowActionId} over everything matching {query}. slots: workflowActionId: requestBody.workflowActionId query: requestBody.query method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/contentlet/actions/bulk/fire'].put update: x-apievangelist-phrasing: intent: Bulk-fire an action and get skipped counts effect: write questions: - Which contentlets get skipped when I bulk-fire an action their scheme doesn't own? - What does a 422 mean when firing a workflow action in bulk? instructions: - text: Fire action {workflowActionId} on {contentletIds} and report how many were skipped. slots: workflowActionId: requestBody.workflowActionId contentletIds: requestBody.contentletIds - text: Bulk-run action {workflowActionId} on content matching {query}, enforcing scheme association. slots: workflowActionId: requestBody.workflowActionId query: requestBody.query method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/contentlet/actions/bulk'].post update: x-apievangelist-phrasing: intent: Find actions available for a set of content effect: read questions: - What bulk workflow actions can I apply to a selection of content items? - Which actions are available for everything matching a Lucene query? instructions: - text: List the bulk actions available for contentlets {contentletIds}. slots: contentletIds: requestBody.contentletIds - text: Find which workflow actions I can bulk-apply to content matching {query}. slots: query: requestBody.query method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/status/{contentletInode}'].get update: x-apievangelist-phrasing: intent: Check a content item's workflow status effect: read questions: - What workflow step is a piece of content currently in? - Can I see which scheme and task a contentlet is tied to? instructions: - text: Get the workflow status of content inode {contentletInode}. slots: contentletInode: path.contentletInode - text: Show which step and scheme contentlet {contentletInode} is in. slots: contentletInode: path.contentletInode method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/system/actions/{workflowActionId}'].get update: x-apievangelist-phrasing: intent: List system actions bound to a workflow action effect: read questions: - Which default system actions point at a given workflow action? - Is this workflow action used as a default for NEW or PUBLISH anywhere? instructions: - text: List the default system actions bound to workflow action {workflowActionId}. slots: workflowActionId: path.workflowActionId - text: Show where action {workflowActionId} is mapped as a system action. slots: workflowActionId: path.workflowActionId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/tasks'].post update: x-apievangelist-phrasing: intent: Search workflow tasks effect: read questions: - What workflow tasks are assigned to me and still open? - Can I find tasks older than a certain number of days in one step? instructions: - text: Find open workflow tasks assigned to {assignedTo}. slots: assignedTo: requestBody.assignedTo - text: Search workflow tasks in step {stepId} older than {daysOld} days. slots: stepId: requestBody.stepId daysOld: requestBody.daysOld method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/tasks/history/comments/{contentletIdentifier}'].get update: x-apievangelist-phrasing: intent: Get a content item's workflow history and comments effect: read questions: - Can I see the workflow comments and history left on a piece of content? - Who moved this contentlet through the workflow and what did they say? instructions: - text: Show the workflow history and comments for content {contentletIdentifier}. slots: contentletIdentifier: path.contentletIdentifier - text: Get workflow comments on {contentletIdentifier} in language {language}. slots: contentletIdentifier: path.contentletIdentifier language: query.language method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/schemes/import'].post update: x-apievangelist-phrasing: intent: Import a workflow scheme effect: write questions: - How do I import a workflow scheme I exported from another dotCMS environment? - Can I bring in a scheme's permissions along with its definition? instructions: - text: 'Import this exported workflow scheme: {workflowObject}.' slots: workflowObject: requestBody.workflowObject - text: Import scheme {workflowObject} with permissions {permissions}. slots: workflowObject: requestBody.workflowObject permissions: requestBody.permissions method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/reorder/steps/{stepId}/actions/{actionId}'].put update: x-apievangelist-phrasing: intent: Reorder an action within a workflow step effect: write questions: - Can I change the order that action buttons appear in for a step? - How do I move a workflow action to the top of its step? instructions: - text: Move action {actionId} in step {stepId} to position {order}. slots: actionId: path.actionId stepId: path.stepId order: requestBody.order - text: Make action {actionId} the first action in step {stepId}. slots: actionId: path.actionId stepId: path.stepId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/reorder/step/{stepId}/order/{order}'].put update: x-apievangelist-phrasing: intent: Reorder a step within a workflow scheme effect: write questions: - Can I move a workflow step earlier or later in its scheme? - What decides the sequence of steps in a scheme? instructions: - text: Move workflow step {stepId} to position {order} in its scheme. slots: stepId: path.stepId order: path.order - text: Reorder step {stepId} so it comes at position {order}. slots: stepId: path.stepId order: path.order method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/actions'].post update: x-apievangelist-phrasing: intent: Create a new workflow action effect: write questions: - How do I create a new workflow action like Send for Review? - Can a new workflow action be added straight onto a step when I create it? instructions: - text: Create workflow action {actionName} in scheme {schemeId}. slots: actionName: requestBody.actionName schemeId: requestBody.schemeId - text: Create action {actionName} in scheme {schemeId} and add it to step {stepId}. slots: actionName: requestBody.actionName schemeId: requestBody.schemeId stepId: requestBody.stepId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/{contentletId}/comments'].post update: x-apievangelist-phrasing: intent: Add a workflow comment to content effect: write questions: - Can I leave a workflow comment on a contentlet without firing an action? - Where do reviewer notes on content get stored? instructions: - text: Add workflow comment {comment} to content {contentletId}. slots: comment: requestBody.comment contentletId: path.contentletId - text: Comment {comment} on the {language} version of contentlet {contentletId}. slots: comment: requestBody.comment language: query.language contentletId: path.contentletId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/workflow/system/actions'].put update: x-apievangelist-phrasing: intent: Map a workflow action to a system action effect: write questions: - How do I make my custom action run whenever content is published by default? - Can a default system action mapping be tied to a content type instead of a scheme? instructions: - text: Map system action {systemAction} to workflow action {actionId} in scheme {schemeId}. slots: systemAction: requestBody.systemAction actionId: requestBody.actionId schemeId: requestBody.schemeId - text: Bind {systemAction} to action {actionId} for content type {contentTypeVariable}. slots: systemAction: requestBody.systemAction actionId: requestBody.actionId contentTypeVariable: requestBody.contentTypeVariable method: generated generated: '2026-09-26'