ClickHouse · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for OpenAPI spec for ClickHouse Cloud Click Stack API

31 actions 31 updates phrasing extends openapi/clickhouse-clickstack-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for ClickHouse's API. It is a proposal applied on top of the contract, not a document ClickHouse publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 31 · first 16 shown; the file carries all of them

$.info
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/dashboards'].get
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/dashboards'].post
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/dashboards/{clickStackDashboardId}'].get
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/dashboards/{clickStackDashboardId}'].put
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/dashboards/{clickStackDashboardId}'].delete
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/dashboards/validate'].post
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/alerts'].get
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/alerts'].post
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/sources'].get
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/sources'].post
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/sources/{clickStackSourceId}'].get
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/sources/{clickStackSourceId}'].put
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/sources/{clickStackSourceId}'].delete
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/alerts/{clickStackAlertId}'].get
$.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/alerts/{clickStackAlertId}'].put

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for OpenAPI spec for ClickHouse Cloud Click Stack API
  version: 1.0.0
extends: openapi/clickhouse-clickstack-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: 30
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/dashboards'].get
  update:
    x-apievangelist-phrasing:
      intent: List ClickStack dashboards
      effect: read
      questions:
      - Which observability dashboards exist in ClickStack for my service?
      - Can I see all of my team's ClickStack dashboards?
      instructions:
      - text: List all ClickStack dashboards on service {service} in org {org}.
        slots:
          service: path.serviceId
          org: path.organizationId
      - text: Show every observability dashboard my team has for service {service} in organization {org}.
        slots:
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/dashboards'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a ClickStack dashboard
      effect: write
      questions:
      - How do I build a new observability dashboard with chart tiles in ClickStack?
      - Can I tag a new dashboard and give it default filters?
      instructions:
      - text: Create a ClickStack dashboard named {name} with tiles {tiles} on service {service} in org {org}.
        slots:
          name: requestBody.name
          tiles: requestBody.tiles
          service: path.serviceId
          org: path.organizationId
      - text: Save a new dashboard {name} tagged {tags} with tiles {tiles} for service {service} in organization {org}.
        slots:
          name: requestBody.name
          tags: requestBody.tags
          tiles: requestBody.tiles
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/dashboards/{clickStackDashboardId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one ClickStack dashboard
      effect: read
      questions:
      - What tiles and filters are on a specific ClickStack dashboard?
      - Can I export the definition of one dashboard?
      instructions:
      - text: Get ClickStack dashboard {dashboard} on service {service} in org {org}.
        slots:
          dashboard: path.clickStackDashboardId
          service: path.serviceId
          org: path.organizationId
      - text: Show the tiles of dashboard {dashboard} for service {service} in organization {org}.
        slots:
          dashboard: path.clickStackDashboardId
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/dashboards/{clickStackDashboardId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing ClickStack dashboard
      effect: write
      questions:
      - How do I change the tiles on a dashboard I already built?
      - Does updating a dashboard protect against someone else editing it at the same time?
      instructions:
      - text: Update dashboard {dashboard} on service {service} in org {org} with name {name} and tiles {tiles}.
        slots:
          dashboard: path.clickStackDashboardId
          service: path.serviceId
          org: path.organizationId
          name: requestBody.name
          tiles: requestBody.tiles
      - text: Replace the tiles on existing dashboard {dashboard} for service {service} in organization {org} with {tiles}, keeping name {name}.
        slots:
          dashboard: path.clickStackDashboardId
          service: path.serviceId
          org: path.organizationId
          tiles: requestBody.tiles
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/dashboards/{clickStackDashboardId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a ClickStack dashboard
      effect: destructive
      questions:
      - How do I remove a ClickStack dashboard nobody uses anymore?
      - Can I delete an observability dashboard by its ID?
      instructions:
      - text: Delete ClickStack dashboard {dashboard} on service {service} in org {org}.
        slots:
          dashboard: path.clickStackDashboardId
          service: path.serviceId
          org: path.organizationId
      - text: Remove dashboard {dashboard} from service {service} in organization {org}.
        slots:
          dashboard: path.clickStackDashboardId
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/dashboards/validate'].post
  update:
    x-apievangelist-phrasing:
      intent: Validate a dashboard definition without saving
      effect: read
      questions:
      - Can I check a dashboard definition is valid before applying it from Terraform?
      - Is there a dry run that tests dashboard tiles without saving anything?
      instructions:
      - text: Validate dashboard {name} with tiles {tiles} for service {service} in org {org} without saving it.
        slots:
          name: requestBody.name
          tiles: requestBody.tiles
          service: path.serviceId
          org: path.organizationId
      - text: Dry-run check the tile rules for dashboard config {name} ({tiles}) on service {service} in organization {org}.
        slots:
          name: requestBody.name
          tiles: requestBody.tiles
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/alerts'].get
  update:
    x-apievangelist-phrasing:
      intent: List ClickStack alerts
      effect: read
      questions:
      - Which alerts are configured in ClickStack for my team?
      - How many alerts can I fetch per page, and how do I get the rest?
      instructions:
      - text: List ClickStack alerts on service {service} in org {org}.
        slots:
          service: path.serviceId
          org: path.organizationId
      - text: Get {limit} alerts starting at offset {offset} for service {service} in organization {org}.
        slots:
          limit: query.limit
          offset: query.offset
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/alerts'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a ClickStack alert
      effect: write
      questions:
      - How do I get alerted when a saved search crosses a threshold?
      - Can I set an alert on a dashboard tile that notifies a webhook channel?
      - Can an alert require several consecutive windows before it fires?
      instructions:
      - text: Create an alert named {name} on saved search {savedSearchId} firing above {threshold} every {interval} for service {service} in org {org}.
        slots:
          name: requestBody.name
          savedSearchId: requestBody.savedSearchId
          threshold: requestBody.threshold
          interval: requestBody.interval
          service: path.serviceId
          org: path.organizationId
      - text: Alert on tile {tileId} of dashboard {dashboardId} via channel {channel} for service {service} in organization {org}.
        slots:
          tileId: requestBody.tileId
          dashboardId: requestBody.dashboardId
          channel: requestBody.channel
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/sources'].get
  update:
    x-apievangelist-phrasing:
      intent: List ClickStack data sources
      effect: read
      questions:
      - Which log, trace and metric sources are defined in ClickStack?
      - What data sources can my ClickStack searches and dashboards use?
      instructions:
      - text: List all ClickStack sources on service {service} in org {org}.
        slots:
          service: path.serviceId
          org: path.organizationId
      - text: Show the observability data sources defined for service {service} in organization {org}.
        slots:
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/sources'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a ClickStack data source
      effect: write
      questions:
      - How do I register a new table as a ClickStack source?
      - What granularity format do materialized views on a new source accept?
      instructions:
      - text: Create a new ClickStack source on service {service} in org {org}.
        slots:
          service: path.serviceId
          org: path.organizationId
      - text: Register a new observability source for service {service} in organization {org}.
        slots:
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/sources/{clickStackSourceId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one ClickStack data source
      effect: read
      questions:
      - How is a specific ClickStack source configured?
      - Which table and materialized views does one source point at?
      instructions:
      - text: Get ClickStack source {source} on service {service} in org {org}.
        slots:
          source: path.clickStackSourceId
          service: path.serviceId
          org: path.organizationId
      - text: Show the configuration of source {source} for service {service} in organization {org}.
        slots:
          source: path.clickStackSourceId
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/sources/{clickStackSourceId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a ClickStack data source
      effect: write
      questions:
      - Do I have to send the whole source object to change one ClickStack source?
      - How do I update the settings of an existing source?
      instructions:
      - text: Update ClickStack source {source} on service {service} in org {org} with its full new definition.
        slots:
          source: path.clickStackSourceId
          service: path.serviceId
          org: path.organizationId
      - text: Replace the existing source {source} for service {service} in organization {org}.
        slots:
          source: path.clickStackSourceId
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/sources/{clickStackSourceId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a ClickStack data source
      effect: destructive
      questions:
      - How do I remove a data source from ClickStack?
      - Can I delete a source I registered by mistake?
      instructions:
      - text: Delete ClickStack source {source} on service {service} in org {org}.
        slots:
          source: path.clickStackSourceId
          service: path.serviceId
          org: path.organizationId
      - text: Remove observability source {source} from service {service} in organization {org}.
        slots:
          source: path.clickStackSourceId
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/alerts/{clickStackAlertId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one ClickStack alert
      effect: read
      questions:
      - What threshold and channel is a specific alert using?
      - Which saved search or tile does one of my alerts watch?
      instructions:
      - text: Get ClickStack alert {alert} on service {service} in org {org}.
        slots:
          alert: path.clickStackAlertId
          service: path.serviceId
          org: path.organizationId
      - text: Show the threshold and schedule of alert {alert} for service {service} in organization {org}.
        slots:
          alert: path.clickStackAlertId
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/alerts/{clickStackAlertId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing ClickStack alert
      effect: write
      questions:
      - How do I raise the threshold on an alert that's too noisy?
      - Can I change which channel an existing alert notifies?
      instructions:
      - text: Change the threshold of alert {alert} on service {service} in org {org} to {threshold}.
        slots:
          alert: path.clickStackAlertId
          service: path.serviceId
          org: path.organizationId
          threshold: requestBody.threshold
      - text: Point existing alert {alert} for service {service} in organization {org} at channel {channel} with message {message}.
        slots:
          alert: path.clickStackAlertId
          service: path.serviceId
          org: path.organizationId
          channel: requestBody.channel
          message: requestBody.message
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/alerts/{clickStackAlertId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a ClickStack alert
      effect: destructive
      questions:
      - How do I delete an alert that no longer matters?
      - Can I remove a ClickStack alert by its ID?
      instructions:
      - text: Delete ClickStack alert {alert} on service {service} in org {org}.
        slots:
          alert: path.clickStackAlertId
          service: path.serviceId
          org: path.organizationId
      - text: Remove alert {alert} from service {service} in organization {org}.
        slots:
          alert: path.clickStackAlertId
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/webhooks'].get
  update:
    x-apievangelist-phrasing:
      intent: List ClickStack notification webhooks
      effect: read
      questions:
      - Which webhooks can my ClickStack alerts send notifications to?
      - How do I page through a long list of ClickStack webhooks?
      instructions:
      - text: List ClickStack webhooks on service {service} in org {org}.
        slots:
          service: path.serviceId
          org: path.organizationId
      - text: Get {limit} webhooks from offset {offset} for service {service} in organization {org}.
        slots:
          limit: query.limit
          offset: query.offset
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/webhooks'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a ClickStack notification webhook
      effect: write
      questions:
      - How do I send ClickStack alert notifications to my own URL?
      - Can I add custom headers and a body template to an alert webhook?
      instructions:
      - text: Create a webhook named {name} for {webhookService} posting to {url} on service {service} in org {org}.
        slots:
          name: requestBody.name
          webhookService: requestBody.service
          url: requestBody.url
          service: path.serviceId
          org: path.organizationId
      - text: Add a {webhookService} webhook {name} at {url} with headers {headers} for service {service} in organization {org}.
        slots:
          webhookService: requestBody.service
          name: requestBody.name
          url: requestBody.url
          headers: requestBody.headers
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/webhooks/{clickStackWebhookId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a ClickStack notification webhook
      effect: write
      questions:
      - How do I change the URL an existing alert webhook posts to?
      - Does updating a webhook replace all of its fields?
      instructions:
      - text: Update webhook {webhook} on service {service} in org {org} to post to {url} as {name} via {webhookService}.
        slots:
          webhook: path.clickStackWebhookId
          service: path.serviceId
          org: path.organizationId
          url: requestBody.url
          name: requestBody.name
          webhookService: requestBody.service
      - text: Replace existing webhook {webhook} for service {service} in organization {org} with name {name}, type {webhookService} and URL {url}.
        slots:
          webhook: path.clickStackWebhookId
          service: path.serviceId
          org: path.organizationId
          name: requestBody.name
          webhookService: requestBody.service
          url: requestBody.url
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/webhooks/{clickStackWebhookId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a ClickStack notification webhook
      effect: destructive
      questions:
      - Why can't I delete a webhook that alerts still use?
      - How do I remove a notification webhook from ClickStack?
      instructions:
      - text: Delete webhook {webhook} on service {service} in org {org}.
        slots:
          webhook: path.clickStackWebhookId
          service: path.serviceId
          org: path.organizationId
      - text: Remove the unused alert webhook {webhook} from service {service} in organization {org}.
        slots:
          webhook: path.clickStackWebhookId
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/roles'].get
  update:
    x-apievangelist-phrasing:
      intent: List ClickStack team roles
      effect: read
      questions:
      - Which predefined and custom roles exist for my ClickStack team?
      - What ClickStack roles can I give teammates?
      instructions:
      - text: List ClickStack roles on service {service} in org {org}.
        slots:
          service: path.serviceId
          org: path.organizationId
      - text: Show the predefined and custom ClickStack team roles for service {service} in organization {org}.
        slots:
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/roles'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a custom ClickStack team role
      effect: write
      questions:
      - How do I create a ClickStack role with limited permissions for my observability team?
      - Can a custom ClickStack role have its own description?
      instructions:
      - text: Create a ClickStack role {name} with permissions {permissions} on service {service} in org {org}.
        slots:
          name: requestBody.name
          permissions: requestBody.permissions
          service: path.serviceId
          org: path.organizationId
      - text: Add a custom ClickStack team role {name} described as {description} granting {permissions} for service {service} in organization {org}.
        slots:
          name: requestBody.name
          description: requestBody.description
          permissions: requestBody.permissions
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/roles/{clickStackRoleId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one ClickStack team role
      effect: read
      questions:
      - What permissions does a specific ClickStack role include?
      - Is a given ClickStack role predefined or custom?
      instructions:
      - text: Get ClickStack role {role} on service {service} in org {org}.
        slots:
          role: path.clickStackRoleId
          service: path.serviceId
          org: path.organizationId
      - text: Show the permissions of ClickStack team role {role} for service {service} in organization {org}.
        slots:
          role: path.clickStackRoleId
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/roles/{clickStackRoleId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a custom ClickStack team role
      effect: write
      questions:
      - How do I change the permissions on a custom ClickStack role?
      - Can predefined ClickStack roles be edited?
      instructions:
      - text: Set the permissions of ClickStack role {role} on service {service} in org {org} to {permissions}.
        slots:
          role: path.clickStackRoleId
          service: path.serviceId
          org: path.organizationId
          permissions: requestBody.permissions
      - text: Rename custom ClickStack role {role} to {name} with permissions {permissions} for service {service} in organization {org}.
        slots:
          role: path.clickStackRoleId
          name: requestBody.name
          permissions: requestBody.permissions
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/roles/{clickStackRoleId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a custom ClickStack team role
      effect: destructive
      questions:
      - Why won't ClickStack let me delete a role that's assigned to users?
      - How do I remove a custom ClickStack role?
      instructions:
      - text: Delete ClickStack role {role} on service {service} in org {org}.
        slots:
          role: path.clickStackRoleId
          service: path.serviceId
          org: path.organizationId
      - text: Remove the unused custom ClickStack team role {role} from service {service} in organization {org}.
        slots:
          role: path.clickStackRoleId
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/saved-searches'].get
  update:
    x-apievangelist-phrasing:
      intent: List ClickStack saved searches
      effect: read
      questions:
      - Which saved log and trace searches does my team have in ClickStack?
      - Can I page through saved searches with limit and offset?
      instructions:
      - text: List ClickStack saved searches on service {service} in org {org}.
        slots:
          service: path.serviceId
          org: path.organizationId
      - text: Get {limit} saved searches from offset {offset} for service {service} in organization {org}.
        slots:
          limit: query.limit
          offset: query.offset
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/saved-searches'].post
  update:
    x-apievangelist-phrasing:
      intent: Save a ClickStack search
      effect: write
      questions:
      - How do I save a log search with a where clause so my team can reuse it?
      - Can a saved search specify which columns to select and how to sort?
      instructions:
      - text: Save a search named {name} on source {sourceId} where {where} for service {service} in org {org}.
        slots:
          name: requestBody.name
          sourceId: requestBody.sourceId
          where: requestBody.where
          service: path.serviceId
          org: path.organizationId
      - text: Create saved search {name} over source {sourceId} selecting {select} ordered by {orderBy} for service {service} in organization {org}.
        slots:
          name: requestBody.name
          sourceId: requestBody.sourceId
          select: requestBody.select
          orderBy: requestBody.orderBy
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/saved-searches/{clickStackSavedSearchId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one ClickStack saved search
      effect: read
      questions:
      - What query and filters does a particular saved search use?
      - Which source is a specific saved search built on?
      instructions:
      - text: Get saved search {search} on service {service} in org {org}.
        slots:
          search: path.clickStackSavedSearchId
          service: path.serviceId
          org: path.organizationId
      - text: Show the where clause of saved search {search} for service {service} in organization {org}.
        slots:
          search: path.clickStackSavedSearchId
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/saved-searches/{clickStackSavedSearchId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace an existing ClickStack saved search
      effect: write
      questions:
      - How do I change the filter on a search I already saved?
      - Does updating a saved search overwrite fields I leave out?
      instructions:
      - text: Update saved search {search} on service {service} in org {org} to name {name}, source {sourceId}, where {where}.
        slots:
          search: path.clickStackSavedSearchId
          service: path.serviceId
          org: path.organizationId
          name: requestBody.name
          sourceId: requestBody.sourceId
          where: requestBody.where
      - text: Replace existing saved search {search} for service {service} in organization {org} with name {name} on source {sourceId}.
        slots:
          search: path.clickStackSavedSearchId
          service: path.serviceId
          org: path.organizationId
          name: requestBody.name
          sourceId: requestBody.sourceId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/v1/organizations/{organizationId}/services/{serviceId}/clickstack/saved-searches/{clickStackSavedSearchId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a ClickStack saved search and its alerts
      effect: destructive
      questions:
      - What happens to alerts attached to a saved search when I delete it?
      - How do I remove a saved search from ClickStack?
      instructions:
      - text: Delete saved search {search} on service {service} in org {org}.
        slots:
          search: path.clickStackSavedSearchId
          service: path.serviceId
          org: path.organizationId
      - text: Remove saved search {search} and any alerts on it from service {service} in organization {org}.
        slots:
          search: path.clickStackSavedSearchId
          service: path.serviceId
          org: path.organizationId
      method: generated
      generated: '2026-09-26'