---
title: "POST /arrays/{namespace}/{array}/query/submit"
method: POST
path: "/arrays/{namespace}/{array}/query/submit"
tags: ["query"]
---

# POST /arrays/{namespace}/{array}/query/submit

`POST /arrays/{namespace}/{array}/query/submit`

## Request

- Base URL: `/v2` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/v2/arrays/{namespace}/{array}/query/submit`
- Auth: one of:
  - HTTP basic
  - API key in header `X-TILEDB-REST-API-KEY`

send a query to run against a specified array/URI registered to a group/project

## Request body

- Query
  - `type` 'READ' | 'WRITE', required: Type of query
  - `layout` 'row-major' | 'col-major' | 'global-order' | 'unordered', required: Layout of array
  - `status` 'FAILED' | 'COMPLETED' | 'INPROGRESS' | 'INCOMPLETE' | 'UNINITIALIZED', required: Status of query
  - `attributeBufferHeaders` AttributeBufferHeader[], required: List of attribute buffer headers
    - `name` string, required: Attribute name
    - `fixedLenBufferSizeInBytes` integer, required: Number of bytes in the fixed-length attribute data buffer (offsets for var-len attributes)
    - `varLenBufferSizeInBytes` integer, required: Number of bytes in the var-length attribute data buffer
    - `validityLenBufferSizeInBytes` integer: Number of bytes for validity in case attribute is nullable
    - `originalFixedLenBufferSizeInBytes` integer: Original user set number of bytes in the fixed-length attribute data buffer
    - `originalVarLenBufferSizeInBytes` integer: Original user set number of bytes in the var-length attribute data buffer
    - `originalValidityLenBufferSizeInBytes` integer: Original user set number of bytes in the validity data buffer
  - `writer` Writer
    - `checkCoordDups` boolean
    - `checkCoordOOB` boolean
    - `dedupCoords` boolean
    - `subarrayRanges` Subarray: A Subarray
      - `layout` 'row-major' | 'col-major' | 'global-order' | 'unordered': Layout of array
      - `ranges` SubarrayRanges[]: List of 1D ranges, one per dimension
        - `type` 'INT32' | 'INT64' | 'FLOAT32' | 'FLOAT64' | 'CHAR' | 'INT8' | 'UINT8' | 'INT16' | 'UINT16' | 'UINT32' | 'UINT64' | 'STRING_ASCII' | 'STRING_UTF8' | 'STRING_UTF16' | 'STRING_UTF32' | 'STRING_UCS2' | 'STRING_UCS4' | 'ANY' | 'DATETIME_YEAR' | 'DATETIME_MONTH' | 'DATETIME_WEEK' | 'DATETIME_DAY' | 'DATETIME_HR' | 'DATETIME_MIN' | 'DATETIME_SEC' | 'DATETIME_MS' | 'DATETIME_US' | 'DATETIME_NS' | 'DATETIME_PS' | 'DATETIME_FS' | 'DATETIME_AS' | 'TIME_HR' | 'TIME_MIN' | 'TIME_SEC' | 'TIME_MS' | 'TIME_US' | 'TIME_NS' | 'TIME_PS' | 'TIME_FS' | 'TIME_AS' | 'BLOB' | 'BOOL': TileDB data type
        - `hasDefaultRange` boolean: True if the range is the default range
        - `buffer` integer[]: The bytes of the ranges
        - `bufferSizes` integer[]: The list of sizes per range
        - `bufferStartSizes` integer[]: The list of start sizes per range
    - `subarray` DomainArray: Domain object for an array of each type
      - `int8` integer[]
      - `uint8` integer[]
      - `int16` integer[]
      - `uint16` integer[]
      - `int32` integer[]
      - `uint32` integer[]
      - `int64` integer[]
      - `uint64` integer[]
      - `float32` number[]
      - `float64` number[]
  - `reader` QueryReader: Read struct (can't be called reader due to class name conflict)
    - `layout` 'row-major' | 'col-major' | 'global-order' | 'unordered': Layout of array
    - `subarray` Subarray: A Subarray
      - `layout` 'row-major' | 'col-major' | 'global-order' | 'unordered': Layout of array
      - `ranges` SubarrayRanges[]: List of 1D ranges, one per dimension
        - `type` 'INT32' | 'INT64' | 'FLOAT32' | 'FLOAT64' | 'CHAR' | 'INT8' | 'UINT8' | 'INT16' | 'UINT16' | 'UINT32' | 'UINT64' | 'STRING_ASCII' | 'STRING_UTF8' | 'STRING_UTF16' | 'STRING_UTF32' | 'STRING_UCS2' | 'STRING_UCS4' | 'ANY' | 'DATETIME_YEAR' | 'DATETIME_MONTH' | 'DATETIME_WEEK' | 'DATETIME_DAY' | 'DATETIME_HR' | 'DATETIME_MIN' | 'DATETIME_SEC' | 'DATETIME_MS' | 'DATETIME_US' | 'DATETIME_NS' | 'DATETIME_PS' | 'DATETIME_FS' | 'DATETIME_AS' | 'TIME_HR' | 'TIME_MIN' | 'TIME_SEC' | 'TIME_MS' | 'TIME_US' | 'TIME_NS' | 'TIME_PS' | 'TIME_FS' | 'TIME_AS' | 'BLOB' | 'BOOL': TileDB data type
        - `hasDefaultRange` boolean: True if the range is the default range
        - `buffer` integer[]: The bytes of the ranges
        - `bufferSizes` integer[]: The list of sizes per range
        - `bufferStartSizes` integer[]: The list of start sizes per range
    - `readState` ReadState: state for reads
      - `initialized` boolean: True if the reader has been initialized.
      - `overflowed` boolean: True if the query produced results that could not fit in some buffer.
      - `unsplittable` boolean: True if the current subarray partition is unsplittable.
      - `subarrayPartitioner` SubarrayPartitioner: The subarray partitioner
        - `subarray` Subarray: A Subarray
          - `layout` 'row-major' | 'col-major' | 'global-order' | 'unordered': Layout of array
          - `ranges` SubarrayRanges[]: List of 1D ranges, one per dimension
            - `type` 'INT32' | 'INT64' | 'FLOAT32' | 'FLOAT64' | 'CHAR' | 'INT8' | 'UINT8' | 'INT16' | 'UINT16' | 'UINT32' | 'UINT64' | 'STRING_ASCII' | 'STRING_UTF8' | 'STRING_UTF16' | 'STRING_UTF32' | 'STRING_UCS2' | 'STRING_UCS4' | 'ANY' | 'DATETIME_YEAR' | 'DATETIME_MONTH' | 'DATETIME_WEEK' | 'DATETIME_DAY' | 'DATETIME_HR' | 'DATETIME_MIN' | 'DATETIME_SEC' | 'DATETIME_MS' | 'DATETIME_US' | 'DATETIME_NS' | 'DATETIME_PS' | 'DATETIME_FS' | 'DATETIME_AS' | 'TIME_HR' | 'TIME_MIN' | 'TIME_SEC' | 'TIME_MS' | 'TIME_US' | 'TIME_NS' | 'TIME_PS' | 'TIME_FS' | 'TIME_AS' | 'BLOB' | 'BOOL': TileDB data type
            - `hasDefaultRange` boolean: True if the range is the default range
            - `buffer` integer[]: The bytes of the ranges
            - `bufferSizes` integer[]: The list of sizes per range
            - `bufferStartSizes` integer[]: The list of start sizes per range
        - `budget` AttributeBufferSize[]: Result size budget (in bytes) for all attributes.
          - `attribute` string, required: name of attribute
          - `offsetBytes` integer, required: buffer size (in bytes) of offset buffer
          - `dataBytes` integer, required: buffer size (in bytes) of data buffer
        - `current` object: The current partition info
          - `subarray` Subarray: A Subarray
            - `layout` 'row-major' | 'col-major' | 'global-order' | 'unordered': Layout of array
            - `ranges` SubarrayRanges[]: List of 1D ranges, one per dimension
              - …
          - `start` integer: PartitionInfo start
          - `end` integer: PartitionInfo end
          - `splitMultiRange` boolean: PartitionInfo splitMultiRange
        - `state` object: The state information for the remaining partitions to be produced
          - `start` integer: State start
          - `end` integer: State end
          - `singleRange` Subarray[]: State singleRange
            - `layout` 'row-major' | 'col-major' | 'global-order' | 'unordered': Layout of array
            - `ranges` SubarrayRanges[]: List of 1D ranges, one per dimension
              - …
          - `multiRange` Subarray[]: State multiRange
            - `layout` 'row-major' | 'col-major' | 'global-order' | 'unordered': Layout of array
            - `ranges` SubarrayRanges[]: List of 1D ranges, one per dimension
              - …
        - `memoryBudget` integer: The memory budget for the fixed-sized attributes and the offsets of the var-sized attributes
        - `memoryBudgetVar` integer: The memory budget for the var-sized attributes
  - `array` Array, required: Represents an open array
    - `queryType` 'READ' | 'WRITE', required: Type of query
    - `uri` string, required: Array uri
    - `endTimestamp` number: Ending timestamp (epoch milliseconds) array is opened at
    - `startTimestamp` number: Starting timestamp (epoch milliseconds) array is opened at
    - `arraySchemaLatest` ArraySchema: ArraySchema during creation or retrieval
      - `uri` string: URI of schema
      - `name` string: name of schema
      - `version` integer[], required: file format version
      - `arrayType` 'dense' | 'sparse', required: TileDB array type
      - `tileOrder` 'row-major' | 'col-major' | 'global-order' | 'unordered', required: Layout of array
      - `cellOrder` 'row-major' | 'col-major' | 'global-order' | 'unordered', required: Layout of array
      - `capacity` integer, required: Capacity of array
      - `coordsFilterPipeline` FilterPipeline, required: One or more filters to apply
        - `filters` Filter[]
          - `type` 'FILTER_NONE' | 'FILTER_GZIP' | 'FILTER_ZSTD' | 'FILTER_LZ4' | 'FILTER_RLE' | 'FILTER_BZIP2' | 'FILTER_DOUBLE_DELTA' | 'FILTER_BIT_WIDTH_REDUCTION' | 'FILTER_BITSHUFFLE' | 'FILTER_BYTESHUFFLE' | 'FILTER_POSITIVE_DELTA' | 'FILTER_SCALE_FLOAT' | 'FILTER_WEBP' | 'FILTER_CHECKSUM_MD5' | 'FILTER_CHECKSUM_SHA256' | 'FILTER_DICTIONARY', required: TileDB filter types
          - `floatScaleConfig` FloatScaleConfig: FloatScaleConfig
            - `scale` integer
            - `offset` integer
            - `byteWidth` integer
          - `data` object: Filter data
            - `text` string
            - `bytes` integer[]
            - `int8` integer
            - `uint8` integer
            - `int16` integer
            - `uint16` integer
            - `int32` integer
            - `uint32` integer
            - `int64` integer
            - `uint64` integer
            - `float32` integer
            - `float64` integer
      - `offsetFilterPipeline` FilterPipeline, required: One or more filters to apply
        - `filters` Filter[]
          - `type` 'FILTER_NONE' | 'FILTER_GZIP' | 'FILTER_ZSTD' | 'FILTER_LZ4' | 'FILTER_RLE' | 'FILTER_BZIP2' | 'FILTER_DOUBLE_DELTA' | 'FILTER_BIT_WIDTH_REDUCTION' | 'FILTER_BITSHUFFLE' | 'FILTER_BYTESHUFFLE' | 'FILTER_POSITIVE_DELTA' | 'FILTER_SCALE_FLOAT' | 'FILTER_WEBP' | 'FILTER_CHECKSUM_MD5' | 'FILTER_CHECKSUM_SHA256' | 'FILTER_DICTIONARY', required: TileDB filter types
          - `floatScaleConfig` FloatScaleConfig: FloatScaleConfig
            - `scale` integer
            - `offset` integer
            - `byteWidth` integer
          - `data` object: Filter data
            - `text` string
            - `bytes` integer[]
            - `int8` integer
            - `uint8` integer
            - `int16` integer
            - `uint16` integer
            - `int32` integer
            - `uint32` integer
            - `int64` integer
            - `uint64` integer
            - `float32` integer
            - `float64` integer
      - `validityFilterPipeline` FilterPipeline: One or more filters to apply
        - `filters` Filter[]
          - `type` 'FILTER_NONE' | 'FILTER_GZIP' | 'FILTER_ZSTD' | 'FILTER_LZ4' | 'FILTER_RLE' | 'FILTER_BZIP2' | 'FILTER_DOUBLE_DELTA' | 'FILTER_BIT_WIDTH_REDUCTION' | 'FILTER_BITSHUFFLE' | 'FILTER_BYTESHUFFLE' | 'FILTER_POSITIVE_DELTA' | 'FILTER_SCALE_FLOAT' | 'FILTER_WEBP' | 'FILTER_CHECKSUM_MD5' | 'FILTER_CHECKSUM_SHA256' | 'FILTER_DICTIONARY', required: TileDB filter types
          - `floatScaleConfig` FloatScaleConfig: FloatScaleConfig
            - `scale` integer
            - `offset` integer
            - `byteWidth` integer
          - `data` object: Filter data
            - `text` string
            - `bytes` integer[]
            - `int8` integer
            - `uint8` integer
            - `int16` integer
            - `uint16` integer
            - `int32` integer
            - `uint32` integer
            - `int64` integer
            - `uint64` integer
            - `float32` integer
            - `float64` integer
      - `domain` Domain, required: Domain of array
        - `type` 'INT32' | 'INT64' | 'FLOAT32' | 'FLOAT64' | 'CHAR' | 'INT8' | 'UINT8' | 'INT16' | 'UINT16' | 'UINT32' | 'UINT64' | 'STRING_ASCII' | 'STRING_UTF8' | 'STRING_UTF16' | 'STRING_UTF32' | 'STRING_UCS2' | 'STRING_UCS4' | 'ANY' | 'DATETIME_YEAR' | 'DATETIME_MONTH' | 'DATETIME_WEEK' | 'DATETIME_DAY' | 'DATETIME_HR' | 'DATETIME_MIN' | 'DATETIME_SEC' | 'DATETIME_MS' | 'DATETIME_US' | 'DATETIME_NS' | 'DATETIME_PS' | 'DATETIME_FS' | 'DATETIME_AS' | 'TIME_HR' | 'TIME_MIN' | 'TIME_SEC' | 'TIME_MS' | 'TIME_US' | 'TIME_NS' | 'TIME_PS' | 'TIME_FS' | 'TIME_AS' | 'BLOB' | 'BOOL', required: TileDB data type
        - `tileOrder` 'row-major' | 'col-major' | 'global-order' | 'unordered', required: Layout of array
        - `cellOrder` 'row-major' | 'col-major' | 'global-order' | 'unordered', required: Layout of array
        - `dimensions` Dimension[], required: Array of dimensions
          - `name` string: Dimension name
          - `type` 'INT32' | 'INT64' | 'FLOAT32' | 'FLOAT64' | 'CHAR' | 'INT8' | 'UINT8' | 'INT16' | 'UINT16' | 'UINT32' | 'UINT64' | 'STRING_ASCII' | 'STRING_UTF8' | 'STRING_UTF16' | 'STRING_UTF32' | 'STRING_UCS2' | 'STRING_UCS4' | 'ANY' | 'DATETIME_YEAR' | 'DATETIME_MONTH' | 'DATETIME_WEEK' | 'DATETIME_DAY' | 'DATETIME_HR' | 'DATETIME_MIN' | 'DATETIME_SEC' | 'DATETIME_MS' | 'DATETIME_US' | 'DATETIME_NS' | 'DATETIME_PS' | 'DATETIME_FS' | 'DATETIME_AS' | 'TIME_HR' | 'TIME_MIN' | 'TIME_SEC' | 'TIME_MS' | 'TIME_US' | 'TIME_NS' | 'TIME_PS' | 'TIME_FS' | 'TIME_AS' | 'BLOB' | 'BOOL', required: TileDB data type
          - `domain` DomainArray, required: Domain object for an array of each type
            - `int8` integer[]
            - `uint8` integer[]
            - `int16` integer[]
            - `uint16` integer[]
            - `int32` integer[]
            - `uint32` integer[]
            - `int64` integer[]
            - `uint64` integer[]
            - `float32` number[]
            - `float64` number[]
          - `nullTileExtent` boolean, required: Is tile extent null
          - `tileExtent` object: Extent of tile
            - `int8` integer
            - `uint8` integer
            - `int16` integer
            - `uint16` integer
            - `int32` integer
            - `uint32` integer
            - `int64` integer
            - `uint64` integer
            - `float32` integer
            - `float64` integer
          - `filterPipeline` FilterPipeline: One or more filters to apply
            - `filters` Filter[]
              - …
      - `attributes` Attribute[], required: Attributes of array
        - `name` string, required: Attribute name
        - `type` 'INT32' | 'INT64' | 'FLOAT32' | 'FLOAT64' | 'CHAR' | 'INT8' | 'UINT8' | 'INT16' | 'UINT16' | 'UINT32' | 'UINT64' | 'STRING_ASCII' | 'STRING_UTF8' | 'STRING_UTF16' | 'STRING_UTF32' | 'STRING_UCS2' | 'STRING_UCS4' | 'ANY' | 'DATETIME_YEAR' | 'DATETIME_MONTH' | 'DATETIME_WEEK' | 'DATETIME_DAY' | 'DATETIME_HR' | 'DATETIME_MIN' | 'DATETIME_SEC' | 'DATETIME_MS' | 'DATETIME_US' | 'DATETIME_NS' | 'DATETIME_PS' | 'DATETIME_FS' | 'DATETIME_AS' | 'TIME_HR' | 'TIME_MIN' | 'TIME_SEC' | 'TIME_MS' | 'TIME_US' | 'TIME_NS' | 'TIME_PS' | 'TIME_FS' | 'TIME_AS' | 'BLOB' | 'BOOL', required: TileDB data type
        - `filterPipeline` FilterPipeline, required: One or more filters to apply
          - `filters` Filter[]
            - `type` 'FILTER_NONE' | 'FILTER_GZIP' | 'FILTER_ZSTD' | 'FILTER_LZ4' | 'FILTER_RLE' | 'FILTER_BZIP2' | 'FILTER_DOUBLE_DELTA' | 'FILTER_BIT_WIDTH_REDUCTION' | 'FILTER_BITSHUFFLE' | 'FILTER_BYTESHUFFLE' | 'FILTER_POSITIVE_DELTA' | 'FILTER_SCALE_FLOAT' | 'FILTER_WEBP' | 'FILTER_CHECKSUM_MD5' | 'FILTER_CHECKSUM_SHA256' | 'FILTER_DICTIONARY', required: TileDB filter types
            - `floatScaleConfig` FloatScaleConfig: FloatScaleConfig
              - …
            - `data` object: Filter data
              - …
        - `cellValNum` integer, required: Attribute number of values per cell
        - `nullable` boolean: Is attribute nullable
        - `fillValueValidity` boolean: Default validity fill value for nullable attributes
        - `fillValue` integer[]: The default fill value
      - `allowsDuplicates` boolean: True if the array allows coordinate duplicates. Applicable only to sparse arrays.
      - `timestampRange` integer[]: The list of sizes per range
    - `arraySchemasAll` ArraySchemaMap: array's schemas
      - `entries` ArraySchemaEntry[]: List of array schemas entries
        - `key` string
        - `value` ArraySchema: ArraySchema during creation or retrieval
          - `uri` string: URI of schema
          - `name` string: name of schema
          - `version` integer[], required: file format version
          - `arrayType` 'dense' | 'sparse', required: TileDB array type
          - `tileOrder` 'row-major' | 'col-major' | 'global-order' | 'unordered', required: Layout of array
          - `cellOrder` 'row-major' | 'col-major' | 'global-order' | 'unordered', required: Layout of array
          - `capacity` integer, required: Capacity of array
          - `coordsFilterPipeline` FilterPipeline, required: One or more filters to apply
            - `filters` Filter[]
              - …
          - `offsetFilterPipeline` FilterPipeline, required: One or more filters to apply
            - `filters` Filter[]
              - …
          - `validityFilterPipeline` FilterPipeline: One or more filters to apply
            - `filters` Filter[]
              - …
          - `domain` Domain, required: Domain of array
            - `type` 'INT32' | 'INT64' | 'FLOAT32' | 'FLOAT64' | 'CHAR' | 'INT8' | 'UINT8' | 'INT16' | 'UINT16' | 'UINT32' | 'UINT64' | 'STRING_ASCII' | 'STRING_UTF8' | 'STRING_UTF16' | 'STRING_UTF32' | 'STRING_UCS2' | 'STRING_UCS4' | 'ANY' | 'DATETIME_YEAR' | 'DATETIME_MONTH' | 'DATETIME_WEEK' | 'DATETIME_DAY' | 'DATETIME_HR' | 'DATETIME_MIN' | 'DATETIME_SEC' | 'DATETIME_MS' | 'DATETIME_US' | 'DATETIME_NS' | 'DATETIME_PS' | 'DATETIME_FS' | 'DATETIME_AS' | 'TIME_HR' | 'TIME_MIN' | 'TIME_SEC' | 'TIME_MS' | 'TIME_US' | 'TIME_NS' | 'TIME_PS' | 'TIME_FS' | 'TIME_AS' | 'BLOB' | 'BOOL', required: TileDB data type
            - `tileOrder` 'row-major' | 'col-major' | 'global-order' | 'unordered', required: Layout of array
            - `cellOrder` 'row-major' | 'col-major' | 'global-order' | 'unordered', required: Layout of array
            - `dimensions` Dimension[], required: Array of dimensions
              - …
          - `attributes` Attribute[], required: Attributes of array
            - `name` string, required: Attribute name
            - `type` 'INT32' | 'INT64' | 'FLOAT32' | 'FLOAT64' | 'CHAR' | 'INT8' | 'UINT8' | 'INT16' | 'UINT16' | 'UINT32' | 'UINT64' | 'STRING_ASCII' | 'STRING_UTF8' | 'STRING_UTF16' | 'STRING_UTF32' | 'STRING_UCS2' | 'STRING_UCS4' | 'ANY' | 'DATETIME_YEAR' | 'DATETIME_MONTH' | 'DATETIME_WEEK' | 'DATETIME_DAY' | 'DATETIME_HR' | 'DATETIME_MIN' | 'DATETIME_SEC' | 'DATETIME_MS' | 'DATETIME_US' | 'DATETIME_NS' | 'DATETIME_PS' | 'DATETIME_FS' | 'DATETIME_AS' | 'TIME_HR' | 'TIME_MIN' | 'TIME_SEC' | 'TIME_MS' | 'TIME_US' | 'TIME_NS' | 'TIME_PS' | 'TIME_FS' | 'TIME_AS' | 'BLOB' | 'BOOL', required: TileDB data type
            - `filterPipeline` FilterPipeline, required: One or more filters to apply
              - …
            - `cellValNum` integer, required: Attribute number of values per cell
            - `nullable` boolean: Is attribute nullable
            - `fillValueValidity` boolean: Default validity fill value for nullable attributes
            - `fillValue` integer[]: The default fill value
          - `allowsDuplicates` boolean: True if the array allows coordinate duplicates. Applicable only to sparse arrays.
          - `timestampRange` integer[]: The list of sizes per range
    - `arrayMetadata` ArrayMetadata: user's TileDB array metadata
      - `entries` ArrayMetadataEntry[]: List of metadata entries
        - `key` string
        - `type` string
        - `valueNum` integer
        - `value` integer[]
        - `del` boolean
    - `nonEmptyDomain` NonEmptyDomainList: object containing non empty domains
      - `nonEmptyDomains` NonEmptyDomain[]: Array's non empty domain
        - `nonEmptyDomain` DomainArray, required: Domain object for an array of each type
          - `int8` integer[]
          - `uint8` integer[]
          - `int16` integer[]
          - `uint16` integer[]
          - `int32` integer[]
          - `uint32` integer[]
          - `int64` integer[]
          - `uint64` integer[]
          - `float32` number[]
          - `float64` number[]
        - `isEmpty` boolean, required: Is non-empty domain really empty?
        - `sizes` integer[]: Number of elements in DomainArray for var length
    - `arrayDirectory` ArrayDirectory: Array directory (for reads)
      - `unfilteredFragmentUris` string[]: fragment URIs
      - `consolidatedCommitUris` string[]: consolidated commit URI set
      - `arraySchemaUris` string[]: URIs of all the array schema files
      - `latestArraySchemaUri` string: latest array schema URI.
      - `arrayMetaUrisToVacuum` string[]: the array metadata files to vacuum
      - `arrayMetaVacUrisToVacuum` string[]: the array metadata vac files to vacuum
      - `commitUrisToConsolidate` string[]: the commit files to consolidate
      - `commitUrisToVacuum` string[]: the commit files to vacuum
      - `consolidatedCommitUrisToVacuum` string[]: the consolidated commit files to vacuum
      - `fragmentMetaUris` string[]: the URIs of the consolidated fragment metadata files
      - `timestampStart` number: Only the files created after timestamp_start are listed
      - `timestampEnd` number: Only the files created before timestamp_end are listed
      - `arrayMetaUris` TimestampedURI[]: the timestamped filtered array metadata URIs, after removing the ones that need to be vacuumed and those that do not fall within
        - `uri` string: the uri
        - `timestampStart` number: start of timestamp
        - `timestampEnd` number: end of timestamp
      - `deleteAndUpdateTileLocation` DeleteAndUpdateTileLocation[]: the location of delete tiles
        - `uri` string: the uri
        - `conditionMarker` string
        - `offset` number
    - `fragmentMetadataAll` FragmentMetadata[]: metadata for all fragments (for reads)
      - `fileSizes` number[]: The size of each attribute file
      - `fileVarSizes` number[]: The size of each var attribute file
      - `fileValiditySizes` number[]: The size of each validity attribute file
      - `fragmentUri` string: The uri of the fragment this metadata belongs to
      - `hasTimestamps` boolean: True if the fragment has timestamps
      - `hasDeleteMeta` boolean: True if the fragment has delete metadata
      - `sparseTileNum` number: The number of sparse tiles
      - `tileIndexBase` number: Used to track the tile index base between global order writes
      - `tileOffsets` array[]: Tile offsets in their attribute files
        - number[]
      - `tileVarOffsets` array[]: Variable tile offsets in their attribute files
        - number[]
      - `tileVarSizes` array[]: The sizes of the uncompressed variable tiles
        - number[]
      - `tileValidityOffsets` array[]: Validity tile offests in their attribute files
        - number[]
      - `tileMinBuffer` array[]: tile min buffers
        - number[]
      - `tileMinVarBuffer` array[]: tile min buffers for var length data
        - number[]
      - `tileMaxBuffer` array[]: tile max buffers
        - number[]
      - `tileMaxVarBuffer` array[]: tile max buffers for var length data
        - number[]
      - `tileSums` array[]: tile sum values
        - number[]
      - `tileNullCounts` array[]: tile null count values
        - number[]
      - `fragmentMins` array[]: fragment min values
        - number[]
      - `fragmentMaxs` array[]: fragment max values
        - number[]
      - `fragmentSums` number[]: fragment sum values
      - `fragmentNullCounts` number[]: fragment null count values
      - `version` integer: the format version of this metadata
      - `timestampRange` number[]: A pair of timestamps for fragment
      - `lastTileCellNum` integer: The number of cells in the last tile
      - `nonEmptyDomain` NonEmptyDomainList: object containing non empty domains
        - `nonEmptyDomains` NonEmptyDomain[]: Array's non empty domain
          - `nonEmptyDomain` DomainArray, required: Domain object for an array of each type
            - `int8` integer[]
            - `uint8` integer[]
            - `int16` integer[]
            - `uint16` integer[]
            - `int32` integer[]
            - `uint32` integer[]
            - `int64` integer[]
            - `uint64` integer[]
            - `float32` number[]
            - `float64` number[]
          - `isEmpty` boolean, required: Is non-empty domain really empty?
          - `sizes` integer[]: Number of elements in DomainArray for var length
      - `rtree` string, binary: The RTree for the MBRs serialized as a blob
      - `hasConsolidatedFooter` boolean: if the fragment metadata footer appears in a consolidated file
      - `gtOffsets` GenericTileOffsets: Array directory (for reads)
        - `rtree` number: RTree serialized as a blob
        - `tileOffsets` number[]: tile offsets
        - `tileVarOffsets` number[]: variable tile offsets
        - `tileVarSizes` number[]: sizes of the uncompressed variable tiles offsets
        - `tileValidityOffsets` number[]: tile validity offsets
        - `tileMinOffsets` number[]: min tile offsets
        - `tileMaxOffsets` number[]: max tile offsets
        - `tileSumOffsets` number[]: tile sum offsets
        - `tileNullCountOffsets` number[]: null count offsets
        - `fragmentMinMaxSumNullCountOffset` number: fragment min/max/sum/nullcount offsets
        - `processedConditionsOffsets` number: processed conditions offsets
    - `openedAtEndTimestamp` number: The ending timestamp that the array was last opened at
  - `totalFixedLengthBufferBytes` integer, required: Total number of bytes in fixed size attribute buffers.
  - `totalVarLenBufferBytes` integer, required: Total number of bytes in variable size attribute buffers.
  - `totalValidityBufferBytes` integer: Total number of bytes in validity buffers

## Response `200`

query completed and results are returned in query object

- string, binary

## Other responses

- `204`: query completed successfully with no return
- `502`: Bad Gateway
- `default`: error response

## Changes

- **2023-02-17** (v2) `1dc25429ac96`: 1 info
  - added the non-success response with the status `502`
- **2023-02-17** (v2) `cb4897d3247d`: 1 info
  - removed the non-success response with the status `502`
- **2022-11-03** (v2) `dd919c4fb5a3`: 1 info
  - added the non-success response with the status `502`
- **2022-11-03** (v2) `38cbb9a7a8ed`: 1 info
  - removed the non-success response with the status `502`
- **2022-10-21** (v2) `35603092a7df`: 1 info
  - added the non-success response with the status `502`

[Operation history](https://skmtc.dev/tiledb/apis/tiledb-storage-platform-api/changes/arrays/:namespace/:array/query/submit/post.md)

---

[API](https://skmtc.dev/tiledb/apis/tiledb-storage-platform-api.md) - [All operations](https://skmtc.dev/tiledb/apis/tiledb-storage-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tiledb/apis/tiledb-storage-platform-api/revisions/f9cbeb4407a5?raw)
