string identifier of an object in a namespace, following the Lance Namespace spec.
When the value is equal to the delimiter, it represents the root namespace.
For example, v1/namespace/$/list performs a ListNamespace on the root namespace.
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"}.
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"}.
{"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.4005","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/restore-table-to-a-specific-version","slug":"/api-reference/rest/table/restore-table-to-a-specific-version","pageMetadata":{"title":"Restore table to a specific version","description":"Restore table `id` to a specific version.\n","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","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Restore table \", _jsx(_components.code, {\n children: \"id\"\n }), \" to a specific version.\"]\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":"Restore table to a specific version","description":"Restore table `id` to a specific version.\n","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","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/lancedb-bcbb4faf/71b64c20a8f631b3/static/scripts/cookie-consent.js"],"openApiReferenceData":{"operation":{"tags":["Table","Metadata"],"summary":"Restore table to a specific version","operationId":"RestoreTable","description":"Restore table `id` to a specific version.\n","requestBody":"c4775bae-bc76-4e30-a2ff-8edd5d8e577a","responses":{"200":"bb23946b-66ac-4fe2-98c5-39da81c94040","400":"d1ea1eff-6c3e-4974-b364-f128a0fe634a","401":"6dcc0675-dbbd-4864-a1f2-c083807d269a","403":"e64c52c9-7817-4d6c-b91d-6932d7cd462e","404":"7142d515-9e93-4a2a-81a6-de946e335c48","503":"6eb3ca8c-6d7d-4bb9-a5ca-c9cd6733f171","5XX":"757c160a-3f16-476c-b310-90d8263e9885"},"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/{id}/restore","baseUrlOptions":["{scheme}://{host}:{port}/{basePath}","{scheme}://{host}/{basePath}"],"title":"Restore table to a specific version","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"4692ed1f-8f34-4b10-9066-9b8d1c689a16":{"name":"id","description":"`string identifier` of an object in a namespace, following the Lance Namespace spec.\nWhen the value is equal to the delimiter, it represents the root namespace.\nFor example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.\n","in":"path","required":true,"schema":{"type":"string","isRequired":true,"description":"`string identifier` of an object in a namespace, following the Lance Namespace spec.\nWhen the value is equal to the delimiter, it represents the root namespace.\nFor example, `v1/namespace/$/list` performs a `ListNamespace` on the root namespace.\n","uniqueKey":"","typeLabel":"string"}},"c4b6f201-ab97-4bfe-a50d-a4255213de85":{"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","required":["version"],"properties":{"version":{"type":"integer","format":"int64","minimum":0,"description":"Version to restore to","isRequired":true,"uniqueKey":"version","typeLabel":"integer\u003cint64>"},"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"},"id":{"type":"array","items":{"type":"string","uniqueKey":"id.items.[INDEX]","typeLabel":"string"},"uniqueKey":"id","typeLabel":"string[]"},"branch":{"type":"string","description":"Branch to target. When not specified, the main branch is used.\n","uniqueKey":"branch","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"version":1,"identity":{"api_key":"\u003cstring>","auth_token":"\u003cstring>"},"context":{},"id":["\u003cstring>"],"branch":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"bb23946b-66ac-4fe2-98c5-39da81c94040":{"description":"Table restore operation result","content":{"application/json":{"schema":{"type":"object","description":"Response for restore table 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":"context.additionalProperties","typeLabel":"string"},"uniqueKey":"context","typeLabel":"object"},"transaction_id":{"type":"string","description":"Optional transaction identifier","uniqueKey":"transaction_id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"context":{},"transaction_id":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"d1ea1eff-6c3e-4974-b364-f128a0fe634a":{"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"},"6dcc0675-dbbd-4864-a1f2-c083807d269a":{"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"},"e64c52c9-7817-4d6c-b91d-6932d7cd462e":{"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"},"7142d515-9e93-4a2a-81a6-de946e335c48":{"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"},"6eb3ca8c-6d7d-4bb9-a5ca-c9cd6733f171":{"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"},"757c160a-3f16-476c-b310-90d8263e9885":{"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":"Restore table to a specific version - LanceDB","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-06T07:33:52.778Z","originalFileLocation":"api-reference/rest/table/restore-table-to-a-specific-version.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=\"Restore table id to a specific version.\">\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=\"Restore table to a specific version - LanceDB\">\u003cmeta data-mint-head property=\"og:description\" content=\"Restore table id to a specific version.\">\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/restore-table-to-a-specific-version\">\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=Restore+table+to+a+specific+version\u0026amp;description=Restore+table+%60id%60+to+a+specific+version.%0A\u0026amp;theme=123a95b5dfac0c4bc2a3854c\u0026amp;signature=a1e1a180750fe9f9fb7648515299264132cd5c3c37f23b7049d1c57d08e510de\">\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=\"Restore table to a specific version - LanceDB\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Restore table id to a specific version.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://lancedb-bcbb4faf.mintlify.app/_mintlify/api/og/v2?division=Table\u0026amp;title=Restore+table+to+a+specific+version\u0026amp;description=Restore+table+%60id%60+to+a+specific+version.%0A\u0026amp;theme=123a95b5dfac0c4bc2a3854c\u0026amp;signature=a1e1a180750fe9f9fb7648515299264132cd5c3c37f23b7049d1c57d08e510de\">\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/restore-table-to-a-specific-version\">\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/restore-table-to-a-specific-version.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/restore-table-to-a-specific-version#webpage\",\"url\":\"https://docs.lancedb.com/api-reference/rest/table/restore-table-to-a-specific-version\",\"name\":\"Restore table to a specific version\",\"description\":\"Restore table id to a specific version.\",\"dateModified\":\"2026-07-06T07:33:52.778Z\",\"isPartOf\":{\"@id\":\"https://docs.lancedb.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.lancedb.com/api-reference/rest/table/restore-table-to-a-specific-version#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.lancedb.com/api-reference/rest/table/restore-table-to-a-specific-version#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\":\"Restore table to a specific version\",\"item\":\"https://docs.lancedb.com/api-reference/rest/table/restore-table-to-a-specific-version\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.lancedb.com/api-reference/rest/table/restore-table-to-a-specific-version#apireference\",\"headline\":\"Restore table to a specific version\",\"name\":\"Restore table to a specific version\",\"description\":\"Restore table id to a specific version.\",\"url\":\"https://docs.lancedb.com/api-reference/rest/table/restore-table-to-a-specific-version\",\"mainEntityOfPage\":{\"@id\":\"https://docs.lancedb.com/api-reference/rest/table/restore-table-to-a-specific-version#webpage\"},\"dateModified\":\"2026-07-06T07:33:52.778Z\",\"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","description":"Deregister table `id` from its namespace.\n","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","description":"Rename table `id` to a new name.\n","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","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","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":"Restore table to a specific version - LanceDB","buildId":"dpl_48qhjNLiu9iJQQSZJz9Fa2ihBbPH","deploymentId":"dpl_48qhjNLiu9iJQQSZJz9Fa2ihBbPH","dynamics":["10e4515597","c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["BannerMarkdown-B0m80FZC.js","dist-tb1XVL5i.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","clsx-Q3eNRTcf.js","html-void-elements-mCSPHezU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","OpenApiReferenceProvider-rBlzXElK.js","utils-AjnlCZis.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-swvqTHUt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-CG9fqVU0.js","snippetPresets-CQaUsst6.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-DAdT3l54.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-B1x8JMQI.js","shallow-D3oUTT8_.js","getApiPlaygroundDisplay-CXVJ98Sz.js","CodeSnippet-HbTSvyGs.js","CodeSnippets-DvgXFP0T.js","Page-C2raW8UD.js","getPastedJson-CfDE0eLj.js","icon-DBPqa2DN.js","MethodPill-86CHHFOO.js","DuplicateIcon-B5BXvyBd.js","createIcon-C_r05QJX.js","DynamicMarkdown-Cp6hhEk1.js","SectionHeading-RZjzOLoo.js","axios-vUo_bRtp.js","Markdown-B0YOyiNO.js","AssistantPageLink-9O1lyZBL.js"]}