Register a Google Cloud Storage connection
Connects a GCS bucket using a service account key and optionally discovers Delta and Iceberg tables within it. Credentials are encrypted and stored in the vault. **Required scope:** `storage:configure` (+ `storage_configs:share` with `workspaceId`)
Authorization
BearerAuth Security scheme for OpenAPI endpoints. Validates both JWT tokens and API keys.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/storages/gcs" \ -H "Content-Type: application/json" \ -d '{ "bucketName": "my-data-lake", "serviceAccountKey": "{\\"type\\":\\"service_account\\",\\"project_id\\":\\"my-project\\",\\"private_key_id\\":\\"key123\\",\\"private_key\\":\\"-----BEGIN RSA PRIVATE KEY-----\\\\n...\\\\n-----END RSA PRIVATE KEY-----\\\\n\\",\\"client_email\\":\\"sa@my-project.iam.gserviceaccount.com\\",\\"client_id\\":\\"123456789\\",\\"auth_uri\\":\\"https://accounts.google.com/o/oauth2/auth\\",\\"token_uri\\":\\"https://oauth2.googleapis.com/token\\"}", "oauthToken": null, "basePath": "delta-tables/", "schemaName": null, "discoverDelta": true, "discoverIceberg": false, "discoverFiles": null, "workspaceId": null }'{ "deltaTablesCount": 0, "icebergTablesCount": 0, "totalTables": 0, "message": "string", "discoveryTimeMs": 0}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}Register an Azure Blob or ADLS Gen2 storage connection
Connects an Azure Storage account container (Blob or ADLS Gen2 / OneLake) and optionally discovers Delta and Iceberg tables. Supports access key, SAS token, bearer token, and Microsoft Fabric endpoint authentication. Pass `workspaceId` to attach the config to a workspace instead of the caller — all workspace members then see its tables (default workspace = whole org). A delegated (linked-identity) config shared this way resolves each member's own Azure identity at query time. **Required scope:** `storage:configure` (+ `storage_configs:share` with `workspaceId`)
List registered tables
Returns all Delta and Iceberg tables discovered across the user's connected storage configurations, organized in a file-explorer tree structure. Set `with_discovery=true` to trigger a fresh scan of the object stores for newly added tables. **Required scope:** `storage:read`