Submit a scan for planning
POST/v1/:prefix/namespaces/:namespace/tables/:table/plan
Submits a scan for server-side planning.
Point-in-time scans are planned by passing snapshot-id to identify the table snapshot to scan. Incremental scans are planned by passing both start-snapshot-id and end-snapshot-id. Requests that include both point in time config properties and incremental config properties are invalid. If the request does not include either incremental or point-in-time config properties, scan planning should produce a point-in-time scan of the latest snapshot in the table's main branch.
Responses must include a valid status listed below. A "cancelled" status is considered invalid for this endpoint.
-
When "completed" the planning operation has produced plan tasks and file scan tasks that must be returned in the response (not fetched later by calling fetchPlanningResult)
-
When "submitted" the response must include a plan-id used to poll fetchPlanningResult to fetch the planning result when it is ready
-
When "failed" the response must be a valid error response The response for a "completed" planning operation includes two types of tasks (file scan tasks and plan tasks) and both may be included in the response. Tasks must not be included for any other response status.
Responses that include a plan-id indicate that the service is holding state or performing work for the client.
-
Clients should use the plan-id to fetch results from fetchPlanningResult when the response status is "submitted"
-
Clients should inform the service if planning results are no longer needed by calling cancelPlanning. Cancellation is not necessary after fetchScanTasks has been used to fetch scan tasks for each plan task.
Request
Path Parameters
- singlepart_namespace
- multipart_namespace
The catalog name in Gravitino, as returned in defaults.prefix by GET /v1/config
A namespace identifier as a single string. Multipart namespace parts must be separated by the namespace separator as indicated via the /config override namespace-separator, which defaults to the unit separator 0x1F byte (url encoded %1F). To be compatible with older clients, servers must use both the advertised separator and 0x1F as valid separators when decoding namespaces. The namespace-separator should be provided in a url encoded form.
Example: accounting
Example: accounting%1Ftax
A table name
Header Parameters
- Finalize & replay: 200, 201, 204, and deterministic terminal 4xx (including 409 such as AlreadyExists, NamespaceNotEmpty, etc.)
- Do not finalize (not stored/replayed): 5xx
- Key format: UUIDv7 in string form (RFC 9562).
- The idempotency key must be globally unique (no reuse across different operations).
- Catalogs SHOULD NOT expire keys before the end of the advertised token lifetime.
- If Idempotency-Key is used, clients MUST reuse the same key when retrying the same logical operation and MUST generate a new key for a different operation.
Possible values: >= 36 characters and <= 36 characters
Optional client-provided idempotency key for safe request retries.
When present, the server ensures no additional effects for requests that carry the same Idempotency-Key. If a prior request with this key has been finalized, the server returns an equivalent final response without re-running the operation. The response body may reflect a newer state of the catalog than existed at the time of the commit.
Finalization rules:
Key Requirements:
Possible values: [vended-credentials, remote-signing]
Optional signal to the server that the client supports delegated access via a comma-separated list of access mechanisms. The server may choose to supply access via any or none of the requested mechanisms.
Specific properties and handling for vended-credentials and remote-signing are documented in the LoadTableResult schema section of this spec document.
- application/json
Body
- TrueExpression
- FalseExpression
- AndOrExpression
- NotExpression
- SetExpression
- LiteralExpression
- UnaryExpression
- Reference
- TransformTerm
Array [
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
]
- Reference
- TransformTerm
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
- Reference
- TransformTerm
Identifier for the snapshot to scan in a point-in-time scan
List of selected schema fields
filter
object
Expression used to filter the table data
oneOf
Possible values: [and, or]
A nested Expression
A nested Expression
A nested Expression
Possible values: [in, not-in]
term
object
required
oneOf
string
values
object[]
required
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
Possible values: [lt, lt-eq, gt, gt-eq, eq, not-eq, starts-with, not-starts-with]
term
object
required
oneOf
string
value
object
required
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
Possible values: [is-null, not-null, is-nan, not-nan]
term
object
required
oneOf
string
The minimum number of rows requested for the scan. This is used as a hint to the server to not have to return more rows than necessary. It is not required for the server to return that many rows since the scan may not produce that many rows. The server can also return more rows than requested.
Default value: true
Enables case sensitive field matching for filter and select
Whether to use the schema at the time the snapshot was written. When time travelling, the snapshot schema should be used (true). When scanning a branch, the table schema should be used (false).
Starting snapshot ID for an incremental scan (exclusive)
Ending snapshot ID for an incremental scan (inclusive). Required when start-snapshot-id is specified.
List of fields for which the service should send column stats.
Responses
- 200
- 400
- 401
- 403
- 404
- 406
- 419
- 503
- 5XX
Result of submitting a table scan to plan
- application/json
- Schema
- Example (from schema)
Schema
- CompletedPlanningWithIDResult
- FailedPlanningResult
- AsyncPlanningResult
- EmptyPlanningResult
Array [
- PositionDeleteFile
- EqualityDeleteFile
- data
- position-deletes
- equality-deletes
Array [
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
]
Array [
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
]
Array [
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
]
- data
- position-deletes
- equality-deletes
Array [
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
]
Array [
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
]
Array [
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
]
]
Array [
- data
- position-deletes
- equality-deletes
Array [
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
]
Array [
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
]
Array [
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
]
- TrueExpression
- FalseExpression
- AndOrExpression
- NotExpression
- SetExpression
- LiteralExpression
- UnaryExpression
- Reference
- TransformTerm
Array [
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
]
- Reference
- TransformTerm
- BooleanTypeValue
- IntegerTypeValue
- LongTypeValue
- FloatTypeValue
- DoubleTypeValue
- DecimalTypeValue
- StringTypeValue
- UUIDTypeValue
- DateTypeValue
- TimeTypeValue
- TimestampTypeValue
- TimestampTzTypeValue
- TimestampNanoTypeValue
- TimestampTzNanoTypeValue
- FixedTypeValue
- BinaryTypeValue
- Reference
- TransformTerm
]
Array [
]
oneOf
delete-files
object[]
Delete files referenced by file scan tasks
oneOf
content
string
required
Possible values: [data, position-deletes, equality-deletes]
The first row ID assigned to the first row in the data file
column-sizes
object
List of integer column ids for each corresponding value
List of Long values, matched to 'keys' by index
value-counts
object
List of integer column ids for each corresponding value
List of Long values, matched to 'keys' by index
null-value-counts
object
List of integer column ids for each corresponding value
List of Long values, matched to 'keys' by index
nan-value-counts
object
List of integer column ids for each corresponding value
List of Long values, matched to 'keys' by index
lower-bounds
object
List of integer column ids for each corresponding value
values
object[]
List of primitive type values, matched to 'keys' by index
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
upper-bounds
object
List of integer column ids for each corresponding value
values
object[]
List of primitive type values, matched to 'keys' by index
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
circular(PositionDeleteFile)
List of equality field IDs
Offset within the delete file of delete content
Length, in bytes, of the delete content; required if content-offset is present
Possible values: [avro, orc, parquet, puffin]
partition
object[]
required
A list of partition field values ordered based on the fields of the partition spec specified by the spec-id
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
Total file size in bytes
Number of records in the file
Encryption key metadata blob
List of splittable offsets
content
string
required
Possible values: [data, position-deletes, equality-deletes]
The first row ID assigned to the first row in the data file
column-sizes
object
List of integer column ids for each corresponding value
List of Long values, matched to 'keys' by index
value-counts
object
List of integer column ids for each corresponding value
List of Long values, matched to 'keys' by index
null-value-counts
object
List of integer column ids for each corresponding value
List of Long values, matched to 'keys' by index
nan-value-counts
object
List of integer column ids for each corresponding value
List of Long values, matched to 'keys' by index
lower-bounds
object
List of integer column ids for each corresponding value
values
object[]
List of primitive type values, matched to 'keys' by index
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
upper-bounds
object
List of integer column ids for each corresponding value
values
object[]
List of primitive type values, matched to 'keys' by index
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
Offset within the delete file of delete content
Length, in bytes, of the delete content; required if content-offset is present
circular(EqualityDeleteFile)
List of equality field IDs
Possible values: [avro, orc, parquet, puffin]
partition
object[]
required
A list of partition field values ordered based on the fields of the partition spec specified by the spec-id
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
Total file size in bytes
Number of records in the file
Encryption key metadata blob
List of splittable offsets
file-scan-tasks
object[]
data-file
object
required
content
string
required
Possible values: [data, position-deletes, equality-deletes]
circular(DataFile)
Offset within the delete file of delete content
Length, in bytes, of the delete content; required if content-offset is present
List of equality field IDs
The first row ID assigned to the first row in the data file
column-sizes
object
Map of column id to total count, including null and NaN
List of integer column ids for each corresponding value
List of Long values, matched to 'keys' by index
value-counts
object
Map of column id to null value count
List of integer column ids for each corresponding value
List of Long values, matched to 'keys' by index
null-value-counts
object
Map of column id to null value count
List of integer column ids for each corresponding value
List of Long values, matched to 'keys' by index
nan-value-counts
object
Map of column id to number of NaN values in the column
List of integer column ids for each corresponding value
List of Long values, matched to 'keys' by index
lower-bounds
object
Map of column id to lower bound primitive type values
List of integer column ids for each corresponding value
values
object[]
List of primitive type values, matched to 'keys' by index
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
upper-bounds
object
Map of column id to upper bound primitive type values
List of integer column ids for each corresponding value
values
object[]
List of primitive type values, matched to 'keys' by index
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
Possible values: [avro, orc, parquet, puffin]
partition
object[]
required
A list of partition field values ordered based on the fields of the partition spec specified by the spec-id
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
Total file size in bytes
Number of records in the file
Encryption key metadata blob
List of splittable offsets
A list of indices in the delete files array (0-based)
residual-filter
object
An optional filter to be applied to rows in this file scan task. If the residual is not present, the client must produce the residual or use the original filter.
oneOf
Possible values: [and, or]
A nested Expression
A nested Expression
A nested Expression
Possible values: [in, not-in]
term
object
required
oneOf
string
values
object[]
required
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
Possible values: [lt, lt-eq, gt, gt-eq, eq, not-eq, starts-with, not-starts-with]
term
object
required
oneOf
string
value
object
required
oneOf
boolean
integer
integer
number
number
Decimal type values are serialized as strings. Decimals with a positive scale serialize as numeric plain text, while decimals with a negative scale use scientific notation and the exponent will be equal to the negated scale. For instance, a decimal with a positive scale is '123.4500', with zero scale is '2', and with a negative scale is '2E+20'
string
string
UUID type values are serialized as a 36-character lowercase string in standard UUID format as specified by RFC-4122
string
Possible values: >= 36 characters and <= 36 characters, Value must match regular expression ^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$
Date type values follow the 'YYYY-MM-DD' ISO-8601 standard date format
string
Time type values follow the 'HH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
Timestamp type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss' ISO-8601 format with microsecond precision
string
TimestampTz type values follow the 'YYYY-MM-DDTHH:MM:SS.ssssss+00:00' ISO-8601 format with microsecond precision, and a timezone offset (+00:00 for UTC)
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss' ISO-8601 format with nanosecond precision
string
Timestamp_ns type values follow the 'YYYY-MM-DDTHH:MM:SS.sssssssss+00:00' ISO-8601 format with nanosecond precision, and a timezone offset (+00:00 for UTC)
string
Fixed length type values are stored and serialized as an uppercase hexadecimal string preserving the fixed length
string
Binary type values are stored and serialized as an uppercase hexadecimal string
string
Possible values: [is-null, not-null, is-nan, not-nan]
term
object
required
oneOf
string
Possible values: [completed, submitted, cancelled, failed]
Status of a server-side planning operation
storage-credentials
object[]
Storage credentials for accessing the files returned in the scan result. If the server returns storage credentials as part of the completed scan planning response, the expectation is for the client to use these credentials to read the files returned in the FileScanTasks as part of the scan result.
Indicates a storage location prefix where the credential is relevant. Clients should choose the most specific prefix (by selecting the longest prefix) if several credentials of the same type are available.
config
object
required
ID used to track a planning request
Failed server-side planning result
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
Possible values: [completed, submitted, cancelled, failed]
Status of a server-side planning operation
Possible values: [completed, submitted, cancelled, failed]
Status of a server-side planning operation
ID used to track a planning request
Empty server-side planning result
Possible values: [submitted, cancelled]
Status of a server-side planning operation
{}
Indicates a bad request error. It could be caused by an unexpected request body format or other forms of request validation failure, such as invalid json. Usually serves application/json content, although in some cases simple text/plain content might be returned by the server's middleware.
- application/json
- Schema
- Example (from schema)
- Example
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
{
"error": {
"message": "Malformed request",
"type": "BadRequestException",
"code": 400
}
}
Unauthorized. The REST Catalog SHOULD respond with the 401 UnauthorizedResponse when the access token provided is expired, revoked, malformed, or invalid for other reasons. The client MAY request a new access token and retry the request.
- application/json
- Schema
- Example (from schema)
- Example
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
{
"error": {
"message": "Not authorized to make this request",
"type": "NotAuthorizedException",
"code": 401
}
}
Forbidden. Authenticated user does not have the necessary permissions.
- application/json
- Schema
- Example (from schema)
- Example
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
{
"error": {
"message": "Not authorized to make this request",
"type": "NotAuthorizedException",
"code": 403
}
}
Not Found - NoSuchTableException, the table does not exist - NoSuchNamespaceException, the namespace does not exist
- application/json
- Schema
- Example (from schema)
- TableDoesNotExist
- NamespaceDoesNotExist
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
The requested table does not exist
{
"error": {
"message": "The given table does not exist",
"type": "NoSuchTableException",
"code": 404
}
}
The requested namespace does not exist
{
"error": {
"message": "The given namespace does not exist",
"type": "NoSuchNamespaceException",
"code": 404
}
}
Not Acceptable / Unsupported Operation. The server does not support this operation.
- application/json
- Schema
- Example (from schema)
- Example
Schema
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"message": "string",
"type": "NoSuchNamespaceException",
"code": 404,
"stack": [
"string"
]
}
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
This is an optional status response type that the REST Catalog can issue when the token has expired. The client MAY request a new access token and retry the request. 401 UnauthorizedResponse SHOULD be preferred over this response type on token expiry.
- application/json
- Schema
- Example (from schema)
- Example
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
{
"error": {
"message": "Credentials have timed out",
"type": "AuthenticationTimeoutException",
"code": 419
}
}
The service is not ready to handle the request, request could have been partially processed. The service may additionally send a Retry-After header to indicate when to retry, a non idempotent request should only be retried by the client when the Retry-After header is present.
- application/json
- Schema
- Example (from schema)
- Example
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
{
"error": {
"message": "Slow down",
"type": "SlowDownException",
"code": 503
}
}
A server-side problem that might not be addressable from the client side. Used for server 5xx errors without more specific documentation in individual routes.
- application/json
- Schema
- Example (from schema)
- Example
Schema
error
object
required
JSON error payload returned in a response with further details on the error
Human-readable error message
Internal type definition of the error
Possible values: >= 400 and <= 600
HTTP response code
{
"error": {
"message": "The server does not support this operation",
"type": "UnsupportedOperationException",
"code": 406
}
}
{
"error": {
"message": "Internal Server Error",
"type": "InternalServerError",
"code": 500
}
}