# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Harness Templates API version: 1.0.0 extends: openapi/harness-templates-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['/template/api/refresh-template/refreshed-yaml'].post update: x-apievangelist-phrasing: intent: Refresh template inputs inside a YAML effect: read questions: - My pipeline YAML has stale template inputs — can Harness give me a version with them refreshed? - What does a YAML look like after its template inputs are brought up to date? instructions: - text: 'Return this YAML with its template inputs refreshed: {yaml}.' slots: yaml: requestBody.yaml - text: Refresh the template inputs in {yaml} using branch {branch}. slots: yaml: requestBody.yaml branch: query.branch method: generated generated: '2026-09-26' - target: $.paths['/template/api/refresh-template/validate-template-inputs'].get update: x-apievangelist-phrasing: intent: Validate the inputs of a template version effect: read questions: - Are the template inputs in my pipeline still valid for this template version? - Can I get an error summary when a template's inputs no longer line up? instructions: - text: Validate the template inputs for template {templateIdentifier} version {versionLabel}. slots: templateIdentifier: query.templateIdentifier versionLabel: query.versionLabel - text: Check whether version {versionLabel} of template {templateIdentifier} has invalid inputs on branch {branch}. slots: versionLabel: query.versionLabel templateIdentifier: query.templateIdentifier branch: query.branch method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/v2/applyTemplates'].post update: x-apievangelist-phrasing: intent: Resolve all template references in a YAML effect: read questions: - How can I see a pipeline's full YAML with every template reference expanded? - Can I get the merged YAML of an entity with its templateRefs resolved inline? instructions: - text: 'Expand every template reference in this YAML: {originalEntityYaml}.' slots: originalEntityYaml: requestBody.originalEntityYaml - text: Resolve the templates in {originalEntityYaml} from branch {branch} and give me the complete YAML. slots: originalEntityYaml: requestBody.originalEntityYaml branch: query.branch method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates'].post update: x-apievangelist-phrasing: intent: Create a pipeline template effect: write questions: - How do I create a new reusable template in Harness? - Can a new template be stored in a Git repo instead of inline? instructions: - text: Create a new template labelled {label} in project {projectIdentifier}. slots: label: query.label projectIdentifier: query.projectIdentifier - text: Create a template stored remotely in repo {repoName} at {filePath} on branch {branch}. slots: repoName: query.repoName filePath: query.filePath branch: query.branch method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/{templateIdentifier}/{versionLabel}'].delete update: x-apievangelist-phrasing: intent: Delete a version of a template effect: destructive questions: - Can I delete one version of a template while keeping the others? - Is there a force option when a template version is still referenced? instructions: - text: Delete version {versionLabel} of template {templateIdentifier}. slots: versionLabel: path.versionLabel templateIdentifier: path.templateIdentifier - text: Force-delete template {templateIdentifier} version {versionLabel} even if it is in use ({forceDelete}). slots: templateIdentifier: path.templateIdentifier versionLabel: path.versionLabel forceDelete: query.forceDelete method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/{templateIdentifier}'].get update: x-apievangelist-phrasing: intent: Get a template effect: read questions: - Where can I view the YAML of a template and its current stable version? - Can I retrieve a specific version of a template by its label? instructions: - text: Get template {templateIdentifier}. slots: templateIdentifier: path.templateIdentifier - text: Show version {versionLabel} of template {templateIdentifier}. slots: versionLabel: query.versionLabel templateIdentifier: path.templateIdentifier method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/templateInputs/{templateIdentifier}'].get update: x-apievangelist-phrasing: intent: Get the runtime inputs YAML of a template effect: read questions: - Which runtime inputs does a template expect when I use it? - What input set YAML does a given template version generate? instructions: - text: Show the input set YAML for template {templateIdentifier}. slots: templateIdentifier: path.templateIdentifier - text: Get the runtime inputs of template {templateIdentifier} at version {versionLabel}. slots: templateIdentifier: path.templateIdentifier versionLabel: query.versionLabel method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/{templateIdentifier}/labels'].get update: x-apievangelist-phrasing: intent: List custom labels on template versions effect: read questions: - What custom labels are attached to each version of a template? - Can I see the labels on just one template version? instructions: - text: List the custom labels on every version of template {templateIdentifier}. slots: templateIdentifier: path.templateIdentifier - text: Show the labels on template {templateIdentifier} version {versionLabel}. slots: templateIdentifier: path.templateIdentifier versionLabel: query.versionLabel method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/entitySetupUsage/{templateIdentifier}'].get update: x-apievangelist-phrasing: intent: Find entities that use a template effect: read questions: - Which pipelines and other entities reference this template? - Before changing a template, how can I check where it's being used? instructions: - text: List everything that references template {templateIdentifier}. slots: templateIdentifier: path.templateIdentifier - text: Show which entities use version {versionLabel} of template {templateIdentifier}. slots: versionLabel: query.versionLabel templateIdentifier: path.templateIdentifier method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/list-metadata'].post update: x-apievangelist-phrasing: intent: Browse and filter the template list effect: read questions: - What templates are available in my project, and can I filter them by type or tag? - Can I list only the stable versions of templates at this scope? instructions: - text: List {templateListType} templates matching {searchTerm}, using filter type {filterType}. slots: templateListType: query.templateListType searchTerm: query.searchTerm filterType: requestBody.filterType - text: Show {templateListType} templates of entity types {templateEntityTypes} with filter type {filterType}. slots: templateListType: query.templateListType templateEntityTypes: requestBody.templateEntityTypes filterType: requestBody.filterType method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/move-config/{templateIdentifier}'].post update: x-apievangelist-phrasing: intent: Move a template between inline and Git effect: write questions: - Can I move a template stored inline in Harness into a Git repository? - What details are needed to convert an inline template to remote storage? instructions: - text: Move template {templateIdentifier} version {versionLabel} to repo {repoName} at {filePath}. slots: templateIdentifier: path.templateIdentifier versionLabel: query.versionLabel repoName: query.repoName filePath: query.filePath - text: Change the storage of template {templateIdentifier} {versionLabel} using move type {moveConfigType}. slots: templateIdentifier: path.templateIdentifier versionLabel: query.versionLabel moveConfigType: query.moveConfigType method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/refresh-and-get/{templateIdentifier}'].get update: x-apievangelist-phrasing: intent: Refetch a remote template from Git effect: read questions: - My remote template changed in Git — how do I bypass the cache and fetch it fresh? - Does refreshing a remote template require naming the branch? instructions: - text: Refresh the Git cache and fetch template {templateIdentifier} from branch {branch}. slots: templateIdentifier: path.templateIdentifier branch: query.branch - text: Pull the latest copy of remote template {templateIdentifier} version {versionLabel} from {branch}. slots: templateIdentifier: path.templateIdentifier versionLabel: query.versionLabel branch: query.branch method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/{templateIdentifier}/labels/replace'].post update: x-apievangelist-phrasing: intent: Replace labels on a template version effect: write questions: - Can I overwrite the custom labels on a single template version? - What happens if I send an invalid label to a template version? instructions: - text: Replace the labels on template {templateIdentifier} version {versionLabel} with {labels}. slots: templateIdentifier: path.templateIdentifier versionLabel: requestBody.versionLabel labels: requestBody.labels - text: Set labels {labels} on version {versionLabel} of {templateIdentifier}, removing any others. slots: labels: requestBody.labels versionLabel: requestBody.versionLabel templateIdentifier: path.templateIdentifier method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/update/{templateIdentifier}/{versionLabel}'].put update: x-apievangelist-phrasing: intent: Update an existing template version effect: write questions: - How do I save changes to a version of a template I already created? - Can I commit a template version update to a new Git branch? instructions: - text: Update template {templateIdentifier} version {versionLabel} with my changes. slots: templateIdentifier: path.templateIdentifier versionLabel: path.versionLabel - text: Save edits to {templateIdentifier} {versionLabel} with commit message {commitMsg} on branch {branch}. slots: templateIdentifier: path.templateIdentifier versionLabel: path.versionLabel commitMsg: query.commitMsg branch: query.branch method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/update/git-metadata/{templateIdentifier}/{versionLabel}'].post update: x-apievangelist-phrasing: intent: Change Git location of a remote template effect: write questions: - The Git repo for my remote template moved — can I update where Harness looks for it? - Can I change the file path or connector a remote template is read from? instructions: - text: Point template {templateIdentifier} version {versionLabel} at file {filePath} in repo {repoName}. slots: templateIdentifier: path.templateIdentifier versionLabel: path.versionLabel filePath: requestBody.filePath repoName: requestBody.repoName - text: Update the Git connector for remote template {templateIdentifier} {versionLabel} to {connectorRef}. slots: templateIdentifier: path.templateIdentifier versionLabel: path.versionLabel connectorRef: requestBody.connectorRef method: generated generated: '2026-09-26' - target: $.paths['/template/api/templates/updateStableTemplate/{templateIdentifier}/{versionLabel}'].put update: x-apievangelist-phrasing: intent: Mark a template version as stable effect: write questions: - Which template version do pipelines get by default, and can I change it? - How can I promote a newer template version to be the stable one? instructions: - text: Make version {versionLabel} the stable version of template {templateIdentifier}. slots: versionLabel: path.versionLabel templateIdentifier: path.templateIdentifier - text: Promote {templateIdentifier} {versionLabel} to stable with comment {comments}. slots: templateIdentifier: path.templateIdentifier versionLabel: path.versionLabel comments: query.comments method: generated generated: '2026-09-26'