---
title: Retrieve Pulse Metric Result
description: Retrieve Pulse Metric Result
product: general
token_estimate: 3081
---
# Retrieve Pulse Metric Result

> For AI agents: a documentation index is available at [/llms.txt](/llms.txt). Append `.md` to any page URL for markdown, or send `Accept: text/markdown`.

## Retrieve Pulse Metric Result

**GET** `/console/v1/experiments/{id}/pulse_metric_result`

Full URL: `https://statsigapi.net/console/v1/experiments/{id}/pulse_metric_result`

Retrieve Pulse Metric Result

## Authorizations

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| STATSIG-API-KEY | string | Yes | — | apiKey (header) |

## Path parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| id (path) | string | Yes | — | id |

## Query parameters

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| control (query) | string | Yes | — | Control Group ID |
| test (query) | string | Yes | — | Test Group ID |
| cuped (query) | string | No | — | Whether to apply CUPED. Allowed values are "true" or "false". |
| confidence (query) | string | No | — | Confidence interval (0-100) |
| applyBonferroniPerVariant (query) | string | No | — | Whether to apply Bonferroni Per Variant. Allowed values are "true" or "false". |
| applyBonferroniPerMetric (query) | string | No | — | Whether to apply Bonferroni Per Metric. Allowed values are "true" or "false". |
| bonferroniPrimaryMetricWeight (query) | string | No | — | α allocated to primary metrics |
| applyBenjaminiHochbergPerMetric (query) | string | No | — | Whether to apply Benjamini-Hochberg Correction Per Metric. Allowed values are "true" or "false". |
| applyBenjaminiHochbergPerVariant (query) | string | No | — | Whether to apply Benjamini-Hochberg Correction Per Variant. Allowed values are "true" or "false". |
| benjaminiPrimaryMetricsOnly (query) | string | No | — | Whether Benjamini-Hochberg correction should apply only to primary metrics. Allowed values are "true" or "false". |
| date (query) | string | No | — | Date for pulse results. format must be YYYY-MM-DD |
| benjaminiAcrossAllTestGroups (query) | string | No | — | Whether to compute the Benjamini-Hochberg / Bonferroni-per-group correction across all of the experiment's test groups (matching the Console Results tab default for multi-group experiments) rather than only the requested test-vs-control pair. The returned results are always scoped to the requested pair; this controls only the correction family. Allowed values are "true" or "false". Defaults to "true". |
| metricID (query) | string | Yes | — | Metric ID in format <metric_name>::<metric_type> |

## Response (application/json)

**200** — Get Pulse Metric Result Success

| Name | Type | Required | Default | Description |
| --- | --- | --- | --- | --- |
| message | string | Yes | — | A simple string explaining the result of the operation. |
| data | object | Yes | — | — |
| data.ds | string | Yes | — | — |
| data.dimensionResults | object[] | Yes | — | — |
| data.dimensionResults.dimension | string | Yes | — | — |
| data.dimensionResults.dimension_value | string | Yes | — | — |
| data.dimensionResults.metric | object | Yes | — | Constraints: nullable |
| data.dimensionResults.metric.metricID | string | Yes | — | — |
| data.dimensionResults.metric.metricName | string | Yes | — | — |
| data.dimensionResults.metric.directionality | string | Yes | increase | Indicates the desired change direction for the metric. Use "increase" for positive changes and "decrease" for negative changes. Allowed values: increase, decrease |
| data.dimensionResults.metric.error | oneOf | No | no_data | Machine-readable reason when pulse statistics are unavailable. Common values include no_data (insufficient data), echidna_unripe (not yet loaded), and setup_incomplete (misconfigured metric source). Additional string values may appear for cohort/bake windows or other load failures. Constraints: nullable, string, string |
| data.dimensionResults.metric.warnings | string[] | No | — | Human-readable warnings about metric data quality, load state, or partial pipeline failures. |
| data.dimensionResults.metric.absoluteChange | number | No | — | — |
| data.dimensionResults.metric.confidenceIntervalDelta | number | No | — | Absolute confidence interval delta |
| data.dimensionResults.metric.confidenceInterval | object | No | {"lower":-1.33,"upper":1.33} | Confidence interval bounds |
| data.dimensionResults.metric.confidenceInterval.lower | number | Yes | — | — |
| data.dimensionResults.metric.confidenceInterval.upper | number | Yes | — | — |
| data.dimensionResults.metric.percentChange | number | No | — | — |
| data.dimensionResults.metric.sequentialTestingConfidenceIntervalDelta | number | No | — | — |
| data.dimensionResults.metric.sequentialTestingConfidenceInterval | object | No | {"lower":-1.33,"upper":1.33} | Confidence interval bounds |
| data.dimensionResults.metric.sequentialTestingConfidenceInterval.lower | number | Yes | — | — |
| data.dimensionResults.metric.sequentialTestingConfidenceInterval.upper | number | Yes | — | — |
| data.dimensionResults.metric.percentConfidenceIntervalDelta | number | No | — | — |
| data.dimensionResults.metric.percentConfidenceInterval | object | No | {"lower":-1.33,"upper":1.33} | Confidence interval bounds |
| data.dimensionResults.metric.percentConfidenceInterval.lower | number | Yes | — | — |
| data.dimensionResults.metric.percentConfidenceInterval.upper | number | Yes | — | — |
| data.dimensionResults.metric.percentSequentialTestingConfidenceIntervalDelta | number | No | — | — |
| data.dimensionResults.metric.percentSequentialTestingConfidenceInterval | object | No | {"lower":-1.33,"upper":1.33} | Confidence interval bounds |
| data.dimensionResults.metric.percentSequentialTestingConfidenceInterval.lower | number | Yes | — | — |
| data.dimensionResults.metric.percentSequentialTestingConfidenceInterval.upper | number | Yes | — | — |
| data.dimensionResults.metric.testMean | number | No | — | — |
| data.dimensionResults.metric.controlMean | number | No | — | — |
| data.dimensionResults.metric.testStd | number | No | — | — |
| data.dimensionResults.metric.controlStd | number | No | — | — |
| data.dimensionResults.metric.testUnits | number | No | — | — |
| data.dimensionResults.metric.controlUnits | number | No | — | — |
| data.dimensionResults.metric.pValue | number | No | — | — |
| data.dimensionResults.metric.sequentialTestingPValue | number | No | — | Constraints: nullable |
| data.dimensionResults.metric.adjustedAlpha | number | No | — | — |
| data.dimensionResults.metric.reversePower | number | No | — | — |
| data.dimensionResults.metric.percentCredibleInterval | object | No | {"lower":-1.33,"upper":1.33} | Bayesian credible interval for the percent change. Only returned when results are computed with Bayesian analysis. |
| data.dimensionResults.metric.percentCredibleInterval.lower | number | Yes | — | — |
| data.dimensionResults.metric.percentCredibleInterval.upper | number | Yes | — | — |
| data.dimensionResults.metric.expectedLoss | number | No | — | Bayesian expected loss. Only returned when results are computed with Bayesian analysis. |
| data.dimensionResults.metric.chanceToBeat | number | No | — | Bayesian probability that the test beats the control. Only returned when results are computed with Bayesian analysis. |
| data.dimensionResults.metric.absoluteToplineImpact | number | No | — | — |
| data.dimensionResults.metric.absoluteToplineImpactDelta | number | No | — | — |
| data.dimensionResults.metric.relativeToplineImpact | number | No | — | — |
| data.dimensionResults.metric.relativeToplineImpactDelta | number | No | — | — |
| data.dimensionResults.metric.projectedAbsoluteToplineImpact | number | No | — | — |
| data.dimensionResults.metric.projectedAbsoluteToplineImpactDelta | number | No | — | — |
| data.dimensionResults.metric.projectedRelativeToplineImpact | number | No | — | — |
| data.dimensionResults.metric.projectedRelativeToplineImpactDelta | number | No | — | — |

```json
{
  "message": "string",
  "data": {
    "ds": "string",
    "dimensionResults": [
      {
        "dimension": "string",
        "dimension_value": "string",
        "metric": {
          "metricID": "string",
          "metricName": "string",
          "directionality": "increase",
          "error": "no_data",
          "warnings": [
            "string"
          ],
          "absoluteChange": 0,
          "confidenceIntervalDelta": 0,
          "confidenceInterval": {
            "lower": -1.33,
            "upper": 1.33
          },
          "percentChange": 0,
          "sequentialTestingConfidenceIntervalDelta": 0,
          "sequentialTestingConfidenceInterval": {
            "lower": -1.33,
            "upper": 1.33
          },
          "percentConfidenceIntervalDelta": 0,
          "percentConfidenceInterval": {
            "lower": -1.33,
            "upper": 1.33
          },
          "percentSequentialTestingConfidenceIntervalDelta": 0,
          "percentSequentialTestingConfidenceInterval": {
            "lower": -1.33,
            "upper": 1.33
          },
          "testMean": 0,
          "controlMean": 0,
          "testStd": 0,
          "controlStd": 0,
          "testUnits": 0,
          "controlUnits": 0,
          "pValue": 0,
          "sequentialTestingPValue": 0,
          "adjustedAlpha": 0,
          "reversePower": 0,
          "percentCredibleInterval": {
            "lower": -1.33,
            "upper": 1.33
          },
          "expectedLoss": 0,
          "chanceToBeat": 0,
          "absoluteToplineImpact": 0,
          "absoluteToplineImpactDelta": 0,
          "relativeToplineImpact": 0,
          "relativeToplineImpactDelta": 0,
          "projectedAbsoluteToplineImpact": 0,
          "projectedAbsoluteToplineImpactDelta": 0,
          "projectedRelativeToplineImpact": 0,
          "projectedRelativeToplineImpactDelta": 0
        }
      }
    ]
  }
}
```

## Code samples

### cURL

```bash
curl -X GET "https://statsigapi.net/console/v1/experiments/{id}/pulse_metric_result" \
  -H "Content-Type: application/json" \
  -H "STATSIG-API-KEY: YOUR_API_KEY"
```

### Python

```python
import requests

response = requests.get(
    "https://statsigapi.net/console/v1/experiments/{id}/pulse_metric_result",
    headers={
        "Content-Type": "application/json",
        "STATSIG-API-KEY": "YOUR_API_KEY"
    }
)
data = response.json()
```

### JavaScript

```javascript
const response = await fetch("https://statsigapi.net/console/v1/experiments/{id}/pulse_metric_result", {
  method: "GET",
  headers: {
    "Content-Type": "application/json",
    "STATSIG-API-KEY": "YOUR_API_KEY"
  }
});
const data = await response.json();
```

### PHP

```php
<?php
$ch = curl_init("https://statsigapi.net/console/v1/experiments/{id}/pulse_metric_result");
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Content-Type: application/json",
    "STATSIG-API-KEY: YOUR_API_KEY"
]);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
```

### Go

```go
package main

import (
  "bytes"
  "net/http"
)

func main() {
req, _ := http.NewRequest("GET", "https://statsigapi.net/console/v1/experiments/{id}/pulse_metric_result", nil)
req.Header.Set("Content-Type", "application/json")
req.Header.Set("STATSIG-API-KEY", "YOUR_API_KEY")
  client := &http.Client{}
  resp, _ := client.Do(req)
  defer resp.Body.Close()
}
```

### Java

```java
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
      .uri(URI.create("https://statsigapi.net/console/v1/experiments/{id}/pulse_metric_result"))
      .method("GET", HttpRequest.BodyPublishers.noBody())
.header("Content-Type", "application/json")
      .header("STATSIG-API-KEY", "YOUR_API_KEY")
      .build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
```

### Ruby

```ruby
require "net/http"
require "json"

uri = URI("https://statsigapi.net/console/v1/experiments/{id}/pulse_metric_result")
request = Net::HTTP::Get.new(uri)
request["Content-Type"] = "application/json"
request["STATSIG-API-KEY"] = "YOUR_API_KEY"
response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == "https") do |http|
  http.request(request)
end
```

