---
title: "Resolve an AI-add figure from an intent"
method: POST
path: "/dashboards/{dashboard_id}/figure-intent"
tags: ["Dashboard v3"]
---

# Resolve an AI-add figure from an intent

`POST /dashboards/{dashboard_id}/figure-intent`

## Request

- Base URL: `https://app.mammoth.io/api/v2`
- URL: `https://app.mammoth.io/api/v2/dashboards/{dashboard_id}/figure-intent`
- 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`

The AI-add omnibox: infer the chart kind (unless pinned), bind the fields via one Haiku call, clamp them deterministically, then resolve the figure through dash-render with FIELDS ONLY (never the intent — ADR D5; the LLM never authors the spec or numbers). Returns the resolved preview directly. Synchronous (not the async-job path chat/ask use): there is no canvas append and no bake to run — just one small Haiku call + one engine-route resolve — and the editor awaits this result to open the studio, so a job + poll would only add latency. The blocking LLM/profile/render work runs off the event loop.

## Path parameters

- `dashboard_id` integer, required

## Request body

- FigureIntentSpec: AI-add figure-intent request
  - `params` FigureIntentParams
    - `intent` string, nullable: Free-text description of the wanted chart
    - `kind` string, nullable: An explicit chart kind
    - `fields` object, nullable: Explicit binding-role overrides (picker path)

## Response `200`

A resolved add-figure preview

- FigureIntentResponse
  - `kind` string, required
  - `added` object, nullable
  - `spec` object, nullable
  - `empty` boolean, nullable
  - `caption` string, nullable
  - `caveat` string, nullable
  - `text` TextBlockSpec
    - `kind` string, required: note | caveat | methodology | source
    - `title` string, nullable
    - `text` string, required
  - `intent_applied` boolean, 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/5dfd1c296ded?raw)
