---
title: "NBA confidence model — raw score + components (Pro Insights, AUC 0.855)"
method: GET
path: "/v1/nba/confidence"
tags: ["NBA"]
---

# NBA confidence model — raw score + components (Pro Insights, AUC 0.855)

`GET /v1/nba/confidence`

## Request

- Base URL: `https://api.playcallerapp.com`
- URL: `https://api.playcallerapp.com/v1/nba/confidence`
- Auth: API key in header `X-PlayCaller-Key`

Full detail behind PlayCaller's best-validated signal in the entire portfolio — AUC-ROC 0.855, 84.23x decile lift, promoted ACTIVE 2026-06-19. `/v1/feed` returns a capped display score for this same model; this endpoint exposes the raw (pre-cap) score, percentile, and the 5 underlying signal components including `usage_vacuum`.

**Tier access:** Pro Insights, Syndicate Alpha

## Query parameters

- `player` string, required

## Response `200`

NBA confidence score with raw detail and model audit citation

- object
  - `success` boolean
  - `endpoint` string
  - `player` string
  - `team` string, nullable
  - `position` string, nullable
  - `confirmed_out` boolean
  - `reason` string, nullable: Present when confidence is null: "insufficient game history", "unsupported position (X)", or a disqualification reason
  - `confidence` object, nullable
    - `score` number
    - `display` string
    - `tier` string
    - `label` string
    - `signals` object[]
      - `key` string
      - `label` string
      - `value` number
      - `direction` 'up' | 'down' | 'flat'
      - `note` string
    - `raw` object: Pre-display-cap detail — the actual differentiator this endpoint sells over /v1/feed’s capped summary
      - `raw_features` number[]
      - `normed_features` number[]
      - `z` number
      - `raw_logit` number
      - `calibrated` number
      - `raw_pct` number
      - `capped_pct` number
      - `display_cap` number
      - `was_capped` boolean
  - `model_audit` object
    - `auc` number
    - `decile_lift` number
    - `model_type` string
    - `sport` string
    - `validated` string, date
  - `meta` ResponseMeta
    - `sport` string
    - `league` string: Present on multi-sport (ESPN-backed) endpoints; mirrors sport unless a sport has sub-leagues (e.g. soccer: epl/mls).
    - `tier` string
    - `calls_remaining_this_month` integer
    - `documentation_url` string, uri

## Other responses

- `401`: Missing or invalid API key
- `403`: Pro tier required for this endpoint
- `404`: Player not found or not an NBA player
- `429`: Rate limit or monthly quota exceeded
- `500`: Internal server error

---

[API](https://skmtc.dev/playcallerapp/apis/playcaller-data-api.md) · [All operations](https://skmtc.dev/playcallerapp/apis/playcaller-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/playcallerapp/apis/playcaller-data-api/revisions/100c0a3ffbfe?raw)
