# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Kibana Slo API version: 1.0.0 extends: openapi/elk-stack-slo-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: 15 - target: $.paths['/s/{spaceId}/api/observability/slos'].get update: x-apievangelist-phrasing: intent: List and search SLOs effect: read questions: - Which service level objectives are defined in my Kibana space? - Can I filter SLOs with a KQL query and hide stale ones? - How do I page through SLOs sorted by status or error budget? instructions: - text: List the SLOs in space {spaceId}. slots: spaceId: path.spaceId - text: Find SLOs in space {spaceId} matching {kqlQuery}. slots: spaceId: path.spaceId kqlQuery: query.kqlQuery - text: Show page {page} of SLOs in {spaceId} sorted by {sortBy}. slots: page: query.page spaceId: path.spaceId sortBy: query.sortBy method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos'].post update: x-apievangelist-phrasing: intent: Create a service level objective effect: write questions: - How do I define a new SLO with a target and time window? - Can I choose occurrences or timeslices as the budgeting method for a new SLO? instructions: - text: 'Create SLO {name} in {spaceId}: {description}; indicator {indicator}, target {objective}, window {timeWindow}, {budgetingMethod} budgeting.' slots: name: requestBody.name spaceId: path.spaceId indicator: requestBody.indicator objective: requestBody.objective timeWindow: requestBody.timeWindow budgetingMethod: requestBody.budgetingMethod description: requestBody.description - text: 'Set up a new {name} objective in {spaceId} grouped by {groupBy}: {description}, {indicator}, target {objective}, {timeWindow}, {budgetingMethod}.' slots: name: requestBody.name spaceId: path.spaceId groupBy: requestBody.groupBy description: requestBody.description indicator: requestBody.indicator objective: requestBody.objective timeWindow: requestBody.timeWindow budgetingMethod: requestBody.budgetingMethod method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos/_bulk_delete'].post update: x-apievangelist-phrasing: intent: Bulk delete SLO definitions effect: destructive questions: - How do I delete many SLOs and their summary and rollup data at once? - Does bulk SLO deletion run as a background task I can track? instructions: - text: Bulk delete SLOs {list} in space {spaceId}. slots: list: requestBody.list spaceId: path.spaceId - text: Start a background deletion of the SLO definitions {list} from {spaceId}. slots: list: requestBody.list spaceId: path.spaceId method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos/_bulk_delete/{taskId}'].get update: x-apievangelist-phrasing: intent: Check the status of a bulk SLO deletion effect: read questions: - Has my bulk SLO deletion finished yet? - What were the results of a bulk delete task for SLOs? instructions: - text: Check bulk delete task {taskId} in space {spaceId}. slots: taskId: path.taskId spaceId: path.spaceId - text: Tell me whether SLO deletion task {taskId} in {spaceId} is complete. slots: taskId: path.taskId spaceId: path.spaceId method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos/_bulk_purge_rollup'].post update: x-apievangelist-phrasing: intent: Purge SLO rollup and summary data effect: destructive questions: - Can I purge old rollup data for SLOs while keeping the definitions? - What purge policy options exist when clearing SLO rollup data? instructions: - text: Purge rollup data for SLOs {list} in {spaceId} using purge policy {purgePolicy}. slots: list: requestBody.list spaceId: path.spaceId purgePolicy: requestBody.purgePolicy - text: Clear the rollup and summary history of SLOs {list} in space {spaceId} per {purgePolicy}. slots: list: requestBody.list spaceId: path.spaceId purgePolicy: requestBody.purgePolicy method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos/_bulk_snapshot'].post update: x-apievangelist-phrasing: intent: Compute summaries for many SLO instances at once effect: read questions: - How do I get the status of up to 100 SLO instances as of a past moment? - Can I compute several SLO summaries in a single synchronous request? instructions: - text: Compute SLO summaries for {requests} in {spaceId} at {at}. slots: requests: requestBody.requests spaceId: path.spaceId at: requestBody.at - text: Batch snapshot these SLO instances {requests} as of {at} in space {spaceId}. slots: requests: requestBody.requests at: requestBody.at spaceId: path.spaceId method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos/_delete_instances'].post update: x-apievangelist-phrasing: intent: Delete data for specific SLO instances effect: destructive questions: - How do I remove the rollup and summary data for particular SLO instance IDs? - Can I delete one grouped instance of an SLO without deleting the SLO? instructions: - text: Delete the SLO instances {list} in space {spaceId}. slots: list: requestBody.list spaceId: path.spaceId - text: Remove summary data for these sloId and instanceId pairs {list} in {spaceId}. slots: list: requestBody.list spaceId: path.spaceId method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos/{sloId}'].get update: x-apievangelist-phrasing: intent: Get an SLO effect: read questions: - Where do I fetch one SLO's definition and current status? - Can I get a single instance of a grouped SLO? instructions: - text: Get SLO {sloId} in space {spaceId}. slots: sloId: path.sloId spaceId: path.spaceId - text: Show instance {instanceId} of SLO {sloId} in {spaceId}. slots: instanceId: query.instanceId sloId: path.sloId spaceId: path.spaceId method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos/{sloId}'].put update: x-apievangelist-phrasing: intent: Update an SLO effect: write questions: - Can I change the target objective of an existing SLO? - How do I edit an SLO's name, tags or time window? instructions: - text: Update SLO {sloId} in {spaceId} to objective {objective}. slots: sloId: path.sloId spaceId: path.spaceId objective: requestBody.objective - text: Rename existing SLO {sloId} in space {spaceId} to {name}. slots: sloId: path.sloId spaceId: path.spaceId name: requestBody.name - text: Change the time window of SLO {sloId} in {spaceId} to {timeWindow}. slots: sloId: path.sloId spaceId: path.spaceId timeWindow: requestBody.timeWindow method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos/{sloId}'].delete update: x-apievangelist-phrasing: intent: Delete an SLO effect: destructive questions: - How do I delete a single SLO I no longer need? - Can I remove one service level objective by its ID? instructions: - text: Delete SLO {sloId} in space {spaceId}. slots: sloId: path.sloId spaceId: path.spaceId - text: Remove the objective {sloId} from {spaceId}. slots: sloId: path.sloId spaceId: path.spaceId method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos/{sloId}/_reset'].post update: x-apievangelist-phrasing: intent: Reset an SLO effect: write questions: - How do I reset an SLO so it recalculates from scratch? - Can I restart an SLO's computed data after changing its source? instructions: - text: Reset SLO {sloId} in space {spaceId}. slots: sloId: path.sloId spaceId: path.spaceId - text: Recompute objective {sloId} in {spaceId} from the beginning. slots: sloId: path.sloId spaceId: path.spaceId method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos/{sloId}/_snapshot'].get update: x-apievangelist-phrasing: intent: Compute one SLO's summary at a point in time effect: read questions: - What was an SLO's status and error budget at a specific time? - Can I see all instances of one SLO as of a past timestamp? instructions: - text: Compute the summary of SLO {sloId} in {spaceId} at {at}. slots: sloId: path.sloId spaceId: path.spaceId at: query.at - text: Show instance {instanceId} of SLO {sloId} in space {spaceId} as it stood at {at}. slots: instanceId: query.instanceId sloId: path.sloId spaceId: path.spaceId at: query.at method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos/{sloId}/disable'].post update: x-apievangelist-phrasing: intent: Disable an SLO effect: write questions: - How do I pause an SLO without deleting it? - Can I stop an SLO from being computed temporarily? instructions: - text: Disable SLO {sloId} in space {spaceId}. slots: sloId: path.sloId spaceId: path.spaceId - text: Pause objective {sloId} in {spaceId}. slots: sloId: path.sloId spaceId: path.spaceId method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/api/observability/slos/{sloId}/enable'].post update: x-apievangelist-phrasing: intent: Enable an SLO effect: write questions: - How do I turn a disabled SLO back on? - Can I resume computing an SLO I paused? instructions: - text: Enable SLO {sloId} in space {spaceId}. slots: sloId: path.sloId spaceId: path.spaceId - text: Resume the paused objective {sloId} in {spaceId}. slots: sloId: path.sloId spaceId: path.spaceId method: generated generated: '2026-09-26' - target: $.paths['/s/{spaceId}/internal/observability/slos/_definitions'].get update: x-apievangelist-phrasing: intent: List SLO definitions with health effect: read questions: - Which SLO definitions are outdated and need upgrading? - Can I list SLO definitions along with their health status? instructions: - text: Get the SLO definitions in space {spaceId}. slots: spaceId: path.spaceId - text: List only outdated SLO definitions in {spaceId}. slots: spaceId: path.spaceId - text: Show SLO definitions tagged {tags} in {spaceId} with their health included. slots: tags: query.tags spaceId: path.spaceId method: generated generated: '2026-09-26'