---
title: "POST /api/llm/extract-sources"
method: POST
path: "/api/llm/extract-sources"
tags: ["/api/llm"]
---

# POST /api/llm/extract-sources

`POST /api/llm/extract-sources`

Parse native query sources and return referenced tables and cards/models.

    Uses Macaw to parse the SQL, resolves table names to IDs,
    and returns permission-filtered tables with column metadata. Card and model
    references are extracted from native query template tags.

    This is a lightweight endpoint that does not trigger fingerprinting
    or field value fetching.

## Request body

- object
  - `database_id` integer, required
  - `sql` string, required
  - `template_tags` object

## Response `2XX`

Successful response

- object
  - `card_ids` integer[], required
  - `tables` object[], required
    - `columns` object[], required
      - `database_type` string, nullable
      - `description` string, nullable
      - `fk_target` object
        - `field_name` string, required
        - `table_name` string, required
      - `id` integer, required
      - `name` string, required
      - `semantic_type` string, nullable
    - `description` string, nullable
    - `display_name` string, nullable
    - `id` integer, required
    - `name` string, required
    - `schema` string, nullable

## Other responses

- `4XX` — Client error response
- `5XX` — Server error response

---

[API](https://skmtc.net/metabase/apis/metabase-api.md) · [All operations](https://skmtc.net/metabase/apis/metabase-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/metabase/metabase-api/revisions/08b5a2bafb4f/schema)
