View all methods

snapshots.impactScores

Get scores for impact questions in a completed snapshot.

Each result includes the impact question’s options, scoring method, and response distribution. Scores use the impact question’s scoring rules; do not interpret option values as percentages. For example, a time-loss option with value: 2 represents 20% time loss.

An impact question with only N/A answers has score: null.

Facts

Method GET https://api.getdx.com/snapshots.impactScores
Required scope snapshots:read

Arguments

Required arguments

Name Type Description
token Token Auth token passed in the Authorization: Bearer HTTP header.
snapshot_id Text ID of a completed snapshot belonging to the account.

Optional arguments

Name Type Description
team_ids Array<Text> Comma-separated team IDs. Each team must be represented in the snapshot. Includes descendants in the snapshot hierarchy.
snapshot_team_ids Array<Text> Comma-separated snapshot team IDs. Each must belong to the snapshot. Includes descendants.
group_ids Array<Text> Comma-separated user group IDs belonging to the account.
branch_ids Array<Text> Comma-separated branch IDs belonging to the snapshot.
attribute_ids Array<Text> Comma-separated attribute value IDs. Values must belong to the account and be accessible to the token.

Filtering behavior

With no population filters, results cover the organization. Values within a filter are combined with OR; different filter types are combined with AND. When both team_ids and snapshot_team_ids are supplied, the selected subtrees are intersected. Disjoint selections match no people.

Attribute values are combined with OR within each attribute group and AND across groups. For example, two Location values and one Role value match people in either location who also have the selected role.

The response includes only the selected filter values. filters.snapshot.completed_count and total_count describe the filtered population, not the whole snapshot. total_count includes eligible recipients and people who completed the snapshot even if excluded from the recipient list.

Example request

curl -X GET 'https://api.getdx.com/snapshots.impactScores?snapshot_id=MjUyNbaY' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer xxxx-xxxxxxxxx-xxxx'

Example response

This example uses an account minimum response threshold of 3.

{
  "ok": true,
  "filters": {
    "snapshot": {
      "id": "MjUyNbaY",
      "scheduled_for": "2026-08-02",
      "completed_at": "2026-08-16T14:00:00.000Z",
      "completed_count": 4,
      "total_count": 6
    },
    "teams": [],
    "snapshot_teams": [],
    "groups": [],
    "branches": [],
    "attribute_groups": []
  },
  "results": [
    {
      "impact": {
        "id": "MTUw",
        "name": "Delivery speed",
        "prompt": "How would you rate your delivery speed?",
        "target_role": "dev",
        "benchmark": null,
        "options": [
          {
            "label": "Very slow",
            "value": 1
          },
          {
            "label": "Slow",
            "value": 2
          },
          {
            "label": "Moderate",
            "value": 3
          },
          {
            "label": "Fast",
            "value": 4
          },
          {
            "label": "Very fast",
            "value": 5
          }
        ],
        "scoring_method": "Percent favorable",
        "lower_is_better": false
      },
      "score": 75,
      "distribution": [
        {
          "label": "Very slow",
          "value": 1,
          "count": 0
        },
        {
          "label": "Slow",
          "value": 2,
          "count": 0
        },
        {
          "label": "Moderate",
          "value": 3,
          "count": 1
        },
        {
          "label": "Fast",
          "value": 4,
          "count": 2
        },
        {
          "label": "Very fast",
          "value": 5,
          "count": 1
        },
        {
          "label": "I don't know / N/A",
          "value": null,
          "count": 0
        }
      ],
      "hidden": false
    }
  ]
}

Response fields

Field Type Description
ok Boolean Whether the request succeeded.
filters Object The snapshot, applied population filters, and any breakdown selection.
results Array<Object> Results for the requested population.

Filters object

Field Type Description
snapshot Object id, scheduled_for (YYYY-MM-DD), completed_at (ISO 8601), completed_count, and total_count. Counts reflect the applied population filters.
teams Array<Object> Selected teams, each with id and name; empty when not filtered.
snapshot_teams Array<Object> Selected snapshot teams, each with id and name; empty when not filtered.
groups Array<Object> Selected user groups, each with id and name; empty when not filtered.
branches Array<Object> Selected branches, each with id and name; empty when not filtered.
attribute_groups Array<Object> Groups represented in attribute_ids. Each has id, name, type, and attributes containing only the selected values (id and name). See management types.

Result object

Field Type Description
impact Object Impact question metadata, options, and scoring method.
score Integer or null Impact score rounded to an integer, using the impact question’s scoring rules. null when hidden or no rated answers exist.
distribution Array<Object> or null Options with label, value, and count, followed by an N/A entry with value: null. null when hidden.
hidden Boolean Whether the result is suppressed by the account’s minimum response threshold.

Impact question object

Field Type Description
id String The question ID.
name String The question name.
prompt String The question text.
target_role String Audience: dev, nondev, or all.
benchmark Object or null Benchmark metadata, when available.
options Array<Object> Response labels and stored numeric values, without the N/A option. Time-loss options start at 0; other impact question scales can run in either direction. Use the returned label/value pairs.
scoring_method String or null The impact question’s configured scoring-method label.
lower_is_better Boolean true for time-loss impact questions; otherwise false.

Benchmark object

benchmark is null when no benchmark is available. Otherwise, it contains name, p_50, p_75, p_90, and year. DX uses the account’s selected benchmark segment, or the default segment when none is selected.

Privacy and missing data

A result is hidden when rated plus N/A answers to that impact question are below the account’s minimum response threshold. When hidden, score and distribution are null; impact question metadata remains available.

Errors

Check ok in every response. When it is false, read error and any error_details.

Field HTTP status Description
not_authed 401 The authentication token is missing or invalid.
not_authorized 403 The token does not have access to this method, including the required snapshots:read scope.
invalid_arguments 400 A required argument is missing or a filter or breakdown argument is invalid. error_details identifies the argument.
not_found 404 The snapshot is unknown, belongs to another account, is deleted, or is not completed.