# User - Credit Scores

.sc-doc-table table { table-layout: auto; width: 100%; }
table th, table td { word-break: keep-all; overflow-wrap: normal; padding: 8px 14px; vertical-align: top; }
table th:first-child, table td:first-child { white-space: nowrap; }
table td code, table th code { white-space: nowrap; }
Retrieve a user's current credit score and historical score points.
**Authentication.** User access token. The token's user must match the resource owner.
**Score model.** Set per host: **VantageScore 3.0** (default) or **VantageScore 4** (1-bureau only). The `scoreModel` field on each response indicates which model produced the score — `VANTAGE` for VantageScore 3.0 or `VANTAGE_SCORE_4` for VantageScore 4. Both use the same 300–850 range and the same response shape.
**Refresh.** Scores are served from a server-side cache within the host's refresh window (typically weekly or monthly). To force a fresh pull (e.g. after a dispute), call `POST /direct/update-refresh/{id}` from your backend (see Direct - Data & Cache).
**Bureau coverage.** Set per host. Scores are available from **all three bureaus** — Equifax, TransUnion and Experian — in any combination: one bureau (**1B**), two (**2B**), or all three (**3B**). Equifax also offers its own **EFX 3B** score, a merged tri-bureau result from a single Equifax pull.
**Partial enrollment.** A user is enrolled with each of the host's bureaus in turn, and one may decline — most often because the consumer's details do not match that bureau's file. The others still complete and the user reads credit data from those, so a response can carry **fewer bureaus than the host is configured for**: a 3B host can return a 2B payload. Read the `bureaus` array rather than assuming a key is present. We retry the missing bureau on the user's next few logins, so a payload may widen later without anything changing on your side.
**Which endpoint.** Users on the Equifax bundles read `GET /users/efx-latest-scores`, which returns the Equifax format. Users enrolled with multiple bureaus read `GET /users/latest-scores`, which returns one entry per bureau, each in that bureau's own format (send the header `X-TransUnion-Format: v2` for the TransUnion block). All bureaus report VantageScore 3.0 on the 300–850 range. VantageScore 4 is Equifax 1-bureau only.
**Selecting bureaus.** On `GET /users/latest-scores`, send `bureaus=EFX` (or a list, `bureaus=EFX,TU`; values `EFX`, `EXP`, `TU`) to receive only those bureaus. Without the parameter every bureau is returned. The data is the same pull either way — `scoreId` and `generatedAt` do not change — while `scoreType` and `bureaus` describe what was returned. A requested bureau the user has no score for is left out; if none of the requested bureaus has one, the request fails with `SC1003`. An unknown value is rejected with `SC200`.
Learn more: [Credit Scores](/client-spec/products#credit-scores).

 - [GET /users/efx-latest-scores](https://crsintegration.redocly.app/client-spec/user-credit-scores/getefxlatestscores.md): Returns the most recent credit score for the authenticated user including score ranges and score factors. **Requirements:** The user must have passed identity verification. **Equifax only.** This endp
 - [GET /users/latest-scores](https://crsintegration.redocly.app/client-spec/user-credit-scores/getlatestscores.md): Returns the user's latest credit score from every bureau enabled on their host - Equifax, TransUnion, Experian - in a single response. `bureaus` names the bureaus the payload contains and `scoreType`
 - [GET /users/efx-score-history](https://crsintegration.redocly.app/client-spec/user-credit-scores/getefxscorehistory.md): Returns the credit score history for the authenticated user, showing how their score has changed over time. **Requirements:** The user must have passed identity verification. **Equifax only.** This en
