---
title: "Create a query"
method: POST
path: "/datastore/{connection_id}/query"
tags: ["datastore", "query"]
---

# Create a query

`POST /datastore/{connection_id}/query`

## Path parameters

- `connection_id` string, required

## Query parameters

- `fields` string[]
- `raw` string

## Request body

- DatastoreQuery
  - `table_id` string
  - `database_id` string
  - `query` PropertyDatastoreQueryQuery
    - `sql` string
    - `select` string[]
    - `expand` PropertyDatastoreQueryQueryExpand
    - `filter` PropertyDatastoreQueryQueryFilter
      - `type` 'FILTER' | 'AND' | 'OR', required
      - `filters` DatastoreFilter[]
        - `field` string, required
        - `condition` PropertyDatastoreFilterCondition, required
          - `eq` PropertyDatastoreFilterConditionEq
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `neq` PropertyDatastoreFilterConditionNeq
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `gt` PropertyDatastoreFilterConditionGt
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `gte` PropertyDatastoreFilterConditionGte
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `lt` PropertyDatastoreFilterConditionLt
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `lte` PropertyDatastoreFilterConditionLte
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `like` PropertyDatastoreFilterConditionLike
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `ilike` PropertyDatastoreFilterConditionIlike
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `in` DatastoreFieldValue[]
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `contains` PropertyDatastoreFilterConditionContains
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `not_contains` PropertyDatastoreFilterConditionNotContains
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `is_null` boolean
          - `is_not_null` boolean
      - `and` PropertyDatastoreQueryQueryFilter[]
      - `or` PropertyDatastoreQueryQueryFilter[]
    - `sort_fields` string[]
    - `sort_order` 'asc' | 'desc'
    - `limit` number
    - `offset` number
    - `aggregate` PropertyDatastoreQueryQueryAggregate
      - `count` boolean
      - `sum` PropertyDatastoreQueryQueryAggregateSum
        - `field` string, required
        - `alias` string
      - `avg` PropertyDatastoreQueryQueryAggregateAvg
        - `field` string, required
        - `alias` string
      - `min` PropertyDatastoreQueryQueryAggregateMin
        - `field` string, required
        - `alias` string
      - `max` PropertyDatastoreQueryQueryAggregateMax
        - `field` string, required
        - `alias` string
      - `group_by` string[]
    - `is_count_only` boolean
  - `response` PropertyDatastoreQueryResponse
    - `items` DatastoreRecord[]
      - `id` string
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `database_id` string
      - `table_id` string
      - `fields` PropertyDatastoreRecordFields, required
      - `row_number` number
      - `raw` object
    - `aggregates` PropertyDatastoreQueryResponseAggregates
      - `count` number
      - `sum` PropertyDatastoreQueryResponseAggregatesSum
      - `avg` PropertyDatastoreQueryResponseAggregatesAvg
      - `min` PropertyDatastoreQueryResponseAggregatesMin
      - `max` PropertyDatastoreQueryResponseAggregatesMax
      - `groups` PropertyDatastoreQueryResponseAggregatesGroupsItem[]
    - `total_count` number
  - `raw` object

## Response `200`

Successful

- DatastoreQuery
  - `table_id` string
  - `database_id` string
  - `query` PropertyDatastoreQueryQuery
    - `sql` string
    - `select` string[]
    - `expand` PropertyDatastoreQueryQueryExpand
    - `filter` PropertyDatastoreQueryQueryFilter
      - `type` 'FILTER' | 'AND' | 'OR', required
      - `filters` DatastoreFilter[]
        - `field` string, required
        - `condition` PropertyDatastoreFilterCondition, required
          - `eq` PropertyDatastoreFilterConditionEq
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `neq` PropertyDatastoreFilterConditionNeq
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `gt` PropertyDatastoreFilterConditionGt
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `gte` PropertyDatastoreFilterConditionGte
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `lt` PropertyDatastoreFilterConditionLt
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `lte` PropertyDatastoreFilterConditionLte
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `like` PropertyDatastoreFilterConditionLike
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `ilike` PropertyDatastoreFilterConditionIlike
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `in` DatastoreFieldValue[]
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `contains` PropertyDatastoreFilterConditionContains
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `not_contains` PropertyDatastoreFilterConditionNotContains
            - `string` string
            - `number` number
            - `boolean` boolean
            - `date` string
            - `selection` string[]
            - `is_null` boolean
          - `is_null` boolean
          - `is_not_null` boolean
      - `and` PropertyDatastoreQueryQueryFilter[]
      - `or` PropertyDatastoreQueryQueryFilter[]
    - `sort_fields` string[]
    - `sort_order` 'asc' | 'desc'
    - `limit` number
    - `offset` number
    - `aggregate` PropertyDatastoreQueryQueryAggregate
      - `count` boolean
      - `sum` PropertyDatastoreQueryQueryAggregateSum
        - `field` string, required
        - `alias` string
      - `avg` PropertyDatastoreQueryQueryAggregateAvg
        - `field` string, required
        - `alias` string
      - `min` PropertyDatastoreQueryQueryAggregateMin
        - `field` string, required
        - `alias` string
      - `max` PropertyDatastoreQueryQueryAggregateMax
        - `field` string, required
        - `alias` string
      - `group_by` string[]
    - `is_count_only` boolean
  - `response` PropertyDatastoreQueryResponse
    - `items` DatastoreRecord[]
      - `id` string
      - `created_at` string, date-time
      - `updated_at` string, date-time
      - `database_id` string
      - `table_id` string
      - `fields` PropertyDatastoreRecordFields, required
      - `row_number` number
      - `raw` object
    - `aggregates` PropertyDatastoreQueryResponseAggregates
      - `count` number
      - `sum` PropertyDatastoreQueryResponseAggregatesSum
      - `avg` PropertyDatastoreQueryResponseAggregatesAvg
      - `min` PropertyDatastoreQueryResponseAggregatesMin
      - `max` PropertyDatastoreQueryResponseAggregatesMax
      - `groups` PropertyDatastoreQueryResponseAggregatesGroupsItem[]
    - `total_count` number
  - `raw` object

---

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