---
title: "Fit-score the whole catalog against one dataset"
method: GET
path: "/dashboards/v3/templates/fit"
tags: ["Dashboard v3 Surfaces"]
---

# Fit-score the whole catalog against one dataset

`GET /dashboards/v3/templates/fit`

## Request

- Base URL: `https://app.mammoth.io/api/v2`
- URL: `https://app.mammoth.io/api/v2/dashboards/v3/templates/fit`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-KEY` and API key in header `X-API-SECRET` and API key in header `X-WORKSPACE-ID`

Score every served curated template against one target dataset in a single call — the gallery's hot path once a dataset is in context. Loads the target profile ONCE, then loops the served catalog reusing each entry's cached spec, running the SAME resolver as apply (fit and apply never disagree). Returns a cards-lean fit per template: grade (great|good|partial|poor), reasons (always present on a non-great grade — never a bare score), the matched/total microcopy and required_met. Read-only, no writes, no bake; the profile build + scan run off the event loop. Auth: the v3 workspace gate + the target dataview ACL (mirrors resolve-mapping). ``table_item_id`` is optional — the dataview's latest data item is used when omitted.

## Query parameters

- `dataview_id` integer, required
- `table_item_id` integer, nullable

## Response `200`

Per-template fit grades + reasons against one dataset

- TemplateFitResponse
  - `fits` object[]
  - `dataview_id` integer, required

## Other responses

- `400`: Bad request syntax or unsupported method
- `403`: Request forbidden -- authorization will not help

---

[API](https://skmtc.dev/mammoth/apis/mammoth-analytics.md) · [All operations](https://skmtc.dev/mammoth/apis/mammoth-analytics/llms.txt) · [OpenAPI document](https://skmtc.dev/mammoth/apis/mammoth-analytics/revisions/9d8804f81a10?raw)
