diff --git a/spec.json b/spec.json index c30ec86c..f0ec6482 100644 --- a/spec.json +++ b/spec.json @@ -8933,6 +8933,102 @@ } } }, + "delete": { + "tags": [ + "orgs" + ], + "summary": "Delete a dataset owned by the caller's organization.", + "description": "This is a destructive operation that: - requires org admin authentication and the dataset must belong to the caller's org. - fails with a 409 Conflict if the dataset is still attached to any custom model. - deletes Zoo-managed artifacts for this dataset (converted outputs and embeddings). - does **not** delete or modify the customer's source bucket/prefix.\n\nAll internal artifact deletions are strict; if any cleanup fails, the request fails.", + "operationId": "delete_org_dataset", + "parameters": [ + { + "in": "path", + "name": "id", + "description": "The identifier.", + "required": true, + "schema": { + "$ref": "#/components/schemas/Uuid" + } + } + ], + "responses": { + "204": { + "description": "successful deletion", + "headers": { + "Access-Control-Allow-Credentials": { + "description": "Access-Control-Allow-Credentials header.", + "style": "simple", + "schema": { + "nullable": true, + "type": "string" + } + }, + "Access-Control-Allow-Headers": { + "description": "Access-Control-Allow-Headers header. This is a comma-separated list of headers.", + "style": "simple", + "schema": { + "nullable": true, + "type": "string" + } + }, + "Access-Control-Allow-Methods": { + "description": "Access-Control-Allow-Methods header.", + "style": "simple", + "schema": { + "nullable": true, + "type": "string" + } + }, + "Access-Control-Allow-Origin": { + "description": "Access-Control-Allow-Origin header.", + "style": "simple", + "schema": { + "nullable": true, + "type": "string" + } + }, + "Content-Location": { + "description": "The Content-Location header for responses that are not the final destination. This is used to indicate where the resource can be found, when it is finished.", + "style": "simple", + "schema": { + "nullable": true, + "type": "string" + } + }, + "Location": { + "description": "The location header for redirects and letting users know if there is a websocket they can listen to for status updates on their operation.", + "style": "simple", + "schema": { + "nullable": true, + "type": "string" + } + }, + "Set-Cookie": { + "description": "Set-Cookie header.", + "style": "simple", + "schema": { + "nullable": true, + "type": "string" + } + }, + "X-Api-Call-Id": { + "description": "ID for this request. We return it so that users can report this to us and help us debug their problems.", + "style": "simple", + "required": true, + "schema": { + "type": "string" + } + } + } + }, + "4XX": { + "$ref": "#/components/responses/Error" + }, + "5XX": { + "$ref": "#/components/responses/Error" + } + } + }, "options": { "tags": [ "hidden" @@ -9071,7 +9167,7 @@ "in": "query", "name": "sort_by", "schema": { - "$ref": "#/components/schemas/CreatedAtSortMode" + "$ref": "#/components/schemas/ConversionSortMode" } } ], @@ -27251,6 +27347,53 @@ "src_format" ] }, + "ConversionSortMode": { + "description": "Supported sort modes for org dataset conversions.", + "oneOf": [ + { + "description": "Sort by created_at in increasing order.", + "type": "string", + "enum": [ + "created_at_ascending" + ] + }, + { + "description": "Sort by created_at in decreasing order.", + "type": "string", + "enum": [ + "created_at_descending" + ] + }, + { + "description": "Sort by status in increasing order.", + "type": "string", + "enum": [ + "status_ascending" + ] + }, + { + "description": "Sort by status in decreasing order.", + "type": "string", + "enum": [ + "status_descending" + ] + }, + { + "description": "Sort by updated_at in increasing order.", + "type": "string", + "enum": [ + "updated_at_ascending" + ] + }, + { + "description": "Sort by updated_at in decreasing order.", + "type": "string", + "enum": [ + "updated_at_descending" + ] + } + ] + }, "CountryCode": { "description": "An ISO-3166 alpha-2 country code. Always uppercase.", "type": "string" @@ -40001,6 +40144,14 @@ "description": "Fully-qualified URI to the dataset location (e.g. s3://bucket/prefix).", "type": "string" }, + "status": { + "description": "Lifecycle status for this dataset.", + "allOf": [ + { + "$ref": "#/components/schemas/OrgDatasetStatus" + } + ] + }, "storage_provider": { "description": "Storage provider identifier.", "allOf": [ @@ -40023,6 +40174,7 @@ "name", "org_id", "source_uri", + "status", "storage_provider", "updated_at" ] @@ -40399,6 +40551,32 @@ "uri" ] }, + "OrgDatasetStatus": { + "description": "Lifecycle status for org datasets.", + "oneOf": [ + { + "description": "Dataset is active and can be used.", + "type": "string", + "enum": [ + "active" + ] + }, + { + "description": "Dataset is being deleted and should not be mutated or used.", + "type": "string", + "enum": [ + "deleting" + ] + }, + { + "description": "Dataset encountered sync errors and needs attention.", + "type": "string", + "enum": [ + "errored" + ] + } + ] + }, "OrgDetails": { "description": "The user-modifiable parts of an organization.", "type": "object",