EddytorDocs & API
Storages

Register an S3-compatible storage connection

Connects an S3 or S3-compatible bucket (e.g. MinIO, R2) and optionally discovers Delta and Iceberg tables within it. Credentials are encrypted and stored in the vault. Pass `workspaceId` to attach the config to a workspace instead of the caller — all workspace members then see its tables (default workspace = whole org). **Required scope:** `storage:configure` (+ `storage_configs:share` with `workspaceId`)

POST
/v1/storages/s3

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/s3" \  -H "Content-Type: application/json" \  -d '{    "accessKeyId": "AKIAIOSFODNN7EXAMPLE",    "secretKey": "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",    "sessionToken": null,    "region": "us-east-1",    "bucketName": "my-data-lake",    "endpoint": 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"    }  ]}