Statsig · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Statsig Metrics API

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

What the actions change

x-apievangelist-phrasing

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

$.info
$.paths['/metrics'].get
$.paths['/metrics/{id}'].get
$.paths['/console/v1/metrics'].get
$.paths['/console/v1/metrics'].post
$.paths['/console/v1/metrics/{id}'].get
$.paths['/console/v1/metrics/{id}'].post
$.paths['/console/v1/metrics/{id}'].delete
$.paths['/console/v1/metrics/{id}/cancel_archive'].put
$.paths['/console/v1/metrics/{id}/experiments'].get
$.paths['/console/v1/metrics/{id}/reload'].post
$.paths['/console/v1/metrics/{id}/schedule_archive'].put
$.paths['/console/v1/metrics/{id}/sql'].get
$.paths['/console/v1/metrics/{id}/unarchive'].put
$.paths['/console/v1/metrics/{name}/{type}'].get
$.paths['/console/v1/metrics/list'].get

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 Statsig Metrics API
  version: 1.0.0
extends: openapi/statsig-metrics-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-10-01'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 22
- target: $.paths['/metrics'].get
  update:
    x-apievangelist-phrasing:
      intent: List metric definitions
      effect: read
      questions:
      - Which metrics are defined in my Statsig project?
      - Can I page through all our metric definitions?
      instructions:
      - text: List all metrics in my project.
      - text: Show page {page} of metrics, {limit} per page.
        slots:
          page: query.page
          limit: query.limit
      method: generated
      generated: '2026-09-26'
- target: $.paths['/metrics/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a metric's definition
      effect: read
      questions:
      - How is a specific metric defined?
      - Can I look up one metric's definition by name?
      instructions:
      - text: Show the definition of metric {id}.
        slots:
          id: path.id
      - text: Get metric {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/console/v1/metrics'].get
  update:
    x-apievangelist-phrasing:
      intent: Read a metric's value for one day
      effect: read
      questions:
      - What was a metric's value on a specific date?
      - Can I pull a single day's value for one metric and type?
      instructions:
      - text: Get the value of metric {id} on {date}.
        slots:
          id: query.id
          date: query.date
      - text: Read metric {id} for {date}.
        slots:
          id: query.id
          date: query.date
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a metric
      effect: write
      questions:
      - Can I define a new ratio or funnel metric through the API?
      - Can I set whether an increase or decrease is good for a new metric?
      - Is there a way to validate a new metric definition without saving it?
      instructions:
      - text: Create metric {name} of type {type}.
        slots:
          name: requestBody.name
          type: requestBody.type
      - text: Create a {type} metric {name} computed from events {metricEvents}.
        slots:
          type: requestBody.type
          name: requestBody.name
          metricEvents: requestBody.metricEvents
      - text: Validate metric {name} of type {type} without saving, dry run {dryRun}.
        slots:
          name: requestBody.name
          type: requestBody.type
          dryRun: requestBody.dryRun
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Read a metric definition via Console API v1
      effect: read
      questions:
      - Can the Console API v1 return a metric's full definition by its ID?
      - Is a given metric verified or read-only?
      instructions:
      - text: Read metric definition {id} from the v1 console.
        slots:
          id: path.id
      - text: Check whether metric {id} is verified, read-only or permanent.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/{id}'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a metric's definition
      effect: write
      questions:
      - Can I mark an existing metric as verified?
      - Can I schedule warehouse native reloads for a metric at a set hour?
      - Is it possible to change a metric's directionality after it was created?
      instructions:
      - text: Set the verified flag on metric {id} to {isVerified}.
        slots:
          id: path.id
          isVerified: requestBody.isVerified
      - text: Schedule reloads of metric {id} at UTC hour {scheduledReloadHour} on days {scheduledReloadDays}.
        slots:
          id: path.id
          scheduledReloadHour: requestBody.scheduledReloadHour
          scheduledReloadDays: requestBody.scheduledReloadDays
      - text: Update the description of metric {id} to {description}.
        slots:
          id: path.id
          description: requestBody.description
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/{id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a metric
      effect: destructive
      questions:
      - Can I permanently delete a metric definition?
      - Is deleting a metric irreversible?
      instructions:
      - text: Delete metric {id}.
        slots:
          id: path.id
      - text: Permanently remove metric {id} from the project.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/{id}/cancel_archive'].put
  update:
    x-apievangelist-phrasing:
      intent: Cancel a scheduled metric archive
      effect: write
      questions:
      - Can I stop a metric that's scheduled for archiving from being archived?
      - Is there a way to call off a pending metric archive?
      instructions:
      - text: Cancel the scheduled archive of metric {id}.
        slots:
          id: path.id
      - text: Keep metric {id} active by cancelling its pending archive.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/{id}/experiments'].get
  update:
    x-apievangelist-phrasing:
      intent: List experiments that use a metric
      effect: read
      questions:
      - Which experiments use a particular metric?
      - Can I see only the experiments in a given status that track a metric?
      - What stale experiments still reference a metric?
      instructions:
      - text: List experiments that use metric {id}.
        slots:
          id: path.id
      - text: Show experiments with status {status} that track metric {id}.
        slots:
          status: query.status
          id: path.id
      - text: Show experiments on metric {id} created between {createdStartDate} and {createdEndDate}.
        slots:
          id: path.id
          createdStartDate: query.createdStartDate
          createdEndDate: query.createdEndDate
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/{id}/reload'].post
  update:
    x-apievangelist-phrasing:
      intent: Reload a metric's data
      effect: write
      questions:
      - Can I trigger a recomputation of a metric's data?
      - Is an incremental reload possible instead of a full one?
      instructions:
      - text: Reload data for metric {id}.
        slots:
          id: path.id
      - text: Reload metric {id} incrementally ({incremental}).
        slots:
          id: path.id
          incremental: query.incremental
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/{id}/schedule_archive'].put
  update:
    x-apievangelist-phrasing:
      intent: Schedule a metric for archiving
      effect: write
      questions:
      - Can I schedule an unused metric to be archived?
      - Is there a way to queue a metric for archive rather than archiving it now?
      instructions:
      - text: Schedule metric {id} for archive.
        slots:
          id: path.id
      - text: Queue metric {id} to be archived.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/{id}/sql'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the SQL behind a metric
      effect: read
      questions:
      - What SQL does Statsig run to compute a metric?
      - Can I see the generated query for a metric?
      instructions:
      - text: Show the SQL for metric {id}.
        slots:
          id: path.id
      - text: Get the query that computes metric {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/{id}/unarchive'].put
  update:
    x-apievangelist-phrasing:
      intent: Unarchive a metric
      effect: write
      questions:
      - Can I bring back a metric that was archived?
      - Is restoring an archived metric possible?
      instructions:
      - text: Unarchive metric {id}.
        slots:
          id: path.id
      - text: Restore archived metric {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/{name}/{type}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a metric by name and type
      effect: read
      questions:
      - Can I find a metric's definition when I know its name and type but not its ID?
      - What is the definition of the metric with a given name and type?
      instructions:
      - text: Get the metric named {name} of type {type}.
        slots:
          name: path.name
          type: path.type
      - text: Look up metric definition by name {name} and type {type}.
        slots:
          name: path.name
          type: path.type
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/list'].get
  update:
    x-apievangelist-phrasing:
      intent: Search and filter the metric catalog
      effect: read
      questions:
      - Can I include hidden metrics when listing our metrics?
      - Which metrics match a search term like checkout?
      - Can I list only metrics with a certain tag?
      instructions:
      - text: List metrics matching {filters}.
        slots:
          filters: query.filters
      - text: List metrics tagged {tags} with hidden metrics set to {showHiddenMetrics}.
        slots:
          tags: query.tags
          showHiddenMetrics: query.showHiddenMetrics
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/metric_source'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a metric source from SQL
      effect: write
      questions:
      - Can I define a metric source from a SQL query in our warehouse?
      - Which column mappings does a new metric source need?
      - Is there a way to skip SQL validation when creating a metric source?
      instructions:
      - text: Create metric source {name} from SQL {sql} with timestamp column {timestampColumn} and ID mapping {idTypeMapping}.
        slots:
          name: requestBody.name
          sql: requestBody.sql
          timestampColumn: requestBody.timestampColumn
          idTypeMapping: requestBody.idTypeMapping
      - text: 'Validate new metric source {name} without saving: SQL {sql}, dry run {dryRun}.'
        slots:
          name: requestBody.name
          sql: requestBody.sql
          dryRun: requestBody.dryRun
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/metric_source/{name}'].get
  update:
    x-apievangelist-phrasing:
      intent: Read a metric source
      effect: read
      questions:
      - What SQL and column mappings does a metric source use?
      - Can I view one metric source's configuration by name?
      instructions:
      - text: Show metric source {name}.
        slots:
          name: path.name
      - text: Get the SQL and ID mapping of metric source {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/metric_source/{name}'].post
  update:
    x-apievangelist-phrasing:
      intent: Update a metric source
      effect: write
      questions:
      - Can I change the SQL behind an existing metric source?
      - Can I disable CURE for every metric built on a source?
      - Is it possible to switch an existing metric source to a different timestamp column?
      instructions:
      - text: Update metric source {name} to use SQL {sql}, timestamp {timestampColumn}, ID mapping {idTypeMapping}.
        slots:
          name: path.name
          sql: requestBody.sql
          timestampColumn: requestBody.timestampColumn
          idTypeMapping: requestBody.idTypeMapping
      - text: Turn off CURE on metric source {name} with {disableCURE}, keeping SQL {sql}, timestamp {timestampColumn} and ID mapping {idTypeMapping}.
        slots:
          name: path.name
          disableCURE: requestBody.disableCURE
          sql: requestBody.sql
          timestampColumn: requestBody.timestampColumn
          idTypeMapping: requestBody.idTypeMapping
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/metric_source/{name}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a metric source
      effect: destructive
      questions:
      - Can I remove a metric source we no longer query?
      - Is deleting a metric source permanent?
      instructions:
      - text: Delete metric source {name}.
        slots:
          name: path.name
      - text: Permanently remove metric source {name}.
        slots:
          name: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/metric_source/{name}/metrics'].get
  update:
    x-apievangelist-phrasing:
      intent: List metrics built on a metric source
      effect: read
      questions:
      - Which metrics are built on top of a particular metric source?
      - What depends on a metric source before I change it?
      instructions:
      - text: List metrics that use metric source {name}.
        slots:
          name: path.name
      - text: Show page {page} of metrics built from source {name}.
        slots:
          page: query.page
          name: path.name
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/metric_source/list'].get
  update:
    x-apievangelist-phrasing:
      intent: List metric sources
      effect: read
      questions:
      - Which metric sources are set up in our project?
      - Can I page through every metric source?
      instructions:
      - text: List all metric sources.
      - text: Show page {page} of metric sources, {limit} per page.
        slots:
          page: query.page
          limit: query.limit
      method: generated
      generated: '2026-10-01'
- target: $.paths['/console/v1/metrics/values'].get
  update:
    x-apievangelist-phrasing:
      intent: List all metric values for a date
      effect: read
      questions:
      - What values did all our metrics have on a given day?
      - Can I filter the daily metric values by metric name or type?
      instructions:
      - text: List all metric values for {date}.
        slots:
          date: query.date
      - text: Show values of metric {metricName} of type {metricType} on {date}.
        slots:
          metricName: query.metricName
          metricType: query.metricType
          date: query.date
      method: generated
      generated: '2026-10-01'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/statsig-metrics-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.