Undo a recent promote
Flips a just-promoted config back to the promoter's personal ownership — mistake recovery for "shared to the wrong place". Only the promoter may undo, and only within 15 minutes of the promote; a workspace re-attach extinguishes the window. After the window, sharing is one-way by design: teammates may have built on the shared config, so the loud teardown path is DELETE. **Required scope:** `storage_configs:share`
Authorization
BearerAuth Security scheme for OpenAPI endpoints. Validates both JWT tokens and API keys.
In: header
Path Parameters
uuidResponse 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/configs/497f6eca-6276-4993-bfeb-53cbbbba6f08/promote/undo"{ "configId": "46ff6d11-d8b2-40d8-9197-dfa33c61cd6c", "configName": "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" } ]}{ "code": "string", "message": "string", "request_id": "string", "details": [ { "field": "string", "message": "string" } ]}Attach a storage configuration to a workspace
Two cases (ED-544): - **Personal config the caller owns** → promoted to workspace ownership. The promoter can undo within a short window (see the undo endpoint). - **Workspace-owned config** → re-attached to the target workspace. Requires Admin/Builder access to BOTH the current and the target workspace, and extinguishes any pending promote-undo window. The config id is stable in both cases, so its `cfg_{id}` catalog schema and every registered table keep resolving. Gaining access is additive — new members pick the config up on their next discovery refresh. *Losing* it is not: a re-attach drops the source workspace members' engine sessions so the config stops resolving for them immediately. Attaching to the default workspace is a deliberate org-wide share. **Required scope:** `storage_configs:share` (plus Admin or Builder access to the workspace(s) involved)
Upload files to a storage path
Uploads one or more files to the specified path within the user's connected object store. The request body must be `Content-Type: multipart/form-data` with: - A **`path`** text field — the destination directory (e.g. `"data/raw/2024/"`). - One or more **`files`** binary parts — the files to upload. **Required scope:** `storage:write`