# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Harness NG SLOs API version: 1.0.0 extends: openapi/harness-ng-slos-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: 7 - target: $.paths['/cv/api/account/{accountIdentifier}/org/{orgIdentifier}/project/{projectIdentifier}/slo/v2/identifier/{identifier}'].get update: x-apievangelist-phrasing: intent: Get an SLO's configuration effect: read questions: - What target and spec is defined on a particular SLO? - Can I fetch one service level objective by its identifier? instructions: - text: Get SLO {identifier} in {accountIdentifier}/{orgIdentifier}/{projectIdentifier}. slots: accountIdentifier: path.accountIdentifier orgIdentifier: path.orgIdentifier projectIdentifier: path.projectIdentifier identifier: path.identifier - text: Show the definition of SLO {identifier}. slots: identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/cv/api/account/{accountIdentifier}/org/{orgIdentifier}/project/{projectIdentifier}/slo/v2/identifier/{identifier}'].put update: x-apievangelist-phrasing: intent: Update an SLO effect: write questions: - How do I change the target on an existing SLO? - Can I update which user journeys an SLO is tied to? instructions: - text: Update SLO {identifier} in {accountIdentifier}/{orgIdentifier}/{projectIdentifier} with target {sloTarget}. slots: accountIdentifier: path.accountIdentifier orgIdentifier: path.orgIdentifier projectIdentifier: path.projectIdentifier identifier: path.identifier sloTarget: requestBody.sloTarget - text: Rename SLO {identifier} to {name}. slots: identifier: path.identifier name: requestBody.name method: generated generated: '2026-09-26' - target: $.paths['/cv/api/account/{accountIdentifier}/org/{orgIdentifier}/project/{projectIdentifier}/slo/v2/identifier/{identifier}'].delete update: x-apievangelist-phrasing: intent: Delete an SLO effect: destructive questions: - How do I delete a service level objective? - Is deleting an SLO permanent? instructions: - text: Delete SLO {identifier} in {accountIdentifier}/{orgIdentifier}/{projectIdentifier}. slots: accountIdentifier: path.accountIdentifier orgIdentifier: path.orgIdentifier projectIdentifier: path.projectIdentifier identifier: path.identifier - text: Remove SLO {identifier}. slots: identifier: path.identifier method: generated generated: '2026-09-26' - target: $.paths['/cv/api/account/{accountIdentifier}/org/{orgIdentifier}/project/{projectIdentifier}/slo/v2/composite-slo/onboarding-graph'].post update: x-apievangelist-phrasing: intent: Preview the onboarding graph for a composite SLO effect: read questions: - What will a composite SLO look like before I save it? - Can I preview the combined graph of the SLOs in a composite SLO? instructions: - text: Preview the composite SLO graph in {accountIdentifier}/{orgIdentifier}/{projectIdentifier} for SLOs {serviceLevelObjectivesDetails}. slots: accountIdentifier: path.accountIdentifier orgIdentifier: path.orgIdentifier projectIdentifier: path.projectIdentifier serviceLevelObjectivesDetails: requestBody.serviceLevelObjectivesDetails - text: Show the onboarding graph for a {type} composite SLO using formula {sloFormulaType}. slots: type: requestBody.type sloFormulaType: requestBody.sloFormulaType method: generated generated: '2026-09-26' - target: $.paths['/cv/api/account/{accountIdentifier}/org/{orgIdentifier}/project/{projectIdentifier}/slo/v2/status-list'].post update: x-apievangelist-phrasing: intent: Get the SLO health list view effect: read questions: - Which SLOs are at risk of exhausting their error budget? - Can I see SLO health for one monitored service or environment? instructions: - text: Show SLO health in {accountIdentifier}/{orgIdentifier}/{projectIdentifier}. slots: accountIdentifier: path.accountIdentifier orgIdentifier: path.orgIdentifier projectIdentifier: path.projectIdentifier - text: Show the health of SLOs for monitored service {monitoredServiceIdentifier} with error budget risks {errorBudgetRisks}. slots: monitoredServiceIdentifier: requestBody.monitoredServiceIdentifier errorBudgetRisks: requestBody.errorBudgetRisks method: generated generated: '2026-09-26' - target: $.paths['/cv/api/account/{accountIdentifier}/org/{orgIdentifier}/project/{projectIdentifier}/slo/v2'].get update: x-apievangelist-phrasing: intent: List all SLOs in a project effect: read questions: - What SLOs are defined in my project? - Can I list SLOs filtered by user journey? instructions: - text: List SLOs in {accountIdentifier}/{orgIdentifier}/{projectIdentifier}, page {offset} of size {pageSize}. slots: accountIdentifier: path.accountIdentifier orgIdentifier: path.orgIdentifier projectIdentifier: path.projectIdentifier offset: query.offset pageSize: query.pageSize - text: List SLOs for user journeys {userJourneys}, page {offset} size {pageSize}. slots: userJourneys: query.userJourneys offset: query.offset pageSize: query.pageSize method: generated generated: '2026-09-26' - target: $.paths['/cv/api/account/{accountIdentifier}/org/{orgIdentifier}/project/{projectIdentifier}/slo/v2'].post update: x-apievangelist-phrasing: intent: Create an SLO effect: write questions: - How do I create a new service level objective? - What fields are required when saving a new SLO? instructions: - text: Create SLO {identifier} named {name} in {accountIdentifier}/{orgIdentifier}/{projectIdentifier} with target {sloTarget} and spec {spec}. slots: accountIdentifier: path.accountIdentifier orgIdentifier: path.orgIdentifier projectIdentifier: path.projectIdentifier identifier: requestBody.identifier name: requestBody.name sloTarget: requestBody.sloTarget spec: requestBody.spec - text: Save a new SLO called {name} for user journeys {userJourneyRefs}. slots: name: requestBody.name userJourneyRefs: requestBody.userJourneyRefs method: generated generated: '2026-09-26'