openapi: 3.2.0 info: title: Harness Change Authoring API version: '1.0' description: The Harness Software Delivery Platform uses OpenAPI Specification v3.0. contact: name: API Support email: contact@harness.io url: https://harness.io/ x-logo: url: https://mma.prnewswire.com/media/779232/Harnes_logo_horizontal.jpg?p=facebook altText: Harness termsOfService: https://harness.io/terms-of-use/ servers: - url: https://app.harness.io description: Harness host URL - url: https://{vanity} description: Vanity URL variables: vanity: default: app.harness.io security: - x-api-key: [] tags: - name: Change Authoring paths: /v1/orgs/{org}/projects/{project}/change-authoring-event: parameters: - $ref: '#/components/parameters/OrgParam' - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/DbOpsAccountHeader' post: description: Receives pipeline execution events from the UI when a user successfully executes a pipeline from the LLM Change Authoring chat interaction operationId: V1CreateChangeAuthoringEvent requestBody: $ref: '#/components/requestBodies/ChangeAuthoringEventRequest' responses: '201': $ref: '#/components/responses/ChangeAuthoringEventResponse' '400': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' summary: Create change authoring execution event tags: - Change Authoring x-internal: true /v1/orgs/{org}/projects/{project}/dbschema/{dbschema}/changesets/existence: parameters: - $ref: '#/components/parameters/OrgParam' - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/DBSchemaParam' - $ref: '#/components/parameters/DbOpsAccountHeader' post: description: 'Returns a map of Liquibase changeset ids to whether each id is already known for the schema in the Harness changeset catalog. Matching is by changeset id only; fileName and author are not considered.' operationId: V1CheckChangesetExistence requestBody: $ref: '#/components/requestBodies/ChangeSetExistenceRequest' responses: '200': $ref: '#/components/responses/ChangeSetExistenceResponse' '400': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' summary: Check changeset existence for a schema tags: - Change Authoring x-internal: true /v1/orgs/{org}/projects/{project}/llm-authoring/execute-pipeline: parameters: - $ref: '#/components/parameters/OrgParam' - $ref: '#/components/parameters/ProjectParam' - $ref: '#/components/parameters/DbOpsAccountHeader' post: description: 'Triggers a pipeline-service dynamic execution for the LLM change-authoring chat experience and persists a billable ChangeAuthoringExecutionEvent in one transactional unit. Provide exactly one of `pipelineIdentifier` (custom branch) or `useDefaultPipeline` (default-pipeline branch — server performs get-or-create). See the LlmAuthoringExecutionService interface doc for the full idempotency contract.' operationId: V1ExecuteLlmAuthoringPipeline requestBody: $ref: '#/components/requestBodies/ExecuteLlmAuthoringPipelineRequest' responses: '200': $ref: '#/components/responses/ExecuteLlmAuthoringPipelineResponse' '400': $ref: '#/components/responses/ErrorResponse' '403': $ref: '#/components/responses/ErrorResponse' '404': $ref: '#/components/responses/ErrorResponse' '500': $ref: '#/components/responses/ErrorResponse' '503': $ref: '#/components/responses/ErrorResponse' summary: Execute an LLM-authoring validate-and-preview pipeline tags: - Change Authoring x-internal: true components: responses: ErrorResponse: content: application/json: schema: $ref: '#/components/schemas/DbOpsError' description: Error Response body ExecuteLlmAuthoringPipelineResponse: content: application/json: schema: $ref: '#/components/schemas/ExecuteLlmAuthoringPipelineResponseBody' description: Pipeline execution triggered and event persisted. ChangeAuthoringEventResponse: description: Change authoring execution event created successfully ChangeSetExistenceResponse: content: application/json: schema: $ref: '#/components/schemas/ChangeSetExistenceOut' description: Response body for changeset existence check schemas: ChangeSetExistenceOut: properties: existence: additionalProperties: type: boolean description: Map of changeset id to whether it already exists for the schema type: object required: - existence title: ChangeSetExistenceOut type: object ChangeAuthoringEventIn: description: Request body for creating a change authoring execution event properties: conversationId: description: Unique chat conversation ID from the LLM change authoring interaction type: string x-oapi-codegen-extra-tags: validate: required pipelineExecutionId: description: Unique pipeline execution ID type: string x-oapi-codegen-extra-tags: validate: required pipelineIdentifier: description: Pipeline identifier that was executed type: string x-oapi-codegen-extra-tags: validate: required schemaIdentifier: description: Database schema identifier type: string x-oapi-codegen-extra-tags: validate: required required: - schemaIdentifier - conversationId - pipelineIdentifier - pipelineExecutionId title: Change Authoring Event Request type: object ChangeSetIdInput: properties: id: description: Liquibase changeset id (identifier only; fileName and author are ignored) minLength: 1 type: string required: - id title: ChangeSetIdInput type: object ChangeSetExistenceIn: properties: changeSets: items: $ref: '#/components/schemas/ChangeSetIdInput' maxItems: 100 minItems: 1 type: array required: - changeSets title: ChangeSetExistenceIn type: object ExecuteLlmAuthoringPipelineRequestBody: properties: changeset: description: Liquibase YAML changeset body to validate-and-preview. minLength: 1 type: string conversationId: description: 'Idempotency key — the chat conversation id. Same value across retries within one chat session. ' minLength: 1 type: string instanceId: description: DBOps instance identifier. minLength: 1 type: string pipelineIdentifier: description: 'Custom-pipeline branch — identifier read from the NG setting `dbops_llm_authoring_pipeline_id`. Mutually exclusive with `useDefaultPipeline`. ' type: string runtimeInputs: additionalProperties: type: string description: 'Custom runtime inputs collected from the user via AskUserQuestion. Reserved keys (schemaId, instanceId, changeset, connectorRef) are rejected by the server. Only meaningful in the custom-pipeline branch. ' type: object schemaId: description: DBOps schema identifier. minLength: 1 type: string useDefaultPipeline: description: 'Default-pipeline branch — when true, the server performs get-or-create of the canonical default validate-and-preview pipeline. Mutually exclusive with `pipelineIdentifier`. ' type: boolean required: - conversationId - schemaId - instanceId - changeset type: object DbOpsError: description: Error Response properties: message: description: error message detail type: string required: - message title: Error Response type: object x-stoplight: id: 61cwtgnps2mpt ExecuteLlmAuthoringPipelineResponseBody: properties: executionId: description: Pipeline execution id returned by pipeline-service. type: string openInHarness: description: Deep link to the live execution in the Harness UI. type: string pipelineIdentifier: description: 'Identifier of the pipeline that was actually executed (the value of the `pipelineIdentifier` request field, or the default identifier when `useDefaultPipeline=true`). ' type: string required: - executionId - pipelineIdentifier type: object parameters: DBSchemaParam: description: Identifier of the database schema in: path name: dbschema required: true schema: maxLength: 128 type: string DbOpsAccountHeader: description: Identifier field of the account the resource is scoped to. This is required for Authorization methods other than the x-api-key header. If you are using the x-api-key header, this can be skipped. in: header name: Harness-Account schema: type: string OrgParam: description: Organization identifier in: path name: org required: true schema: type: string ProjectParam: description: Project identifier in: path name: project required: true schema: type: string requestBodies: ExecuteLlmAuthoringPipelineRequest: content: application/json: schema: $ref: '#/components/schemas/ExecuteLlmAuthoringPipelineRequestBody' description: Request body for v1-execute-llm-authoring-pipeline required: true ChangeSetExistenceRequest: content: application/json: schema: $ref: '#/components/schemas/ChangeSetExistenceIn' description: Request body for checking changeset existence for a schema required: true ChangeAuthoringEventRequest: content: application/json: schema: $ref: '#/components/schemas/ChangeAuthoringEventIn' description: Request body for creating a change authoring execution event required: true securitySchemes: x-api-key: name: x-api-key type: apiKey in: header description: API key is a token provided while making the API calls. This is used to authenticate the client at the exposed endpoint. externalDocs: description: Find out more about Swagger url: http://swagger.io x-stoplight: id: oc91t4vrfnjyi x-tagGroups: - name: Organizations tags: - Organization - name: Projects tags: - Org Project - Project - name: Secrets tags: - Account Secret - Org Secret - Project Secret - Secrets - name: Connectors tags: - Account Connector - Org Connector - Project Connector - Connectors - GoogleSecretManagerConnector - name: Roles tags: - Account Roles - Organization Roles - Project Roles - Roles - name: Resource Groups tags: - Account Resource Groups - Organization Resource Groups - Project Resource Groups - Filter Resource Groups - Harness Resource Group - Zendesk - name: Role Assignments tags: - Account Role Assignments - Org Role Assignments - Project Role Assignments - Role Assignments - name: Platform tags: - Access Control List - Account Banner - Account Banner - Account Licensed Modules - Account License Type - Account Webhooks - AccountSetting - Accounts - Analyze Account Access Policy - Analyze Organization Access Policy - Analyze Project Access Policy - ApiKey - Audit - AuditFilters - Authentication Settings - Canny - Devops Essentials License Data By Account - EULA - Filter - Harness Resource Type - Invite - IP Allowlist - Nextgen Ldap - Notification Channels - Notification Rules - OIDC - Oidc-Access-Token - Oidc-ID-Token - Org Webhooks - Permissions - Project Webhooks - Secret Managers - Service Account - Setting - SMTP - Source Code Manager - Token - User - User Group - Variables - name: Delegate tags: - Agent mTLS Endpoint Management - Delegate Download Resource - Delegate Group Tags Resource - Delegate Setup Resource - Delegate Token Resource - name: Pipelines tags: - Pipelines - Input Sets - Approvals - Pipeline Execution - Pipeline Dashboard - Pipeline Input Set - Pipeline - Pipeline Execution Details - Pipeline Execute - Pipeline Refresh - Pipeline data retention - Triggers - TriggersEvents - Webhook Triggers - Webhook Event Handler - DryRunPipeline - name: Artifact Registry tags: - Registries - Artifacts - Docker Artifacts - Helm Artifacts - quarantine - Webhooks - Spaces - Replication - Registry V3 - Registries - Registry V3 - Packages - Registry V3 - Versions - Registry V3 - Files - Registry V3 - Metadata - Registry V3 - Firewall - Registry V3 - Transfer - name: Database DevOps tags: - Database Schema - Database Instance - Deployed State - Execution Config - Migration State - name: CD tags: - K8s Release Service Mapping - CustomDeployment - Environments - EnvironmentGroup - Infrastructures - Usage - File Store - Service Dashboard - ServiceOverrides - Rollback - tas - name: Deployment Freeze tags: - Freeze CRUD - Freeze Evaluation - Freeze Schema - name: Services tags: - Account Services - Org Services - Project Services - Services - name: Rancher Infrastructures tags: - Account Rancher Infrastructure - Org Rancher Infrastructure - Project Rancher Infrastructure - name: Templates tags: - Account Template - Org Template - Project Template - Templates - Global Templates - name: GitOps tags: - Agents - Application - Applications - Certificates - Clusters - Dashboard Aggregates - Dashboards - GnuPGP Keys - GPG Keys - Hosts - Project mappings - Projects - Reconciler - Repositories - Repository Certificates - Repository credentials - ValidateHost - name: GitX tags: - GitX Webhooks - Org Gitx Webhooks - Project Gitx Webhooks - name: CACM tags: - Anomalies Ignorelist Rule - Anomalies - BI Dashboards - Budgets - Budget Groups - Cost Categories - Cloud Accounts - K8S Connectors Metadata - Notification Settings v2 - Overview - Data Job Status - Recommendation cost settings - Unit Metric - Anomaly Comments - Cloud and AI cost anomaly details - Cloud and AI cost anomalies v2 - Cost Details - Currency Preferences - External Data Provider - AiEngine - CACM governance cost settings - Governance Enforcement Recommendation APIs - Governance Alert - Governance Overview - Governance Recommendation APIs - RuleEnforcement - Rule Executions - Rule - Rule Sets - Perspectives Folders - Perspective Reports - Perspectives - Cost Category Jira Project Mapping - Recommendations Details - Recommendations - Recommendation Jira - Recommendation Preferences - Recommendation Presets - Recommendation Servicenow - Recommendation Tags - Recommendation Ignore List - AutoStopping Rules - AutoStopping Rules V2 - AutoStopping Load Balancers - AutoStopping Fixed Schedules - AutoStopping Alerts - Commitment Orchestrator Events APIs - name: Feature Flags tags: - API Keys - Feature Flags - Targets - Target Groups - Environment Perspectives - Anomalies - Proxy - Tags - name: SRM tags: - Monitored Services - SLOs dashboard - NG SLOs - SLOs - Downtime - Srm Notification - name: Internal Developer Portal - IDP tags: - Entities - Teams - CatalogCustomProperties - Scores - DataSource - KubernetesDataPoints - AggregationRules - AppConfig - PluginInfo - LayoutProxy - Kinds - LayoutsV3 - LayoutsV4 - name: Environment Management - IDP tags: - Environment - Infrastructure - Instance - name: Custom Dashboards tags: - aida - dashboards - downloads - embed - folders - name: Policy Management tags: - dashboard - examples - policies - evaluate - evaluations - policysets - system - name: Code tags: - repository - status_checks - pullreq - upload - webhook - resource - rules - labels - name: IaCM tags: - usage - approvals - costs - executions - module-registry - workspaces - settings - tf-standard-backend - variables - name: STO tags: - Exemptions - Issues - Scans - Products - Test Targets - Target Variants - name: SEI tags: - Collection categories - Collections - Contributors - DORA - name: Git Sync (deprecated) tags: - Git Branches - Git Full Sync - Git Sync Settings - Git Sync - Git Sync Errors - name: Error Models tags: - Error Response - Governance Metadata - name: Supply Chain Security tags: - integration - PipelineInfraConfig - SBOM - Integration Step Config - Delete Step Config - Delete Repositories - Pipeline Store Config - Evidence Vault [Beta] - name: Release Management tags: - Release Groups - Releases - Orchestration Processes - Orchestration Activities - Orchestration Executions - Conflicts - Freeze - Reports - Uploads - name: Resilience Testing tags: - Actions - Action Templates - Chaos Components - Chaos Hubs - ChaosGuard Conditions - ChaosGuard Rules - DR Tests - Experiments - Experiment Templates - Faults - Fault Templates - Chaos Infrastructure - Health - Network Maps - Onboarding - Probes - Probe Templates - Chaos Recommendations - Risks