---
title: "POST /api/ee/metabot-tools/query-model"
method: POST
path: "/api/ee/metabot-tools/query-model"
tags: ["/api/ee/metabot-tools"]
---

# POST /api/ee/metabot-tools/query-model

`POST /api/ee/metabot-tools/query-model`

Construct a query from a model.

## Request body

- object — Base schema for all tool requests. Contains the conversation ID and optional profile ID.
  - `arguments` MetabaseEnterpriseMetabotV3ToolsApiQueryModelArguments, required
    - `aggregations` MetabaseEnterpriseMetabotV3ToolsApiAggregation[], nullable
      - union — Aggregation - either field-based or measure-based.
        - MetabaseEnterpriseMetabotV3ToolsApiFieldAggregation — Aggregation using a field and function.
          - `bucket` 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year' | 'second-of-minute' | 'minute-of-hour' | 'hour-of-day' | 'day-of-week' | 'day-of-month' | 'day-of-year' | 'week-of-year' | 'month-of-year' | 'quarter-of-year' | 'year-of-era'
          - `field_id` string, required
          - `function` 'avg' | 'count' | 'count-distinct' | 'max' | 'min' | 'sum', required
          - `sort_order` 'asc' | 'desc', nullable
        - MetabaseEnterpriseMetabotV3ToolsApiMeasureAggregation — Aggregation using a pre-defined measure.
          - `measure_id` integer, required
          - `sort_order` 'asc' | 'desc', nullable
    - `fields` MetabaseEnterpriseMetabotV3ToolsApiField[], nullable
      - `bucket` 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year' | 'second-of-minute' | 'minute-of-hour' | 'hour-of-day' | 'day-of-week' | 'day-of-month' | 'day-of-year' | 'week-of-year' | 'month-of-year' | 'quarter-of-year' | 'year-of-era'
      - `field_id` string, required
    - `filters` MetabaseEnterpriseMetabotV3ToolsApiFilter[], nullable
      - union
        - MetabaseEnterpriseMetabotV3ToolsApiSegmentFilter — Filter using a pre-defined segment.
          - `segment_id` integer, required
        - MetabaseEnterpriseMetabotV3ToolsApiExistenceFilter
          - `field_id` string, required
          - `operation` 'is-null' | 'is-not-null' | 'string-is-empty' | 'string-is-not-empty' | 'is-true' | 'is-false', required
        - MetabaseEnterpriseMetabotV3ToolsApiTemporalExtractionFilter
          - `field_id` string, required
          - `operation` 'year-equals' | 'year-not-equals' | 'quarter-equals' | 'quarter-not-equals' | 'month-equals' | 'month-not-equals' | 'day-of-week-equals' | 'day-of-week-not-equals' | 'hour-equals' | 'hour-not-equals' | 'minute-equals' | 'minute-not-equals' | 'second-equals' | 'second-not-equals', required
          - `value` integer, required
        - MetabaseEnterpriseMetabotV3ToolsApiDisjunctiveTemporalExtractionFilter
          - `field_id` string, required
          - `operation` 'year-equals' | 'year-not-equals' | 'quarter-equals' | 'quarter-not-equals' | 'month-equals' | 'month-not-equals' | 'day-of-week-equals' | 'day-of-week-not-equals' | 'hour-equals' | 'hour-not-equals' | 'minute-equals' | 'minute-not-equals' | 'second-equals' | 'second-not-equals', required
          - `values` integer[], required
        - MetabaseEnterpriseMetabotV3ToolsApiTemporalFilter
          - `bucket` 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year' | 'second-of-minute' | 'minute-of-hour' | 'hour-of-day' | 'day-of-week' | 'day-of-month' | 'day-of-year' | 'week-of-year' | 'month-of-year' | 'quarter-of-year' | 'year-of-era'
          - `field_id` string, required
          - `operation` 'equals' | 'not-equals' | 'greater-than' | 'greater-than-or-equal' | 'less-than' | 'less-than-or-equal' | 'date-equals' | 'date-not-equals' | 'date-before' | 'date-on-or-before' | 'date-after' | 'date-on-or-after', required
          - `value` union, required
            - string
            - integer
        - MetabaseEnterpriseMetabotV3ToolsApiDisjunctiveTemporalFilter
          - `bucket` 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year' | 'second-of-minute' | 'minute-of-hour' | 'hour-of-day' | 'day-of-week' | 'day-of-month' | 'day-of-year' | 'week-of-year' | 'month-of-year' | 'quarter-of-year' | 'year-of-era'
          - `field_id` string, required
          - `operation` 'equals' | 'not-equals' | 'greater-than' | 'greater-than-or-equal' | 'less-than' | 'less-than-or-equal', required
          - `values` union[], required
            - union
              - …
        - MetabaseEnterpriseMetabotV3ToolsApiStringFilter
          - `field_id` string, required
          - `operation` 'equals' | 'not-equals' | 'string-equals' | 'string-not-equals' | 'string-contains' | 'string-not-contains' | 'string-starts-with' | 'string-ends-with', required
          - `value` string, required
        - MetabaseEnterpriseMetabotV3ToolsApiDisjunctiveStringDateFilter
          - `field_id` string, required
          - `operation` 'equals' | 'not-equals' | 'string-contains' | 'string-not-contains' | 'string-starts-with' | 'string-ends-with', required
          - `values` string[], required
        - MetabaseEnterpriseMetabotV3ToolsApiNumericFilter
          - `field_id` string, required
          - `operation` 'equals' | 'not-equals' | 'greater-than' | 'greater-than-or-equal' | 'less-than' | 'less-than-or-equal' | 'number-equals' | 'number-not-equals' | 'number-greater-than' | 'number-greater-than-or-equal' | 'number-less-than' | 'number-less-than-or-equal', required
          - `value` union, required
            - integer
            - number
        - MetabaseEnterpriseMetabotV3ToolsApiDisjunctiveNumericFilter
          - `field_id` string, required
          - `operation` 'equals' | 'not-equals' | 'number-equals' | 'number-not-equals', required
          - `values` union[], required
            - union
              - …
    - `group_by` MetabaseEnterpriseMetabotV3ToolsApiGroupBy[], nullable
      - `field_granularity` 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year' | 'day-of-week', nullable
      - `field_id` string, required
    - `limit` integer, nullable
    - `model_id` integer, required
    - `order_by` object[], nullable
      - `direction` 'asc' | 'desc', required
      - `field` MetabaseEnterpriseMetabotV3ToolsApiField, required
        - `bucket` 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year' | 'second-of-minute' | 'minute-of-hour' | 'hour-of-day' | 'day-of-week' | 'day-of-month' | 'day-of-year' | 'week-of-year' | 'month-of-year' | 'quarter-of-year' | 'year-of-era'
        - `field_id` string, required
  - `conversation_id` string, required — value must be a valid UUID.
  - `profile_id` string, nullable

## Response `2XX`

Base schema for all tool requests. Contains the conversation ID and optional profile ID.

- object — Base schema for all tool requests. Contains the conversation ID and optional profile ID.
  - `conversation_id` string, required — value must be a valid UUID.
  - `profile_id` string, nullable

## Other responses

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

## Changes

- **2026-01-20** `bd1deee7eae2` — 1 warning, 4 info
  - removed `subschema #1, subschema #2` from the `arguments/allOf[subschema #1]/aggregations/oneOf[subschema #1]/items/` request property `allOf` list
  - added the new optional request property `profile_id`
  - added `#/components/schemas/metabase-enterprise.metabot-v3.tools.api.field-aggregation, #/components/schemas/metabase-enterprise.metabot-v3.tools.api.measure-aggregation` to the `arguments/allOf[subschema #1]/aggregations/oneOf[subschema #1]/items/` request property `anyOf` list
  - added `#/components/schemas/metabase-enterprise.metabot-v3.tools.api.segment-filter` to the `arguments/allOf[subschema #1]/filters/oneOf[subschema #1]/items/` request property `anyOf` list
  - …1 more

[Change history](https://skmtc.dev/metabase/apis/metabase-api/changes/api/ee/metabot-tools/query-model/post.md)

---

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