Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/lakekeeper-warehouse-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no email required.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Lakekeeper Warehouse API
version: 0.0.0
description: 'Operations tagged warehouse across 2 of this provider''s published API definitions: lakekeeper-management-api-openapi.yml, lakekeeper-management-plus-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
security:
- bearerAuth: []
tags:
- name: warehouse
description: Manage Warehouses
paths:
/management/v1/warehouse:
get:
tags:
- warehouse
summary: List Warehouses
description: 'Returns all warehouses in the project that the current user has access to.
By default, deactivated warehouses are not included in the results.
Set the `include_deactivated` query parameter to `true` to include them.'
operationId: list_warehouses
parameters:
- name: warehouseStatus
in: query
description: 'Optional filter to return only warehouses
with the specified status.
If not provided, only active warehouses are returned.'
required: false
schema:
type: array
items:
$ref: '#/components/schemas/WarehouseStatus'
- name: projectId
in: query
description: 'The project ID to list warehouses for.
Deprecated: Please use the `x-project-id` header instead.'
required: false
schema:
type:
- string
- 'null'
responses:
'200':
description: List of warehouses
content:
application/json:
schema:
$ref: '#/components/schemas/ListWarehousesResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
post:
tags:
- warehouse
summary: Create Warehouse
description: 'Creates a new warehouse in the specified project with the provided configuration.
The project of a warehouse cannot be changed after creation.
This operation validates the storage configuration.'
operationId: create_warehouse
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWarehouseRequest'
required: true
responses:
'201':
description: Warehouse created successfully
content:
application/json:
schema:
$ref: '#/components/schemas/CreateWarehouseResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}:
get:
tags:
- warehouse
summary: Get Warehouse
description: Retrieves detailed information about a specific warehouse.
operationId: get_warehouse
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Warehouse details
content:
application/json:
schema:
$ref: '#/components/schemas/GetWarehouseResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
delete:
tags:
- warehouse
summary: Delete Warehouse
description: 'Permanently removes a warehouse and all its associated resources.
Use the `force` parameter to delete protected warehouses.'
operationId: delete_warehouse
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'204':
description: Warehouse deleted successfully
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/actions:
get:
tags:
- warehouse
summary: Get allowed actions for a warehouse
operationId: get_warehouse_actions
parameters:
- name: principalUser
in: query
description: 'The user to show actions for.
If neither user nor role is specified, shows actions for the current user.'
required: false
schema:
type: string
- name: principalRole
in: query
description: 'The role to show actions for.
If neither user nor role is specified, shows actions for the current user.'
required: false
schema:
type: string
format: uuid
- name: warehouse_id
in: path
description: Warehouse ID
required: true
schema:
type: string
format: uuid
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetLakekeeperWarehouseActionsResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/activate:
post:
tags:
- warehouse
summary: Activate Warehouse
description: Re-enables access to a previously deactivated warehouse.
operationId: activate_warehouse
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Warehouse activated successfully
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/deactivate:
post:
tags:
- warehouse
summary: Deactivate Warehouse
description: Temporarily disables access to a warehouse without deleting its data.
operationId: deactivate_warehouse
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: Warehouse deactivated successfully
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/delete-profile:
post:
tags:
- warehouse
summary: Update Deletion Profile
description: Configures the soft-delete behavior for a warehouse.
operationId: update_warehouse_delete_profile
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWarehouseDeleteProfileRequest'
required: true
responses:
'200':
description: Deletion Profile updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GetWarehouseResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/deleted-tabulars:
get:
tags:
- warehouse
summary: List Soft-Deleted Tabulars
description: Returns all soft-deleted tables and views in the warehouse that are visible to the current user.
operationId: list_deleted_tabulars
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
- name: namespaceId
in: query
description: Filter by Namespace ID
required: false
schema:
type: string
format: uuid
- name: pageToken
in: query
description: Next page token
required: false
schema:
type:
- string
- 'null'
- name: pageSize
in: query
description: 'Signals an upper bound of the number of results that a client will receive.
Default: 100'
required: false
schema:
type:
- integer
- 'null'
format: int64
responses:
'200':
description: List of soft-deleted tabulars
content:
application/json:
schema:
$ref: '#/components/schemas/ListDeletedTabularsResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/deleted-tabulars/undrop:
post:
tags:
- warehouse
summary: Undrop Tabular
description: Restores previously deleted tables or views to make them accessible again.
operationId: undrop_tabulars
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UndropTabularsRequest'
required: true
responses:
'204':
description: Tabular undropped successfully
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/format-version-policy:
post:
tags:
- warehouse
summary: Update Format Version Policy
description: 'Configures which Iceberg table format versions may be created in, or
upgraded to, within a warehouse, and the default version applied when a
create-table request does not specify one.'
operationId: update_warehouse_format_version_policy
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateWarehouseFormatVersionPolicyRequest'
required: true
responses:
'200':
description: Format version policy updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GetWarehouseResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/generic-table/{generic_table_id}/actions:
get:
tags:
- warehouse
summary: Get allowed actions for a generic table
operationId: get_generic_table_actions
parameters:
- name: principalUser
in: query
description: 'The user to show actions for.
If neither user nor role is specified, shows actions for the current user.'
required: false
schema:
type: string
- name: principalRole
in: query
description: 'The role to show actions for.
If neither user nor role is specified, shows actions for the current user.'
required: false
schema:
type: string
format: uuid
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
- name: generic_table_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetLakekeeperGenericTableActionsResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/generic-table/{generic_table_id}/protection:
get:
tags:
- warehouse
summary: Get Generic Table Protection
description: Retrieves whether a generic table is protected from deletion.
operationId: get_generic_table_protection
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
- name: generic_table_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProtectionResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
post:
tags:
- warehouse
summary: Set Generic Table Protection
description: Configures whether a generic table should be protected from deletion.
operationId: set_generic_table_protection
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
- name: generic_table_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetProtectionRequest'
required: true
responses:
'200':
description: Generic table protection set successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ProtectionResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/managed-by:
post:
tags:
- warehouse
summary: Set Warehouse Managed-By
description: 'Sets (or clears) the managed-by marker on a warehouse. When set, the
warehouse spec becomes mutable only by the managing control plane
(instance admins). Requires instance-admin privilege.'
operationId: set_warehouse_managed_by
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetWarehouseManagedByRequest'
required: true
responses:
'200':
description: Warehouse managed-by marker set successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GetWarehouseResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/namespace/{namespace_id}/actions:
get:
tags:
- warehouse
summary: Get allowed actions for a namespace
operationId: get_namespace_actions
parameters:
- name: principalUser
in: query
description: 'The user to show actions for.
If neither user nor role is specified, shows actions for the current user.'
required: false
schema:
type: string
- name: principalRole
in: query
description: 'The role to show actions for.
If neither user nor role is specified, shows actions for the current user.'
required: false
schema:
type: string
format: uuid
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
- name: namespace_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/GetLakekeeperNamespaceActionsResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/namespace/{namespace_id}/protection:
get:
tags:
- warehouse
summary: Get Namespace Protection
description: Retrieves whether a namespace is protected from deletion.
operationId: get_namespace_protection
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
- name: namespace_id
in: path
required: true
schema:
type: string
format: uuid
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/ProtectionResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
post:
tags:
- warehouse
summary: Set Namespace Protection
description: Configures whether a namespace should be protected from deletion.
operationId: set_namespace_protection
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
- name: namespace_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetProtectionRequest'
required: true
responses:
'200':
description: Namespace protection set successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ProtectionResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/protection:
post:
tags:
- warehouse
summary: Set Warehouse Protection
description: Configures whether a warehouse should be protected from deletion.
operationId: set_warehouse_protection
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SetProtectionRequest'
required: true
responses:
'200':
description: Warehouse protection set successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ProtectionResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/rename:
post:
tags:
- warehouse
summary: Rename Warehouse
description: Updates the name of a specific warehouse.
operationId: rename_warehouse
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RenameWarehouseRequest'
required: true
responses:
'200':
description: Warehouse renamed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/GetWarehouseResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/search-tabular:
post:
tags:
- warehouse
summary: Search Tabulars
description: 'Performs a fuzzy search for tabulars based on the provided criteria. If the search string
can be parsed as uuid:
- if there is tabular with that uuid, the tabular is in the response
- if there is a namespace with that uuid, tables in that namespace are in the response'
operationId: search_tabular
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SearchTabularRequest'
required: true
responses:
'200':
description: List of tabulars
content:
application/json:
schema:
$ref: '#/components/schemas/SearchTabularResponse'
4XX:
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/IcebergErrorResponse'
servers:
- url: '{scheme}://{host}{basePath}'
description: Lakekeeper Management API
variables:
basePath:
default: ''
description: Optional path prefix (starting with '/') to be prepended to all routes
host:
default: localhost
description: The host (and optional port) for the specified server
scheme:
default: https
description: The scheme of the URI, either http or https
/management/v1/warehouse/{warehouse_id}/statistics:
get:
tags:
- warehouse
summary: Get Warehouse Statistics
description: "Retrieves statistical data about a warehouse's usage and resources over time.\nStatistics are aggregated hourly when changes occur.\n\nWe lazily create a new statistics entry every hour, in between hours, the existing entry is\nbeing updated. If there's a change at `created_at + 1 hour`, a new entry is created.\nIf there's been no change, no new entry is created, meaning there may be gaps.\n\nExample:\n- 00:16:32: warehouse created:\n - `timestamp: 01:00:00, created_at: 00:16:32, updated_at: null, 0 tables, 0 views`\n- 00:30:00: table created:\n - `timestamp: 01:00:00, created_at: 00:16:32, updated_at: 00:30:00, 1 table, 0 views`\n- 00:45:00: view created:\n - `timestamp: 01:00:00, created_at: 00:16:32, updated_at: 00:45:00, 1 table, 1 view`\n- 01:00:36: table deleted:\n - `timestamp: 02:00:00, created_at: 01:00:36, updated_at: null, 0 tables, 1 view`\n - `timestamp: 01:00:00, created_at: 00:16:32, updated_at: 00:45:00, 1 table, 1 view`"
operationId: get_warehouse_statistics
parameters:
- name: warehouse_id
in: path
required: true
schema:
type: string
format: uuid
- name: page_token
in: query
description: Next page token
required: false
schema:
type: string
- name: page_size
in: query
description: Signals an upper bound of the number of results that a client will receive.
required: false
schema:
type:
- integer
- 'null'
format: int64
responses:
'200':
description: Warehouse statistics
content:
application/json:
schema:
# --- truncated at 32 KB (104 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/lakekeeper/refs/heads/main/openapi/lakekeeper-warehouse-api-openapi.yml