---
title: "Most recent Shop Performance Score snapshot"
method: POST
path: "/shop-health/latest"
tags: ["Shop Health"]
---

# Most recent Shop Performance Score snapshot

`POST /shop-health/latest`

## Request

- Base URL: `https://api.reacherapp.com/public/v1`
- URL: `https://api.reacherapp.com/public/v1/shop-health/latest`
- Auth: API key in header `x-api-key` and API key in header `x-shop-id`

The most recent Shop Performance Score snapshot for one shop — the current ``sps_score`` (0-5), ``sps_tier``, ``peer_percentile``, and the per-sub-metric ``dimensions`` breakdown, plus TikTok's ranked ``top_issues`` with their ``summary`` (US shops; ``top_issues.available`` and ``top_issues.unavailable_reason`` say when they are absent). 

Single-shop only. ``snapshot`` is ``null`` when the shop has no SPS data yet (the first pull hasn't run).

## Request body

- ShopHealthLatestRequest: POST /shop-health/latest request body. Returns the most recent SPS snapshot for the shop — takes no parameters.

## Response `200`

Successful Response

- ShopHealthLatestResponse: The most recent Shop Performance Score snapshot for one shop.
  - `shop_id` integer, required
  - `snapshot` ShopHealthPoint: A single daily Shop Performance Score snapshot.
    - `date` string, nullable: Snapshot day (YYYY-MM-DD).
    - `sps_score` number, nullable: Overall Shop Performance Score, 0-5.
    - `sps_tier` string, nullable: EXCELLENT / GOOD / POOR / CRITICAL / NIL.
    - `peer_percentile` number, nullable: Percentile ranking among peer shops.
    - `dimensions` ShopHealthDimension[]: Per-sub-metric breakdown of the score.
      - `name` string, nullable: Dimension name.
      - `score` number, nullable: Dimension score, 0-5.
      - `status` string, nullable: EXCELLENT / GOOD / POOR / CRITICAL / NIL.
      - `status_text` string, nullable: Localized status label (e.g. 'Excellent').
      - `weight` number, nullable: Percentage weight of this dimension in the overall SPS.
  - `top_issues` ShopHealthTopIssues: TikTok's ranked Shop Performance Score issues for the latest snapshot.
    - `available` boolean: Whether TikTok's ranked top issues exist for the latest snapshot. True with an empty ``issues`` list means TikTok reported no issues.
    - `unavailable_reason` string, nullable: Why ``issues`` is absent, when it is.
    - `issues` ShopHealthTopIssue[]: Rank 1 first.
      - `metric_code` string, nullable: SPS metric: NRR, NBFR, SFCR, OTDR, AHT or IM_DSAT.
      - `rank` integer, nullable: 1 = TikTok's top issue.
      - `description` string, nullable: TikTok's own explanation of the issue.
      - `evaluation_start` string, nullable: First day of the evaluation window (YYYY-MM-DD, UTC).
      - `evaluation_end` string, nullable: Last day of the evaluation window (YYYY-MM-DD, UTC).
      - `evaluate_duration_days` integer, nullable: Length of the evaluation window in days.
    - `summary` string, nullable: TikTok's one-paragraph summary of the issues.

## Other responses

- `422`: Validation Error

## Changes

> 76 revisions in range; 1 not diffed.

- **2026-10-15** `ae1fba149199`: 1 info
  - added the optional property `top_issues` to the response with the `200` status
- **2026-09-19** `291230805105`: 1 info
  - api operation id `shop_health_latest_shop_health_latest_post` removed and replaced with `shop_health_latest`

[Operation history](https://skmtc.dev/reacherapp/apis/reacher-data-api/changes/shop-health/latest/post.md)

---

[API](https://skmtc.dev/reacherapp/apis/reacher-data-api.md) - [All operations](https://skmtc.dev/reacherapp/apis/reacher-data-api/llms.txt) - [OpenAPI document](https://skmtc.dev/reacherapp/apis/reacher-data-api/revisions/63ce74b30b5a?raw)
