EddytorDocs & API
Storages

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`)

POST
/v1/storages/gcs

Authorization

BearerAuth
AuthorizationBearer <token>

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}
Empty
Empty
{  "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"    }  ]}