Delta Lake · OpenAPI Overlay 1.0.0
API Evangelist enhancements to the Delta Sharing Protocol OpenAPI
9 actions
9 updates
update
Derived by API Evangelist
Built from the contracts Delta Lake publishes. Delta Lake did not publish this file.
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
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/delta-lake-delta-sharing-protocol-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.