Atomically commit a batch of mixed table operations
Atomically commit a batch of table operations. This is a generalized version
of BatchCreateTableVersions that supports mixed operation types within a
single atomic transaction at the metadata layer.
Supported operation types:
DeclareTable: Declare (reserve) a new table
CreateTableVersion: Create a new version entry for a table
DeleteTableVersions: Delete version ranges from a table
DeregisterTable: Deregister (soft-delete) a table
All operations are committed atomically: either all succeed or none are applied.
POST
/
v1
/
table
/
batch-commit
Atomically commit a batch of mixed table operations
An optional delimiter of the string identifier, following the Lance Namespace spec.
When not specified, the $ delimiter must be used.
Body
application/json
Request to atomically commit a batch of table operations.
This replaces BatchCreateTableVersionsRequest with a more general interface
that supports mixed operations (DeclareTable, CreateTableVersion,
DeleteTableVersions, DeregisterTable)
within a single atomic transaction at the metadata layer.
All operations are committed atomically: either all succeed or none are applied.
Arbitrary context as key-value pairs.
How to use the context is custom to the specific implementation.
On a request, it carries caller-provided context to the implementation.
On a response, it carries implementation-provided context back to the caller.
REST NAMESPACE ONLY
Context entries are mapped to and from HTTP headers using the header. prefix:
On a request, any entry whose key starts with header. is sent as an HTTP
request header with the prefix stripped. For example, the entry
{"header.Authorization": "Bearer abc"} is sent as the request header
Authorization: Bearer abc.
On a response, every HTTP response header is returned as an entry whose key is the
header name prefixed with header.. For example, the response header
x-request-id: abc123 is returned as the entry {"header.x-request-id": "abc123"}.
Show child attributes
Response
Result of atomically committing a batch of mixed table operations
Response for a batch commit of table operations.
Contains the results of each operation in the same order as the request.
Arbitrary context as key-value pairs.
How to use the context is custom to the specific implementation.
On a request, it carries caller-provided context to the implementation.
On a response, it carries implementation-provided context back to the caller.
REST NAMESPACE ONLY
Context entries are mapped to and from HTTP headers using the header. prefix:
On a request, any entry whose key starts with header. is sent as an HTTP
request header with the prefix stripped. For example, the entry
{"header.Authorization": "Bearer abc"} is sent as the request header
Authorization: Bearer abc.
On a response, every HTTP response header is returned as an entry whose key is the
header name prefixed with header.. For example, the response header
x-request-id: abc123 is returned as the entry {"header.x-request-id": "abc123"}.
Optional transaction identifier for the batch commit
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"LanceDB","colors":{"primary":"#FF6B35","light":"#FF8A5C","dark":"#E55A2B"},"logo":{"light":"https://mintcdn.com/lancedb-bcbb4faf/6L0IRVkfdlgMU1Pw/static/assets/logo/dark-lancedb-logo.svg?fit=max\u0026auto=format\u0026n=6L0IRVkfdlgMU1Pw\u0026q=85\u0026s=d0592e59a29df2477080a857e13e341f","dark":"https://mintcdn.com/lancedb-bcbb4faf/6L0IRVkfdlgMU1Pw/static/assets/logo/light-lancedb-logo.svg?fit=max\u0026auto=format\u0026n=6L0IRVkfdlgMU1Pw\u0026q=85\u0026s=519956514d5529517daa4cb1f3d35392","href":"https://lancedb.com"},"favicon":"https://mintcdn.com/lancedb-bcbb4faf/0sS6vrpmM3KSVyss/static/favicon.ico?fit=max\u0026auto=format\u0026n=0sS6vrpmM3KSVyss\u0026q=85\u0026s=84b9ea3dfc312b7a4dfc99219e229b33","appearance":{"strict":false},"background":{"color":{"light":"#FAF5F0","dark":"#000000"}},"navbar":{"links":[{"href":"https://www.lancedb.com/contact","label":"Support"}]},"footer":{"socials":{"github":"https://github.com/lancedb","linkedin":"https://www.linkedin.com/company/lancedb","x":"https://x.com/lancedb","discord":"https://discord.gg/AUEWnJ7Txb"},"links":[{"items":[{"label":"Cookie settings","href":"#cookie-settings"}]}]},"fonts":{"family":"Inter"},"styling":{"codeblocks":{"theme":{"light":"vitesse-light","dark":"catppuccin-mocha"}},"latex":true},"integrations":{"ga4":{"measurementId":"G-1TMC2PR69E"}},"banner":{"content":"[Why Multimodal Data Needs a Better Lakehouse? — Download the Research Study](https://lancedb.com/download/)","dismissible":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"lancedb-bcbb4faf","hasAudioNarration":false,"actualSubdomain":"lancedb-bcbb4faf","customDomains":["docs.lancedb.com"],"gitSource":{"type":"github","owner":"lancedb","repo":"docs","deployBranch":"deploy-freeze","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad1ba1060c5abd76761bca2","collectionId":"f5c9f0e7-4822-4807-b59f-14a5f6599ae7","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad1ba1060c5abd76761bca2"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad1ba1060c5abd76761bca2","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"API Reference","count":112},{"language":"default","tag":"Documentation","count":97},{"language":"default","tag":"Integrations","count":76},{"language":"default","tag":"REST API","count":55},{"language":"default","tag":"Table","count":44},{"language":"default","tag":"Guides","count":41},{"language":"default","tag":"Feature Engineering (Geneva)","count":34},{"language":"default","tag":"Datasets","count":32},{"language":"default","tag":"Tutorials","count":16},{"language":"default","tag":"Embedding Providers","count":15}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"static/styles/style.css","content":":root{--banner-left:#e4d8f8;--banner-right:#e55a2b}@font-face{font-family:\"LanceDB KaTeX AMS\";src:url(https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/fonts/KaTeX_AMS-Regular.woff2) format(\"woff2\");font-display:swap;font-style:normal;font-weight:400}.katex .mathbb,.katex .textbb{font-family:\"LanceDB KaTeX AMS\",\"KaTeX_AMS\",serif!important}#banner,:where(.banner, [data-banner], [class*=\"Banner_banner\"]){background:linear-gradient(90deg,var(--banner-left) 0%,var(--banner-right) 100%)!important;color:#1b0f09!important;border:0!important}#banner a,:where(.banner, [data-banner], [class*=\"Banner_banner\"]) a{color:#1b0f09!important;font-size:.9rem;font-weight:500;text-decoration-color:rgba(27,15,9,.35)}#banner button,:where(.banner, [data-banner], [class*=\"Banner_banner\"]) button{color:#1b0f09!important}"}],"page":{"pagePath":"api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations","slug":"/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations","pageMetadata":{"title":"Atomically commit a batch of mixed table operations","description":"Atomically commit a batch of table operations. This is a generalized version\nof `BatchCreateTableVersions` that supports mixed operation types within a\nsingle atomic transaction at the metadata layer.\n\nSupported operation types:\n- `DeclareTable`: Declare (reserve) a new table\n- `CreateTableVersion`: Create a new version entry for a table\n- `DeleteTableVersions`: Delete version ranges from a table\n- `DeregisterTable`: Deregister (soft-delete) a table\n\nAll operations are committed atomically: either all succeed or none are applied.\n","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/batch-commit","href":"/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Atomically commit a batch of table operations. This is a generalized version\\nof \", _jsx(_components.code, {\n children: \"BatchCreateTableVersions\"\n }), \" that supports mixed operation types within a\\nsingle atomic transaction at the metadata layer.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Supported operation types:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"DeclareTable\"\n }), \": Declare (reserve) a new table\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"CreateTableVersion\"\n }), \": Create a new version entry for a table\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"DeleteTableVersions\"\n }), \": Delete version ranges from a table\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"DeregisterTable\"\n }), \": Deregister (soft-delete) a table\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"All operations are committed atomically: either all succeed or none are applied.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"vitesse-light","dark":"catppuccin-mocha"}},"config":{},"pageMetadata":{"title":"Atomically commit a batch of mixed table operations","description":"Atomically commit a batch of table operations. This is a generalized version\nof `BatchCreateTableVersions` that supports mixed operation types within a\nsingle atomic transaction at the metadata layer.\n\nSupported operation types:\n- `DeclareTable`: Declare (reserve) a new table\n- `CreateTableVersion`: Create a new version entry for a table\n- `DeleteTableVersions`: Delete version ranges from a table\n- `DeregisterTable`: Deregister (soft-delete) a table\n\nAll operations are committed atomically: either all succeed or none are applied.\n","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/batch-commit","href":"/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/lancedb-bcbb4faf/71b64c20a8f631b3/static/scripts/cookie-consent.js"],"openApiReferenceData":{"operation":{"tags":["Table","Metadata","Transaction"],"summary":"Atomically commit a batch of mixed table operations","operationId":"BatchCommitTables","description":"Atomically commit a batch of table operations. This is a generalized version\nof `BatchCreateTableVersions` that supports mixed operation types within a\nsingle atomic transaction at the metadata layer.\n\nSupported operation types:\n- `DeclareTable`: Declare (reserve) a new table\n- `CreateTableVersion`: Create a new version entry for a table\n- `DeleteTableVersions`: Delete version ranges from a table\n- `DeregisterTable`: Deregister (soft-delete) a table\n\nAll operations are committed atomically: either all succeed or none are applied.\n","requestBody":"848eb9f3-e031-4493-a766-a009cb2dc949","responses":{"200":"9d7d29be-effe-41a2-8929-54fce7143ea8","400":"771c0bfb-a398-44dd-8cec-dcf1460f736f","401":"fffcfea3-d696-4775-bcbf-559c74413fbd","403":"70947ff7-734d-4432-9c23-f0899b4d76c5","404":"9d1c98e1-afe8-4788-a64c-bf86ec11f727","409":"855f8bcf-a6a0-4186-9dee-34ea369e42e1","503":"20e1d61b-6447-48f6-8eaf-91b91f11c04a","5XX":"b6f45b44-3f05-4900-ab0a-deb17683ce03"},"method":"post","type":"path","servers":["7915ea6a-e9ac-4cfb-85be-77bce01fb46e","199978a6-1e23-4816-a518-1dcceee67d26"],"security":["4598f3db-3cf4-4fd1-8bde-0471c4b845fd","bcee556b-5fb6-4d24-899f-ef3360b8d99d","3919de5e-51b3-4c2c-afc0-4e23724c83ca"],"path":"/v1/table/batch-commit","baseUrlOptions":["{scheme}://{host}:{port}/{basePath}","{scheme}://{host}/{basePath}"],"title":"Atomically commit a batch of mixed table operations","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"c8db2933-395f-4aff-b1d3-59f8dfc2c856":{"name":"delimiter","description":"An optional delimiter of the `string identifier`, following the Lance Namespace spec.\nWhen not specified, the `$` delimiter must be used.\n","in":"query","required":false,"schema":{"type":"string","isRequired":false,"description":"An optional delimiter of the `string identifier`, following the Lance Namespace spec.\nWhen not specified, the `$` delimiter must be used.\n","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","description":"Request to atomically commit a batch of table operations.\nThis replaces `BatchCreateTableVersionsRequest` with a more general interface\nthat supports mixed operations (DeclareTable, CreateTableVersion,\nDeleteTableVersions, DeregisterTable)\nwithin a single atomic transaction at the metadata layer.\n\nAll operations are committed atomically: either all succeed or none are applied.\n","required":["operations"],"properties":{"operations":{"type":"array","items":{"type":"object","description":"A single operation within a batch commit.\nProvide exactly one of the operation fields to specify the operation kind.\n","properties":{"declare_table":{"type":"object","description":"Declare (reserve) a new table in the namespace","properties":{"identity":{"type":"object","description":"Identity information of a request.\n","properties":{"api_key":{"type":"string","description":"API key for authentication.\n\nREST NAMESPACE ONLY\nThis is passed via the `x-api-key` header.\n","uniqueKey":"operations.items.[INDEX].declare_table.identity.api_key","typeLabel":"string"},"auth_token":{"type":"string","description":"Bearer token for authentication.\n\nREST NAMESPACE ONLY\nThis is passed via the `Authorization` header\nwith the Bearer scheme (e.g., `Bearer \u003ctoken>`).\n","uniqueKey":"operations.items.[INDEX].declare_table.identity.auth_token","typeLabel":"string"}},"uniqueKey":"operations.items.[INDEX].declare_table.identity","typeLabel":"object"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"operations.items.[INDEX].declare_table.context.additionalProperties","typeLabel":"string"},"uniqueKey":"operations.items.[INDEX].declare_table.context","typeLabel":"object"},"id":{"type":"array","items":{"type":"string","uniqueKey":"operations.items.[INDEX].declare_table.id.items.[INDEX]","typeLabel":"string"},"uniqueKey":"operations.items.[INDEX].declare_table.id","typeLabel":"string[]"},"location":{"type":"string","description":"Optional storage location for the table.\nIf not provided, the namespace implementation should determine the table location.\n","uniqueKey":"operations.items.[INDEX].declare_table.location","typeLabel":"string"},"vend_credentials":{"description":"Whether to include vended credentials in the response `storage_options`.\nWhen true, the implementation should provide vended credentials for accessing storage.\nWhen not set, the implementation can decide whether to return vended credentials.\n","type":"boolean","uniqueKey":"operations.items.[INDEX].declare_table.vend_credentials","typeLabel":"boolean"},"properties":{"type":"object","description":"Business logic properties stored and managed by the namespace implementation outside\nLance context, if supported by the implementation.\n","additionalProperties":{"type":"string","uniqueKey":"operations.items.[INDEX].declare_table.properties.additionalProperties","typeLabel":"string"},"uniqueKey":"operations.items.[INDEX].declare_table.properties","typeLabel":"object"}},"uniqueKey":"operations.items.[INDEX].declare_table","typeLabel":"object"},"create_table_version":{"type":"object","description":"Create a new version entry for a table","required":["version","manifest_path"],"properties":{"version":{"type":"integer","format":"int64","minimum":0,"description":"Version number to create","isRequired":true,"uniqueKey":"operations.items.[INDEX].create_table_version.version","typeLabel":"integer\u003cint64>"},"manifest_path":{"type":"string","description":"Path to the manifest file for this version","isRequired":true,"uniqueKey":"operations.items.[INDEX].create_table_version.manifest_path","typeLabel":"string"},"identity":{"type":"object","description":"Identity information of a request.\n","properties":{"api_key":{"type":"string","description":"API key for authentication.\n\nREST NAMESPACE ONLY\nThis is passed via the `x-api-key` header.\n","uniqueKey":"operations.items.[INDEX].create_table_version.identity.api_key","typeLabel":"string"},"auth_token":{"type":"string","description":"Bearer token for authentication.\n\nREST NAMESPACE ONLY\nThis is passed via the `Authorization` header\nwith the Bearer scheme (e.g., `Bearer \u003ctoken>`).\n","uniqueKey":"operations.items.[INDEX].create_table_version.identity.auth_token","typeLabel":"string"}},"uniqueKey":"operations.items.[INDEX].create_table_version.identity","typeLabel":"object"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"operations.items.[INDEX].create_table_version.context.additionalProperties","typeLabel":"string"},"uniqueKey":"operations.items.[INDEX].create_table_version.context","typeLabel":"object"},"id":{"type":"array","items":{"type":"string","uniqueKey":"operations.items.[INDEX].create_table_version.id.items.[INDEX]","typeLabel":"string"},"description":"The table identifier","uniqueKey":"operations.items.[INDEX].create_table_version.id","typeLabel":"string[]"},"branch":{"type":"string","description":"Branch to target. When not specified, the main branch is used.\n","uniqueKey":"operations.items.[INDEX].create_table_version.branch","typeLabel":"string"},"manifest_size":{"type":"integer","format":"int64","minimum":0,"description":"Size of the manifest file in bytes","uniqueKey":"operations.items.[INDEX].create_table_version.manifest_size","typeLabel":"integer\u003cint64>"},"e_tag":{"type":"string","description":"Optional ETag for the manifest file","uniqueKey":"operations.items.[INDEX].create_table_version.e_tag","typeLabel":"string"},"metadata":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"operations.items.[INDEX].create_table_version.metadata.additionalProperties","typeLabel":"string"},"description":"Optional metadata for the version","uniqueKey":"operations.items.[INDEX].create_table_version.metadata","typeLabel":"object"},"naming_scheme":{"type":"string","description":"The naming scheme used for manifest files in the `_versions/` directory.\n\nKnown values:\n- `V1`: `_versions/{version}.manifest` - Simple version-based naming\n- `V2`: `_versions/{inverted_version}.manifest` - Zero-padded, reversed version number\n (uses `u64::MAX - version`) for O(1) lookup of latest version on object stores\n\nV2 is preferred for new tables as it enables efficient latest-version discovery\nwithout needing to list all versions.\n","example":"V2","uniqueKey":"operations.items.[INDEX].create_table_version.naming_scheme","typeLabel":"string"}},"uniqueKey":"operations.items.[INDEX].create_table_version","typeLabel":"object"},"delete_table_versions":{"type":"object","description":"Delete version ranges from a table","required":["ranges"],"properties":{"ranges":{"type":"array","items":{"type":"object","description":"A range of versions to delete (start inclusive, end exclusive).\nSpecial values:\n- `start_version: 0` with `end_version: -1` means ALL versions\n","required":["start_version","end_version"],"properties":{"start_version":{"type":"integer","format":"int64","description":"Start version of the range (inclusive).\nUse 0 to start from the first version.\n","isRequired":true,"uniqueKey":"operations.items.[INDEX].delete_table_versions.ranges.items.[INDEX].start_version","typeLabel":"integer\u003cint64>"},"end_version":{"type":"integer","format":"int64","description":"End version of the range (exclusive).\nUse -1 to indicate all versions up to and including the latest.\n","isRequired":true,"uniqueKey":"operations.items.[INDEX].delete_table_versions.ranges.items.[INDEX].end_version","typeLabel":"integer\u003cint64>"}},"uniqueKey":"operations.items.[INDEX].delete_table_versions.ranges.items.[INDEX]","typeLabel":"object"},"description":"List of version ranges to delete.\nEach range specifies start (inclusive) and end (exclusive) versions.\n","isRequired":true,"uniqueKey":"operations.items.[INDEX].delete_table_versions.ranges","typeLabel":"object[]"},"identity":{"type":"object","description":"Identity information of a request.\n","properties":{"api_key":{"type":"string","description":"API key for authentication.\n\nREST NAMESPACE ONLY\nThis is passed via the `x-api-key` header.\n","uniqueKey":"operations.items.[INDEX].delete_table_versions.identity.api_key","typeLabel":"string"},"auth_token":{"type":"string","description":"Bearer token for authentication.\n\nREST NAMESPACE ONLY\nThis is passed via the `Authorization` header\nwith the Bearer scheme (e.g., `Bearer \u003ctoken>`).\n","uniqueKey":"operations.items.[INDEX].delete_table_versions.identity.auth_token","typeLabel":"string"}},"uniqueKey":"operations.items.[INDEX].delete_table_versions.identity","typeLabel":"object"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"operations.items.[INDEX].delete_table_versions.context.additionalProperties","typeLabel":"string"},"uniqueKey":"operations.items.[INDEX].delete_table_versions.context","typeLabel":"object"},"id":{"type":"array","items":{"type":"string","uniqueKey":"operations.items.[INDEX].delete_table_versions.id.items.[INDEX]","typeLabel":"string"},"description":"The table identifier","uniqueKey":"operations.items.[INDEX].delete_table_versions.id","typeLabel":"string[]"},"branch":{"type":"string","description":"Branch to target. When not specified, the main branch is used.\n","uniqueKey":"operations.items.[INDEX].delete_table_versions.branch","typeLabel":"string"}},"uniqueKey":"operations.items.[INDEX].delete_table_versions","typeLabel":"object"},"deregister_table":{"type":"object","description":"Deregister (soft-delete) a table","properties":{"identity":{"type":"object","description":"Identity information of a request.\n","properties":{"api_key":{"type":"string","description":"API key for authentication.\n\nREST NAMESPACE ONLY\nThis is passed via the `x-api-key` header.\n","uniqueKey":"operations.items.[INDEX].deregister_table.identity.api_key","typeLabel":"string"},"auth_token":{"type":"string","description":"Bearer token for authentication.\n\nREST NAMESPACE ONLY\nThis is passed via the `Authorization` header\nwith the Bearer scheme (e.g., `Bearer \u003ctoken>`).\n","uniqueKey":"operations.items.[INDEX].deregister_table.identity.auth_token","typeLabel":"string"}},"uniqueKey":"operations.items.[INDEX].deregister_table.identity","typeLabel":"object"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"operations.items.[INDEX].deregister_table.context.additionalProperties","typeLabel":"string"},"uniqueKey":"operations.items.[INDEX].deregister_table.context","typeLabel":"object"},"id":{"type":"array","items":{"type":"string","uniqueKey":"operations.items.[INDEX].deregister_table.id.items.[INDEX]","typeLabel":"string"},"uniqueKey":"operations.items.[INDEX].deregister_table.id","typeLabel":"string[]"}},"uniqueKey":"operations.items.[INDEX].deregister_table","typeLabel":"object"}},"uniqueKey":"operations.items.[INDEX]","typeLabel":"object"},"description":"List of operations to commit atomically.\nSupported operation types: DeclareTable, CreateTableVersion,\nDeleteTableVersions, DeregisterTable.\n","isRequired":true,"uniqueKey":"operations","typeLabel":"object[]"},"identity":{"type":"object","description":"Identity information of a request.\n","properties":{"api_key":{"type":"string","description":"API key for authentication.\n\nREST NAMESPACE ONLY\nThis is passed via the `x-api-key` header.\n","uniqueKey":"identity.api_key","typeLabel":"string"},"auth_token":{"type":"string","description":"Bearer token for authentication.\n\nREST NAMESPACE ONLY\nThis is passed via the `Authorization` header\nwith the Bearer scheme (e.g., `Bearer \u003ctoken>`).\n","uniqueKey":"identity.auth_token","typeLabel":"string"}},"uniqueKey":"identity","typeLabel":"object"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"context.additionalProperties","typeLabel":"string"},"uniqueKey":"context","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"operations":[{"declare_table":{"identity":{"api_key":"\u003cstring>","auth_token":"\u003cstring>"},"context":{},"id":["\u003cstring>"],"location":"\u003cstring>","vend_credentials":true,"properties":{}},"deregister_table":{"identity":{"api_key":"\u003cstring>","auth_token":"\u003cstring>"},"context":{},"id":["\u003cstring>"]}}],"identity":{"api_key":"\u003cstring>","auth_token":"\u003cstring>"},"context":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"9d7d29be-effe-41a2-8929-54fce7143ea8":{"description":"Result of atomically committing a batch of mixed table operations","content":{"application/json":{"schema":{"type":"object","description":"Response for a batch commit of table operations.\nContains the results of each operation in the same order as the request.\n","required":["results"],"properties":{"results":{"type":"array","items":{"type":"object","description":"Result of a single operation within a batch commit.\nEach result corresponds to one operation in the request, in the same order.\nExactly one of the result fields will be set.\n","properties":{"declare_table":{"type":"object","description":"Result of a DeclareTable operation","properties":{"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"results.items.[INDEX].declare_table.context.additionalProperties","typeLabel":"string"},"uniqueKey":"results.items.[INDEX].declare_table.context","typeLabel":"object"},"transaction_id":{"type":"string","description":"Optional transaction identifier","uniqueKey":"results.items.[INDEX].declare_table.transaction_id","typeLabel":"string"},"location":{"type":"string","uniqueKey":"results.items.[INDEX].declare_table.location","typeLabel":"string"},"storage_options":{"type":"object","description":"Configuration options to be used to access storage. The available\noptions depend on the type of storage in use. These will be\npassed directly to Lance to initialize storage access.\n","additionalProperties":{"type":"string","uniqueKey":"results.items.[INDEX].declare_table.storage_options.additionalProperties","typeLabel":"string"},"uniqueKey":"results.items.[INDEX].declare_table.storage_options","typeLabel":"object"},"properties":{"oneOf":[{"type":"object","description":"If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties.\n","additionalProperties":{"type":"string","uniqueKey":"results.items.[INDEX].declare_table.properties.oneOf.0.additionalProperties","typeLabel":"string"},"example":{"owner":"Ralph","created_at":"1452120468"},"default":{},"uniqueKey":"results.items.[INDEX].declare_table.properties.oneOf.0","typeLabel":"object"},{"type":"null","description":"If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties.\n","additionalProperties":{"type":"string","uniqueKey":"results.items.[INDEX].declare_table.properties.oneOf.1.additionalProperties","typeLabel":"string"},"example":{"owner":"Ralph","created_at":"1452120468"},"default":{},"uniqueKey":"results.items.[INDEX].declare_table.properties.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].declare_table.properties","typeLabel":"object | null"},"managed_versioning":{"type":"boolean","description":"When true, the caller should use namespace table version operations\n(CreateTableVersion, BatchCreateTableVersions, DescribeTableVersion, ListTableVersions, BatchDeleteTableVersions)\nto manage table versions instead of relying on Lance's native version management.\n","uniqueKey":"results.items.[INDEX].declare_table.managed_versioning","typeLabel":"boolean"}},"uniqueKey":"results.items.[INDEX].declare_table","typeLabel":"object"},"create_table_version":{"type":"object","description":"Result of a CreateTableVersion operation","properties":{"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"results.items.[INDEX].create_table_version.context.additionalProperties","typeLabel":"string"},"uniqueKey":"results.items.[INDEX].create_table_version.context","typeLabel":"object"},"transaction_id":{"type":"string","description":"Optional transaction identifier","uniqueKey":"results.items.[INDEX].create_table_version.transaction_id","typeLabel":"string"},"version":{"type":"object","required":["version","manifest_path"],"properties":{"version":{"type":"integer","format":"int64","minimum":0,"description":"Version number","isRequired":true,"uniqueKey":"results.items.[INDEX].create_table_version.version.version","typeLabel":"integer\u003cint64>"},"manifest_path":{"type":"string","description":"Path to the manifest file for this version.","isRequired":true,"uniqueKey":"results.items.[INDEX].create_table_version.version.manifest_path","typeLabel":"string"},"manifest_size":{"type":"integer","format":"int64","minimum":0,"description":"Size of the manifest file in bytes","uniqueKey":"results.items.[INDEX].create_table_version.version.manifest_size","typeLabel":"integer\u003cint64>"},"e_tag":{"type":"string","description":"Optional ETag for optimistic concurrency control.\nUseful for S3 and similar object stores.\n","uniqueKey":"results.items.[INDEX].create_table_version.version.e_tag","typeLabel":"string"},"timestamp_millis":{"type":"integer","format":"int64","description":"Timestamp when the version was created, in milliseconds since epoch (Unix time)","uniqueKey":"results.items.[INDEX].create_table_version.version.timestamp_millis","typeLabel":"integer\u003cint64>"},"metadata":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"results.items.[INDEX].create_table_version.version.metadata.additionalProperties","typeLabel":"string"},"description":"Optional key-value pairs of metadata","uniqueKey":"results.items.[INDEX].create_table_version.version.metadata","typeLabel":"object"}},"uniqueKey":"results.items.[INDEX].create_table_version.version","typeLabel":"object"}},"uniqueKey":"results.items.[INDEX].create_table_version","typeLabel":"object"},"delete_table_versions":{"type":"object","description":"Result of a DeleteTableVersions operation","properties":{"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"results.items.[INDEX].delete_table_versions.context.additionalProperties","typeLabel":"string"},"uniqueKey":"results.items.[INDEX].delete_table_versions.context","typeLabel":"object"},"deleted_count":{"type":"integer","format":"int64","minimum":0,"description":"Number of version records deleted","uniqueKey":"results.items.[INDEX].delete_table_versions.deleted_count","typeLabel":"integer\u003cint64>"},"transaction_id":{"type":"string","description":"Optional transaction identifier","uniqueKey":"results.items.[INDEX].delete_table_versions.transaction_id","typeLabel":"string"}},"uniqueKey":"results.items.[INDEX].delete_table_versions","typeLabel":"object"},"deregister_table":{"type":"object","properties":{"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"results.items.[INDEX].deregister_table.context.additionalProperties","typeLabel":"string"},"uniqueKey":"results.items.[INDEX].deregister_table.context","typeLabel":"object"},"transaction_id":{"type":"string","description":"Optional transaction identifier","uniqueKey":"results.items.[INDEX].deregister_table.transaction_id","typeLabel":"string"},"id":{"type":"array","items":{"type":"string","uniqueKey":"results.items.[INDEX].deregister_table.id.items.[INDEX]","typeLabel":"string"},"uniqueKey":"results.items.[INDEX].deregister_table.id","typeLabel":"string[]"},"location":{"type":"string","uniqueKey":"results.items.[INDEX].deregister_table.location","typeLabel":"string"},"properties":{"oneOf":[{"type":"object","description":"If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties.\n","additionalProperties":{"type":"string","uniqueKey":"results.items.[INDEX].deregister_table.properties.oneOf.0.additionalProperties","typeLabel":"string"},"example":{"owner":"Ralph","created_at":"1452120468"},"default":{},"uniqueKey":"results.items.[INDEX].deregister_table.properties.oneOf.0","typeLabel":"object"},{"type":"null","description":"If the implementation does not support table properties, it should return null for this field. Otherwise it should return the properties.\n","additionalProperties":{"type":"string","uniqueKey":"results.items.[INDEX].deregister_table.properties.oneOf.1.additionalProperties","typeLabel":"string"},"example":{"owner":"Ralph","created_at":"1452120468"},"default":{},"uniqueKey":"results.items.[INDEX].deregister_table.properties.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].deregister_table.properties","typeLabel":"object | null"}},"description":"Result of a DeregisterTable operation","uniqueKey":"results.items.[INDEX].deregister_table","typeLabel":"object"}},"uniqueKey":"results.items.[INDEX]","typeLabel":"object"},"description":"Results for each operation, in the same order as the request operations.\nEach result contains the outcome of the corresponding operation.\n","isRequired":true,"uniqueKey":"results","typeLabel":"object[]"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"context.additionalProperties","typeLabel":"string"},"uniqueKey":"context","typeLabel":"object"},"transaction_id":{"type":"string","description":"Optional transaction identifier for the batch commit","uniqueKey":"transaction_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"results":[{"declare_table":{"context":{},"transaction_id":"\u003cstring>","location":"\u003cstring>","storage_options":{},"properties":{"owner":"Ralph","created_at":"1452120468"},"managed_versioning":true},"create_table_version":{"context":{},"transaction_id":"\u003cstring>","version":{"version":1,"manifest_path":"\u003cstring>","manifest_size":1,"e_tag":"\u003cstring>","timestamp_millis":123,"metadata":{}}},"delete_table_versions":{"context":{},"deleted_count":1,"transaction_id":"\u003cstring>"},"deregister_table":{"context":{},"transaction_id":"\u003cstring>","id":["\u003cstring>"],"location":"\u003cstring>","properties":{"owner":"Ralph","created_at":"1452120468"}}}],"context":{},"transaction_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"771c0bfb-a398-44dd-8cec-dcf1460f736f":{"description":"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.","content":{"application/json":{"schema":{"type":"object","description":"Common JSON error response model","required":["code"],"properties":{"code":{"type":"integer","minimum":0,"description":"Lance Namespace error code identifying the error type.\n\nError codes:\n 0 - Unsupported: Operation not supported by this backend\n 1 - NamespaceNotFound: The specified namespace does not exist\n 2 - NamespaceAlreadyExists: A namespace with this name already exists\n 3 - NamespaceNotEmpty: Namespace contains tables or child namespaces\n 4 - TableNotFound: The specified table does not exist\n 5 - TableAlreadyExists: A table with this name already exists\n 6 - TableIndexNotFound: The specified table index does not exist\n 7 - TableIndexAlreadyExists: A table index with this name already exists\n 8 - TableTagNotFound: The specified table tag does not exist\n 9 - TableTagAlreadyExists: A table tag with this name already exists\n 10 - TransactionNotFound: The specified transaction does not exist\n 11 - TableVersionNotFound: The specified table version does not exist\n 12 - TableColumnNotFound: The specified table field does not exist\n 13 - InvalidInput: Malformed request or invalid parameters\n 14 - ConcurrentModification: Optimistic concurrency conflict\n 15 - PermissionDenied: User lacks permission for this operation\n 16 - Unauthenticated: Authentication credentials are missing or invalid\n 17 - ServiceUnavailable: Service is temporarily unavailable\n 18 - Internal: Unexpected server/implementation error\n 19 - InvalidTableState: Table is in an invalid state for the operation\n 20 - TableSchemaValidationError: Table schema validation failed\n 21 - Throttling: Request rate limit exceeded\n 22 - TableBranchNotFound: The specified table branch does not exist\n 23 - TableBranchAlreadyExists: A table branch with this name already exists\n","example":4,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"context.additionalProperties","typeLabel":"string"},"uniqueKey":"context","typeLabel":"object"},"error":{"type":"string","description":"A brief, human-readable message about the error.","example":"Table 'users' not found in namespace 'production'","uniqueKey":"error","typeLabel":"string"},"detail":{"type":"string","description":"An optional human-readable explanation of the error.\nThis can be used to record additional information such as stack trace.\n","example":"The table may have been dropped or renamed","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","description":"A string that identifies the specific occurrence of the error.\nThis can be a URI, a request or response ID,\nor anything that the implementation can recognize to trace specific occurrence of the error.\n","example":"/v1/table/production$users/describe","uniqueKey":"instance","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"type":"/errors/bad-request","title":"Malformed request","status":400,"detail":"","instance":"/v1/namespaces"},"examples":{"Example":{"title":"Example","value":{"type":"/errors/bad-request","title":"Malformed request","status":400,"detail":"","instance":"/v1/namespaces"}}},"exampleType":"examples"}},"exampleType":"examples"},"fffcfea3-d696-4775-bcbf-559c74413fbd":{"description":"Unauthorized. The request lacks valid authentication credentials for the operation.","content":{"application/json":{"schema":{"type":"object","description":"Common JSON error response model","required":["code"],"properties":{"code":{"type":"integer","minimum":0,"description":"Lance Namespace error code identifying the error type.\n\nError codes:\n 0 - Unsupported: Operation not supported by this backend\n 1 - NamespaceNotFound: The specified namespace does not exist\n 2 - NamespaceAlreadyExists: A namespace with this name already exists\n 3 - NamespaceNotEmpty: Namespace contains tables or child namespaces\n 4 - TableNotFound: The specified table does not exist\n 5 - TableAlreadyExists: A table with this name already exists\n 6 - TableIndexNotFound: The specified table index does not exist\n 7 - TableIndexAlreadyExists: A table index with this name already exists\n 8 - TableTagNotFound: The specified table tag does not exist\n 9 - TableTagAlreadyExists: A table tag with this name already exists\n 10 - TransactionNotFound: The specified transaction does not exist\n 11 - TableVersionNotFound: The specified table version does not exist\n 12 - TableColumnNotFound: The specified table field does not exist\n 13 - InvalidInput: Malformed request or invalid parameters\n 14 - ConcurrentModification: Optimistic concurrency conflict\n 15 - PermissionDenied: User lacks permission for this operation\n 16 - Unauthenticated: Authentication credentials are missing or invalid\n 17 - ServiceUnavailable: Service is temporarily unavailable\n 18 - Internal: Unexpected server/implementation error\n 19 - InvalidTableState: Table is in an invalid state for the operation\n 20 - TableSchemaValidationError: Table schema validation failed\n 21 - Throttling: Request rate limit exceeded\n 22 - TableBranchNotFound: The specified table branch does not exist\n 23 - TableBranchAlreadyExists: A table branch with this name already exists\n","example":4,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"context.additionalProperties","typeLabel":"string"},"uniqueKey":"context","typeLabel":"object"},"error":{"type":"string","description":"A brief, human-readable message about the error.","example":"Table 'users' not found in namespace 'production'","uniqueKey":"error","typeLabel":"string"},"detail":{"type":"string","description":"An optional human-readable explanation of the error.\nThis can be used to record additional information such as stack trace.\n","example":"The table may have been dropped or renamed","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","description":"A string that identifies the specific occurrence of the error.\nThis can be a URI, a request or response ID,\nor anything that the implementation can recognize to trace specific occurrence of the error.\n","example":"/v1/table/production$users/describe","uniqueKey":"instance","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"type":"/errors/unauthorized-request","title":"No valid authentication credentials for the operation","status":401,"detail":"","instance":"/v1/namespaces"},"examples":{"Example":{"title":"Example","value":{"type":"/errors/unauthorized-request","title":"No valid authentication credentials for the operation","status":401,"detail":"","instance":"/v1/namespaces"}}},"exampleType":"examples"}},"exampleType":"examples"},"70947ff7-734d-4432-9c23-f0899b4d76c5":{"description":"Forbidden. Authenticated user does not have the necessary permissions.","content":{"application/json":{"schema":{"type":"object","description":"Common JSON error response model","required":["code"],"properties":{"code":{"type":"integer","minimum":0,"description":"Lance Namespace error code identifying the error type.\n\nError codes:\n 0 - Unsupported: Operation not supported by this backend\n 1 - NamespaceNotFound: The specified namespace does not exist\n 2 - NamespaceAlreadyExists: A namespace with this name already exists\n 3 - NamespaceNotEmpty: Namespace contains tables or child namespaces\n 4 - TableNotFound: The specified table does not exist\n 5 - TableAlreadyExists: A table with this name already exists\n 6 - TableIndexNotFound: The specified table index does not exist\n 7 - TableIndexAlreadyExists: A table index with this name already exists\n 8 - TableTagNotFound: The specified table tag does not exist\n 9 - TableTagAlreadyExists: A table tag with this name already exists\n 10 - TransactionNotFound: The specified transaction does not exist\n 11 - TableVersionNotFound: The specified table version does not exist\n 12 - TableColumnNotFound: The specified table field does not exist\n 13 - InvalidInput: Malformed request or invalid parameters\n 14 - ConcurrentModification: Optimistic concurrency conflict\n 15 - PermissionDenied: User lacks permission for this operation\n 16 - Unauthenticated: Authentication credentials are missing or invalid\n 17 - ServiceUnavailable: Service is temporarily unavailable\n 18 - Internal: Unexpected server/implementation error\n 19 - InvalidTableState: Table is in an invalid state for the operation\n 20 - TableSchemaValidationError: Table schema validation failed\n 21 - Throttling: Request rate limit exceeded\n 22 - TableBranchNotFound: The specified table branch does not exist\n 23 - TableBranchAlreadyExists: A table branch with this name already exists\n","example":4,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"context.additionalProperties","typeLabel":"string"},"uniqueKey":"context","typeLabel":"object"},"error":{"type":"string","description":"A brief, human-readable message about the error.","example":"Table 'users' not found in namespace 'production'","uniqueKey":"error","typeLabel":"string"},"detail":{"type":"string","description":"An optional human-readable explanation of the error.\nThis can be used to record additional information such as stack trace.\n","example":"The table may have been dropped or renamed","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","description":"A string that identifies the specific occurrence of the error.\nThis can be a URI, a request or response ID,\nor anything that the implementation can recognize to trace specific occurrence of the error.\n","example":"/v1/table/production$users/describe","uniqueKey":"instance","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"type":"/errors/forbidden-request","title":"Not authorized to make this request","status":403,"detail":"","instance":"/v1/namespaces"},"examples":{"Example":{"title":"Example","value":{"type":"/errors/forbidden-request","title":"Not authorized to make this request","status":403,"detail":"","instance":"/v1/namespaces"}}},"exampleType":"examples"}},"exampleType":"examples"},"9d1c98e1-afe8-4788-a64c-bf86ec11f727":{"description":"A server-side problem that means can not find the specified resource.","content":{"application/json":{"schema":{"type":"object","description":"Common JSON error response model","required":["code"],"properties":{"code":{"type":"integer","minimum":0,"description":"Lance Namespace error code identifying the error type.\n\nError codes:\n 0 - Unsupported: Operation not supported by this backend\n 1 - NamespaceNotFound: The specified namespace does not exist\n 2 - NamespaceAlreadyExists: A namespace with this name already exists\n 3 - NamespaceNotEmpty: Namespace contains tables or child namespaces\n 4 - TableNotFound: The specified table does not exist\n 5 - TableAlreadyExists: A table with this name already exists\n 6 - TableIndexNotFound: The specified table index does not exist\n 7 - TableIndexAlreadyExists: A table index with this name already exists\n 8 - TableTagNotFound: The specified table tag does not exist\n 9 - TableTagAlreadyExists: A table tag with this name already exists\n 10 - TransactionNotFound: The specified transaction does not exist\n 11 - TableVersionNotFound: The specified table version does not exist\n 12 - TableColumnNotFound: The specified table field does not exist\n 13 - InvalidInput: Malformed request or invalid parameters\n 14 - ConcurrentModification: Optimistic concurrency conflict\n 15 - PermissionDenied: User lacks permission for this operation\n 16 - Unauthenticated: Authentication credentials are missing or invalid\n 17 - ServiceUnavailable: Service is temporarily unavailable\n 18 - Internal: Unexpected server/implementation error\n 19 - InvalidTableState: Table is in an invalid state for the operation\n 20 - TableSchemaValidationError: Table schema validation failed\n 21 - Throttling: Request rate limit exceeded\n 22 - TableBranchNotFound: The specified table branch does not exist\n 23 - TableBranchAlreadyExists: A table branch with this name already exists\n","example":4,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"context.additionalProperties","typeLabel":"string"},"uniqueKey":"context","typeLabel":"object"},"error":{"type":"string","description":"A brief, human-readable message about the error.","example":"Table 'users' not found in namespace 'production'","uniqueKey":"error","typeLabel":"string"},"detail":{"type":"string","description":"An optional human-readable explanation of the error.\nThis can be used to record additional information such as stack trace.\n","example":"The table may have been dropped or renamed","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","description":"A string that identifies the specific occurrence of the error.\nThis can be a URI, a request or response ID,\nor anything that the implementation can recognize to trace specific occurrence of the error.\n","example":"/v1/table/production$users/describe","uniqueKey":"instance","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"type":"/errors/not-found-error","title":"Not found Error","status":404,"detail":"","instance":"/v1/namespaces/{ns}"},"examples":{"Example":{"title":"Example","value":{"type":"/errors/not-found-error","title":"Not found Error","status":404,"detail":"","instance":"/v1/namespaces/{ns}"}}},"exampleType":"examples"}},"exampleType":"examples"},"855f8bcf-a6a0-4186-9dee-34ea369e42e1":{"description":"The request conflicts with the current state of the target resource.","content":{"application/json":{"schema":{"type":"object","description":"Common JSON error response model","required":["code"],"properties":{"code":{"type":"integer","minimum":0,"description":"Lance Namespace error code identifying the error type.\n\nError codes:\n 0 - Unsupported: Operation not supported by this backend\n 1 - NamespaceNotFound: The specified namespace does not exist\n 2 - NamespaceAlreadyExists: A namespace with this name already exists\n 3 - NamespaceNotEmpty: Namespace contains tables or child namespaces\n 4 - TableNotFound: The specified table does not exist\n 5 - TableAlreadyExists: A table with this name already exists\n 6 - TableIndexNotFound: The specified table index does not exist\n 7 - TableIndexAlreadyExists: A table index with this name already exists\n 8 - TableTagNotFound: The specified table tag does not exist\n 9 - TableTagAlreadyExists: A table tag with this name already exists\n 10 - TransactionNotFound: The specified transaction does not exist\n 11 - TableVersionNotFound: The specified table version does not exist\n 12 - TableColumnNotFound: The specified table field does not exist\n 13 - InvalidInput: Malformed request or invalid parameters\n 14 - ConcurrentModification: Optimistic concurrency conflict\n 15 - PermissionDenied: User lacks permission for this operation\n 16 - Unauthenticated: Authentication credentials are missing or invalid\n 17 - ServiceUnavailable: Service is temporarily unavailable\n 18 - Internal: Unexpected server/implementation error\n 19 - InvalidTableState: Table is in an invalid state for the operation\n 20 - TableSchemaValidationError: Table schema validation failed\n 21 - Throttling: Request rate limit exceeded\n 22 - TableBranchNotFound: The specified table branch does not exist\n 23 - TableBranchAlreadyExists: A table branch with this name already exists\n","example":4,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"context.additionalProperties","typeLabel":"string"},"uniqueKey":"context","typeLabel":"object"},"error":{"type":"string","description":"A brief, human-readable message about the error.","example":"Table 'users' not found in namespace 'production'","uniqueKey":"error","typeLabel":"string"},"detail":{"type":"string","description":"An optional human-readable explanation of the error.\nThis can be used to record additional information such as stack trace.\n","example":"The table may have been dropped or renamed","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","description":"A string that identifies the specific occurrence of the error.\nThis can be a URI, a request or response ID,\nor anything that the implementation can recognize to trace specific occurrence of the error.\n","example":"/v1/table/production$users/describe","uniqueKey":"instance","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"type":"/errors/conflict","title":"The namespace has been concurrently modified","status":409,"detail":"","instance":"/v1/namespaces/{ns}"},"examples":{"Example":{"title":"Example","value":{"type":"/errors/conflict","title":"The namespace has been concurrently modified","status":409,"detail":"","instance":"/v1/namespaces/{ns}"}}},"exampleType":"examples"}},"exampleType":"examples"},"20e1d61b-6447-48f6-8eaf-91b91f11c04a":{"description":"The service is not ready to handle the request. The client should wait and retry. The service may additionally send a Retry-After header to indicate when to retry.","content":{"application/json":{"schema":{"type":"object","description":"Common JSON error response model","required":["code"],"properties":{"code":{"type":"integer","minimum":0,"description":"Lance Namespace error code identifying the error type.\n\nError codes:\n 0 - Unsupported: Operation not supported by this backend\n 1 - NamespaceNotFound: The specified namespace does not exist\n 2 - NamespaceAlreadyExists: A namespace with this name already exists\n 3 - NamespaceNotEmpty: Namespace contains tables or child namespaces\n 4 - TableNotFound: The specified table does not exist\n 5 - TableAlreadyExists: A table with this name already exists\n 6 - TableIndexNotFound: The specified table index does not exist\n 7 - TableIndexAlreadyExists: A table index with this name already exists\n 8 - TableTagNotFound: The specified table tag does not exist\n 9 - TableTagAlreadyExists: A table tag with this name already exists\n 10 - TransactionNotFound: The specified transaction does not exist\n 11 - TableVersionNotFound: The specified table version does not exist\n 12 - TableColumnNotFound: The specified table field does not exist\n 13 - InvalidInput: Malformed request or invalid parameters\n 14 - ConcurrentModification: Optimistic concurrency conflict\n 15 - PermissionDenied: User lacks permission for this operation\n 16 - Unauthenticated: Authentication credentials are missing or invalid\n 17 - ServiceUnavailable: Service is temporarily unavailable\n 18 - Internal: Unexpected server/implementation error\n 19 - InvalidTableState: Table is in an invalid state for the operation\n 20 - TableSchemaValidationError: Table schema validation failed\n 21 - Throttling: Request rate limit exceeded\n 22 - TableBranchNotFound: The specified table branch does not exist\n 23 - TableBranchAlreadyExists: A table branch with this name already exists\n","example":4,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"context.additionalProperties","typeLabel":"string"},"uniqueKey":"context","typeLabel":"object"},"error":{"type":"string","description":"A brief, human-readable message about the error.","example":"Table 'users' not found in namespace 'production'","uniqueKey":"error","typeLabel":"string"},"detail":{"type":"string","description":"An optional human-readable explanation of the error.\nThis can be used to record additional information such as stack trace.\n","example":"The table may have been dropped or renamed","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","description":"A string that identifies the specific occurrence of the error.\nThis can be a URI, a request or response ID,\nor anything that the implementation can recognize to trace specific occurrence of the error.\n","example":"/v1/table/production$users/describe","uniqueKey":"instance","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"type":"/errors/service-unavailable","title":"Slow down","status":503,"detail":"","instance":"/v1/namespaces"},"examples":{"Example":{"title":"Example","value":{"type":"/errors/service-unavailable","title":"Slow down","status":503,"detail":"","instance":"/v1/namespaces"}}},"exampleType":"examples"}},"exampleType":"examples"},"b6f45b44-3f05-4900-ab0a-deb17683ce03":{"description":"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.","content":{"application/json":{"schema":{"type":"object","description":"Common JSON error response model","required":["code"],"properties":{"code":{"type":"integer","minimum":0,"description":"Lance Namespace error code identifying the error type.\n\nError codes:\n 0 - Unsupported: Operation not supported by this backend\n 1 - NamespaceNotFound: The specified namespace does not exist\n 2 - NamespaceAlreadyExists: A namespace with this name already exists\n 3 - NamespaceNotEmpty: Namespace contains tables or child namespaces\n 4 - TableNotFound: The specified table does not exist\n 5 - TableAlreadyExists: A table with this name already exists\n 6 - TableIndexNotFound: The specified table index does not exist\n 7 - TableIndexAlreadyExists: A table index with this name already exists\n 8 - TableTagNotFound: The specified table tag does not exist\n 9 - TableTagAlreadyExists: A table tag with this name already exists\n 10 - TransactionNotFound: The specified transaction does not exist\n 11 - TableVersionNotFound: The specified table version does not exist\n 12 - TableColumnNotFound: The specified table field does not exist\n 13 - InvalidInput: Malformed request or invalid parameters\n 14 - ConcurrentModification: Optimistic concurrency conflict\n 15 - PermissionDenied: User lacks permission for this operation\n 16 - Unauthenticated: Authentication credentials are missing or invalid\n 17 - ServiceUnavailable: Service is temporarily unavailable\n 18 - Internal: Unexpected server/implementation error\n 19 - InvalidTableState: Table is in an invalid state for the operation\n 20 - TableSchemaValidationError: Table schema validation failed\n 21 - Throttling: Request rate limit exceeded\n 22 - TableBranchNotFound: The specified table branch does not exist\n 23 - TableBranchAlreadyExists: A table branch with this name already exists\n","example":4,"isRequired":true,"uniqueKey":"code","typeLabel":"integer"},"context":{"type":"object","description":"Arbitrary context as key-value pairs.\nHow to use the context is custom to the specific implementation.\n\nOn a request, it carries caller-provided context to the implementation.\nOn a response, it carries implementation-provided context back to the caller.\n\nREST NAMESPACE ONLY\nContext entries are mapped to and from HTTP headers using the `header.` prefix:\n- On a request, any entry whose key starts with `header.` is sent as an HTTP\n request header with the prefix stripped. For example, the entry\n `{\"header.Authorization\": \"Bearer abc\"}` is sent as the request header\n `Authorization: Bearer abc`.\n- On a response, every HTTP response header is returned as an entry whose key is the\n header name prefixed with `header.`. For example, the response header\n `x-request-id: abc123` is returned as the entry `{\"header.x-request-id\": \"abc123\"}`.\n","additionalProperties":{"type":"string","uniqueKey":"context.additionalProperties","typeLabel":"string"},"uniqueKey":"context","typeLabel":"object"},"error":{"type":"string","description":"A brief, human-readable message about the error.","example":"Table 'users' not found in namespace 'production'","uniqueKey":"error","typeLabel":"string"},"detail":{"type":"string","description":"An optional human-readable explanation of the error.\nThis can be used to record additional information such as stack trace.\n","example":"The table may have been dropped or renamed","uniqueKey":"detail","typeLabel":"string"},"instance":{"type":"string","description":"A string that identifies the specific occurrence of the error.\nThis can be a URI, a request or response ID,\nor anything that the implementation can recognize to trace specific occurrence of the error.\n","example":"/v1/table/production$users/describe","uniqueKey":"instance","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"type":"/errors/server-error","title":"Internal Server Error","status":500,"detail":"","instance":"/v1/namespaces"},"examples":{"Example":{"title":"Example","value":{"type":"/errors/server-error","title":"Internal Server Error","status":500,"detail":"","instance":"/v1/namespaces"}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"4598f3db-3cf4-4fd1-8bde-0471c4b845fd":{"OAuth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{}}},"scopes":[]}},"bcee556b-5fb6-4d24-899f-ef3360b8d99d":{"BearerAuth":{"type":"http","scheme":"bearer","scopes":[]}},"3919de5e-51b3-4c2c-afc0-4e23724c83ca":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[]}}},"servers":{"7915ea6a-e9ac-4cfb-85be-77bce01fb46e":{"url":"{scheme}://{host}:{port}/{basePath}","description":"Generic server URL with all parts configurable","variables":{"scheme":{"default":"http"},"host":{"default":"localhost"},"port":{"default":"2333"},"basePath":{"default":""}}},"199978a6-1e23-4816-a518-1dcceee67d26":{"url":"{scheme}://{host}/{basePath}","description":"Server URL when the port can be inferred from the scheme","variables":{"scheme":{"default":"http"},"host":{"default":"localhost"},"basePath":{"default":""}}}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"/oauth/token","scopes":{}}},"scopes":[]},"schema":{"title":"OAuth2 Auth","type":"string","isRequired":true,"description":"The access token received from the authorization server in the OAuth 2.0 flow.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"OAuth2","name":"Authorization"}],"title":"OAuth2"},{"schemes":[{"scheme":{"type":"http","scheme":"bearer","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"BearerAuth","name":"Authorization"}],"title":"BearerAuth"},{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"x-api-key","scopes":[]},"schema":{"title":"x-api-key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"x-api-key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"api-reference/rest/openapi.yml"},"subdomain":"lancedb-bcbb4faf","siteName":"LanceDB","title":"Atomically commit a batch of mixed table operations - LanceDB","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-06T07:33:52.846Z","originalFileLocation":"api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Atomically commit a batch of table operations. This is a generalized version of BatchCreateTableVersions that supports mixed operation types within a single atomic transaction at the metadata layer. Supported operation types: - DeclareTable: Declare (reserve) a new table - CreateTableVersion: Create a new version entry for a table - DeleteTableVersions: Delete version ranges from a table - DeregisterTable: Deregister (soft-delete) a table All operations are committed atomically: either all succeed or none are applied.\">\u003cmeta data-mint-head name=\"application-name\" content=\"LanceDB\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Atomically commit a batch of mixed table operations - LanceDB\">\u003cmeta data-mint-head property=\"og:description\" content=\"Atomically commit a batch of table operations. This is a generalized version of BatchCreateTableVersions that supports mixed operation types within a single atomic transaction at the metadata layer. Supported operation types: - DeclareTable: Declare (reserve) a new table - CreateTableVersion: Create a new version entry for a table - DeleteTableVersions: Delete version ranges from a table - DeregisterTable: Deregister (soft-delete) a table All operations are committed atomically: either all succeed or none are applied.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"LanceDB\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.lancedb.com/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://lancedb-bcbb4faf.mintlify.app/_mintlify/api/og/v2?division=Table\u0026amp;title=Atomically+commit+a+batch+of+mixed+table+operations\u0026amp;description=Atomically+commit+a+batch+of+table+operations.+This+is+a+generalized+version%0Aof+%60BatchCreateTableVersions%60+that+supports+mixed+operation+types+within+a%0Asingle+a\u0026amp;theme=123a95b5dfac0c4bc2a3854c\u0026amp;signature=5b51b7413d788707f02a3ec17d989b0ab4347fcdffd30aecb710403278eb8e42\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Atomically commit a batch of mixed table operations - LanceDB\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Atomically commit a batch of table operations. This is a generalized version of BatchCreateTableVersions that supports mixed operation types within a single atomic transaction at the metadata layer. Supported operation types: - DeclareTable: Declare (reserve) a new table - CreateTableVersion: Create a new version entry for a table - DeleteTableVersions: Delete version ranges from a table - DeregisterTable: Deregister (soft-delete) a table All operations are committed atomically: either all succeed or none are applied.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lancedb-bcbb4faf.mintlify.app/_mintlify/api/og/v2?division=Table\u0026amp;title=Atomically+commit+a+batch+of+mixed+table+operations\u0026amp;description=Atomically+commit+a+batch+of+table+operations.+This+is+a+generalized+version%0Aof+%60BatchCreateTableVersions%60+that+supports+mixed+operation+types+within+a%0Asingle+a\u0026amp;theme=123a95b5dfac0c4bc2a3854c\u0026amp;signature=5b51b7413d788707f02a3ec17d989b0ab4347fcdffd30aecb710403278eb8e42\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/lancedb-bcbb4faf/AJCI1CXWoYDPZbb4/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"LanceDB\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#FF6B35\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.lancedb.com/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.lancedb.com/#organization\",\"name\":\"LanceDB\",\"url\":\"https://docs.lancedb.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/lancedb-bcbb4faf/6L0IRVkfdlgMU1Pw/static/assets/logo/dark-lancedb-logo.svg?fit=max\u0026auto=format\u0026n=6L0IRVkfdlgMU1Pw\u0026q=85\u0026s=d0592e59a29df2477080a857e13e341f\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.lancedb.com#website\",\"name\":\"LanceDB\",\"url\":\"https://docs.lancedb.com\",\"publisher\":{\"@id\":\"https://docs.lancedb.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.lancedb.com/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations#webpage\",\"url\":\"https://docs.lancedb.com/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations\",\"name\":\"Atomically commit a batch of mixed table operations\",\"description\":\"Atomically commit a batch of table operations. This is a generalized version of BatchCreateTableVersions that supports mixed operation types within a single atomic transaction at the metadata layer. Supported operation types: - DeclareTable: Declare (reserve) a new table - CreateTableVersion: Create a new version entry for a table - DeleteTableVersions: Delete version ranges from a table - DeregisterTable: Deregister (soft-delete) a table All operations are committed atomically: either all succeed or none are applied.\",\"dateModified\":\"2026-07-06T07:33:52.846Z\",\"isPartOf\":{\"@id\":\"https://docs.lancedb.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.lancedb.com/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.lancedb.com/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.lancedb.com/api-reference/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"REST API\",\"item\":\"https://docs.lancedb.com/api-reference/rest/index\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Table\",\"item\":\"https://docs.lancedb.com/api-reference/rest/table/list-all-tables\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Atomically commit a batch of mixed table operations\",\"item\":\"https://docs.lancedb.com/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.lancedb.com/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations#apireference\",\"headline\":\"Atomically commit a batch of mixed table operations\",\"name\":\"Atomically commit a batch of mixed table operations\",\"description\":\"Atomically commit a batch of table operations. This is a generalized version of BatchCreateTableVersions that supports mixed operation types within a single atomic transaction at the metadata layer. Supported operation types: - DeclareTable: Declare (reserve) a new table - CreateTableVersion: Create a new version entry for a table - DeleteTableVersions: Delete version ranges from a table - DeregisterTable: Deregister (soft-delete) a table All operations are committed atomically: either all succeed or none are applied.\",\"url\":\"https://docs.lancedb.com/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lancedb.com/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations#webpage\"},\"dateModified\":\"2026-07-06T07:33:52.846Z\",\"publisher\":{\"@id\":\"https://docs.lancedb.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.lancedb.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"LanceDB\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"LanceDB","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/quickstart"}]},{"tab":"Integrations","pages":[{"title":"Integrations","href":"/integrations"}]},{"tab":"Tutorials","pages":[{"title":"Tutorials","href":"/tutorials"}]},{"tab":"Demos","pages":[{"title":"Demos","href":"/demos"}]},{"tab":"Datasets","pages":[{"title":"Datasets","href":"/datasets"}]},{"tab":"Use Cases","pages":[{"title":"Use Cases","href":"/integrations/lerobotdataset"}]},{"tab":"API Reference","groups":[{"group":"API Reference","pages":[{"title":"SDKs and REST API Reference","sidebarTitle":"SDKs","href":"/api-reference"},{"group":"REST API","expanded":true,"pages":[{"title":"REST API Reference","sidebarTitle":"Overview","href":"/api-reference/rest/index"},{"group":"Namespace","pages":[{"title":"Create a new namespace","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/namespace/{id}/create","href":"/api-reference/rest/namespace/create-a-new-namespace"},{"title":"List namespaces","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml get /v1/namespace/{id}/list","href":"/api-reference/rest/namespace/list-namespaces"},{"title":"Describe a namespace","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/namespace/{id}/describe","href":"/api-reference/rest/namespace/describe-a-namespace"},{"title":"Drop a namespace","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/namespace/{id}/drop","href":"/api-reference/rest/namespace/drop-a-namespace"},{"title":"Check if a namespace exists","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/namespace/{id}/exists","href":"/api-reference/rest/namespace/check-if-a-namespace-exists"},{"title":"List tables in a namespace","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml get /v1/namespace/{id}/table/list","href":"/api-reference/rest/namespace/list-tables-in-a-namespace"}]},{"group":"Table","pages":[{"title":"List all tables","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml get /v1/table","href":"/api-reference/rest/table/list-all-tables"},{"title":"Register a table to a namespace","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/register","href":"/api-reference/rest/table/register-a-table-to-a-namespace"},{"title":"Describe information of a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/describe","href":"/api-reference/rest/table/describe-information-of-a-table"},{"title":"Check if a table exists","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/exists","href":"/api-reference/rest/table/check-if-a-table-exists"},{"title":"Drop a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/drop","href":"/api-reference/rest/table/drop-a-table"},{"title":"Deregister a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/deregister","href":"/api-reference/rest/table/deregister-a-table"},{"title":"Restore table to a specific version","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/restore","href":"/api-reference/rest/table/restore-table-to-a-specific-version"},{"title":"Rename a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/rename","href":"/api-reference/rest/table/rename-a-table"},{"title":"Update table schema metadata","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/schema_metadata/update","href":"/api-reference/rest/table/update-table-schema-metadata"},{"title":"List all versions of a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/version/list","href":"/api-reference/rest/table/list-all-versions-of-a-table"},{"title":"Create a new table version","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/version/create","href":"/api-reference/rest/table/create-a-new-table-version"},{"title":"Describe a specific table version","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/version/describe","href":"/api-reference/rest/table/describe-a-specific-table-version"},{"title":"Delete table version records","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/version/delete","href":"/api-reference/rest/table/delete-table-version-records"},{"title":"Atomically create versions for multiple tables","description":"Atomically create new version entries for multiple tables.\n\nThis operation is atomic: either all table versions are created successfully,\nor none are created. If any version creation fails (e.g., due to conflict),\nthe entire batch operation fails.\n\nEach entry in the request specifies the table identifier and version details.\nThis supports `put_if_not_exists` semantics for each version entry.\n","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/version/batch-create","href":"/api-reference/rest/table/atomically-create-versions-for-multiple-tables"},{"title":"Atomically commit a batch of mixed table operations","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/batch-commit","href":"/api-reference/rest/table/atomically-commit-a-batch-of-mixed-table-operations"},{"title":"Modify existing columns","description":"Modify existing columns in table `id`, such as renaming or changing data types.\n","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/alter_columns","href":"/api-reference/rest/table/modify-existing-columns"},{"title":"Update per-field metadata","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/update_field_metadata","href":"/api-reference/rest/table/update-per-field-metadata"},{"title":"Remove columns from table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/drop_columns","href":"/api-reference/rest/table/remove-columns-from-table"},{"title":"Get table statistics","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/stats","href":"/api-reference/rest/table/get-table-statistics"},{"title":"Insert records into a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/insert","href":"/api-reference/rest/table/insert-records-into-a-table"},{"title":"Merge insert (upsert) records into a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/merge_insert","href":"/api-reference/rest/table/merge-insert-upsert-records-into-a-table"},{"title":"Update rows in a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/update","href":"/api-reference/rest/table/update-rows-in-a-table"},{"title":"Delete rows from a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/delete","href":"/api-reference/rest/table/delete-rows-from-a-table"},{"title":"Query a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/query","href":"/api-reference/rest/table/query-a-table"},{"title":"Count rows in a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/count_rows","href":"/api-reference/rest/table/count-rows-in-a-table"},{"title":"Create a table with the given name","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/create","href":"/api-reference/rest/table/create-a-table-with-the-given-name"},{"title":"Get query execution plan explanation","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/explain_plan","href":"/api-reference/rest/table/get-query-execution-plan-explanation"},{"title":"Analyze query execution plan","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/analyze_plan","href":"/api-reference/rest/table/analyze-query-execution-plan"},{"title":"Add new columns to table schema","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/add_columns","href":"/api-reference/rest/table/add-new-columns-to-table-schema"},{"title":"Trigger an async column backfill job","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/backfill_column","href":"/api-reference/rest/table/trigger-an-async-column-backfill-job"},{"title":"Create an index on a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/create_index","href":"/api-reference/rest/table/create-an-index-on-a-table"},{"title":"Create a scalar index on a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/create_scalar_index","href":"/api-reference/rest/table/create-a-scalar-index-on-a-table"},{"title":"List indexes on a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/index/list","href":"/api-reference/rest/table/list-indexes-on-a-table"},{"title":"Get table index statistics","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/index/{index_name}/stats","href":"/api-reference/rest/table/get-table-index-statistics"},{"title":"Drop a specific index","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/index/{index_name}/drop","href":"/api-reference/rest/table/drop-a-specific-index"},{"title":"List all tags for a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/tags/list","href":"/api-reference/rest/table/list-all-tags-for-a-table"},{"title":"Get version for a specific tag","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/tags/version","href":"/api-reference/rest/table/get-version-for-a-specific-tag"},{"title":"Declare a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/declare","href":"/api-reference/rest/table/declare-a-table"},{"title":"Create a new tag","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/tags/create","href":"/api-reference/rest/table/create-a-new-tag"},{"title":"Delete a tag","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/tags/delete","href":"/api-reference/rest/table/delete-a-tag"},{"title":"Update a tag to point to a different version","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/tags/update","href":"/api-reference/rest/table/update-a-tag-to-point-to-a-different-version"},{"title":"List all branches for a table","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/branches/list","href":"/api-reference/rest/table/list-all-branches-for-a-table"},{"title":"Create a new branch","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/branches/create","href":"/api-reference/rest/table/create-a-new-branch"},{"title":"Delete a branch","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/table/{id}/branches/delete","href":"/api-reference/rest/table/delete-a-branch"}]},{"group":"MaterializedView","pages":[{"title":"Trigger an async materialized view refresh","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/materialized_view/{id}/refresh","href":"/api-reference/rest/materializedview/trigger-an-async-materialized-view-refresh"},{"title":"Create a materialized view","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/materialized_view/{id}/create","href":"/api-reference/rest/materializedview/create-a-materialized-view"}]},{"group":"Transaction","pages":[{"title":"Describe information about a transaction","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/transaction/{id}/describe","href":"/api-reference/rest/transaction/describe-information-about-a-transaction"},{"title":"Alter information of a transaction.","deprecated":null,"version":null,"openapi":"/api-reference/rest/openapi.yml post /v1/transaction/{id}/alter","href":"/api-reference/rest/transaction/alter-information-of-a-transaction"}]}]}]}]}]},"title":"Atomically commit a batch of mixed table operations - LanceDB","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-B-Glu166.js","dist-zbf22OZA.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-Cs6nMGht.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","AssistantPageLink-C_fs-y5n.js"]}