Delta Lake · OpenAPI Overlay 1.0.0
API Evangelist enhancements to the Delta Sharing Protocol OpenAPI
9 actions
9 updates
update
Generated by API Evangelist
Written by API Evangelist tooling for Delta Lake's API. It is a proposal applied on top of the contract, not a document Delta Lake publishes.
What the actions change
x-real-shapex-shape-sourcelicensecontactx-spec-lagx-artifactsx-server-notesx-idempotency
Targets 6
$.info
$.servers
$.components.schemas.TableMetadataResponse
$.components.schemas.TableQueryResponse
$.components.schemas.ChangeDataFeedResponse
$.paths['/shares/{share}/schemas/{schema}/tables/{table}/query'].post
OpenAPI Overlay
overlay: 1.0.0
info:
title: API Evangelist enhancements to the Delta Sharing Protocol OpenAPI
version: 1.0.0
x-provenance:
generated: '2026-09-05'
method: generated
source: openapi/delta-lake-delta-sharing-protocol-openapi.yml
extends: openapi/delta-lake-delta-sharing-protocol-openapi.yml
note: >-
Non-destructive enhancements only. The original specification is left byte-for-byte as
published in https://github.com/delta-io/delta-sharing/blob/main/delta-sharing-protocl-api-description.yml
(note the typo in the upstream filename). Every action below is either a correction the
provider's own repository contradicts, or a pointer to an artifact in this repo. Nothing
invents API behaviour.
actions:
- target: $.info
description: >-
Correct the license. The document declares "AGPL v3.0", but the delta-io/delta-sharing
repository that publishes it is Apache-2.0 (confirmed via the GitHub repository license
field, 2026-09-05) and the project ships Apache-2.0 artifacts to Maven Central.
update:
license:
name: Apache-2.0
url: https://github.com/delta-io/delta-sharing/blob/main/LICENSE.txt
- target: $.info
description: >-
Add the contact the project publishes on its own site; the upstream document carries an
empty contact.email string.
update:
contact:
name: Delta Lake community
url: https://delta.io/resources/getting-help
- target: $.info
description: >-
Record that the published document lags the normative prose specification. info.version
is 0.2 while PROTOCOL.md documents Get Query Info and Generate Temporary Table
Credential, neither of which appears in paths.
update:
x-spec-lag:
machine_readable_version: '0.2'
normative_specification: https://github.com/delta-io/delta-sharing/blob/main/PROTOCOL.md
undocumented_operations:
- Get Query Info
- Generate Temporary Table Credential
- target: $.info
description: Cross-link the derived artifacts in this repository.
update:
x-artifacts:
conventions: conventions/delta-lake-conventions.yml
errors: errors/delta-lake-problem-types.yml
data_model: data-model/delta-lake-data-model.yml
conformance: conformance/delta-lake-conformance.yml
authentication: authentication/delta-lake-authentication.yml
lifecycle: lifecycle/delta-lake-lifecycle.yml
sandbox: sandbox/delta-lake-sandbox.yml
skills: skills/_index.yml
- target: $.servers
description: >-
Annotate the servers block. The demo server was probed live on 2026-09-05 and answered
HTTP 200 anonymously; the localhost entry is a development placeholder, not a callable host.
update:
x-server-notes:
- url: https://sharing.delta.io/delta-sharing/
role: open demo server operated by the Delta Lake project
probed: '2026-09-05'
http_status: 200
- url: http://localhost:8000/api/v1
role: local development placeholder
- note: >-
Delta Sharing is a self-hosted protocol. In production the base URL is whatever the
data provider's own sharing server publishes, carried in the recipient's profile file
endpoint field.
- target: $.components.schemas.TableMetadataResponse
description: >-
Record that this schema is declared as a bare string. The real body is newline-delimited
JSON action objects defined in PROTOCOL.md, so generated clients cannot type it.
update:
x-real-shape: application/x-ndjson — protocol action followed by metaData action
x-shape-source: https://github.com/delta-io/delta-sharing/blob/main/PROTOCOL.md#api-response-actions
- target: $.components.schemas.TableQueryResponse
description: Record the real newline-delimited JSON shape behind the bare string type.
update:
x-real-shape: >-
application/x-ndjson — protocol, metaData, one file/add action per data file,
optionally terminated by endStreamAction
x-shape-source: https://github.com/delta-io/delta-sharing/blob/main/PROTOCOL.md#api-response-actions
- target: $.components.schemas.ChangeDataFeedResponse
description: Record the real newline-delimited JSON shape behind the bare string type.
update:
x-real-shape: >-
application/x-ndjson — protocol, metaData, then add/cdf/remove actions across the
requested version or timestamp range
x-shape-source: https://github.com/delta-io/delta-sharing/blob/main/PROTOCOL.md#data-change-files
- target: $.paths['/shares/{share}/schemas/{schema}/tables/{table}/query'].post
description: >-
Record the idempotency and capability semantics PROTOCOL.md defines for this operation
but the document omits.
update:
x-idempotency:
field: idempotencyKey
location: requestBody
applies_when: the client negotiates asyncquery=true via delta-sharing-capabilities
docs: https://github.com/delta-io/delta-sharing/blob/main/PROTOCOL.md#asyncquery
x-capabilities-header:
name: delta-sharing-capabilities
keys: [responseformat, readerfeatures, includeendstreamaction, asyncquery]
docs: https://github.com/delta-io/delta-sharing/blob/main/PROTOCOL.md#delta-sharing-capabilities-header