---
title: "Read a template file without importing it"
method: POST
path: "/dashboards/v3/templates/admin/inspect"
tags: ["Dashboard v3 Template Admin"]
---

# Read a template file without importing it

`POST /dashboards/v3/templates/admin/inspect`

## Request

- Base URL: `https://app.mammoth.io/api/v2`
- URL: `https://app.mammoth.io/api/v2/dashboards/v3/templates/admin/inspect`
- 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`

What the file declares: the template it is, the columns it needs, whether it carries example data, whether it carries the template's card image, and — the reason this is a separate call — whether the catalog already has it. Uploading a template that already exists updates it in place rather than adding a second copy, and someone has to be told that before they commit rather than after. A file carrying NO data also comes back with `dataset_names` — this workspace's datasets, so the name it has to be bound to can be completed rather than guessed. Writes nothing.

## Response `200`

What the uploaded template file contains

- BundleInspectResponse
  - `slug` string, required
  - `title` string, required
  - `format` string, required
  - `includes_data` boolean, required
  - `has_thumbnail` boolean
  - `data_name` string, nullable
  - `needs` object[]
  - `missing` string[], nullable
  - `exists` boolean
  - `unchanged` boolean
  - `data_changed` boolean
  - `current_dataset` string, nullable
  - `dataset_names` string[]

## Other responses

- `201`: Document created, URL follows
- `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/5dfd1c296ded?raw)
