{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/openeo/main/json-schema/openeo-workspace-schema.json", "title": "Workspace", "x-generated": "2026-10-09", "x-method": "derived", "x-generator": "derive-json-schema.py", "x-source": "openapi/openeo-workspaces-openapi.yml#/components/schemas/workspace", "required": [ "id", "status", "type" ], "type": "object", "properties": { "id": { "$ref": "#/$defs/workspace_id" }, "title": { "$ref": "#/$defs/workspace_title" }, "description": { "$ref": "#/$defs/workspace_description" }, "type": { "type": "string", "description": "The workspace provider name as defined in `GET /workspace_providers`." }, "status": { "type": "string", "description": "The status of the workspace." }, "details": { "type": "string", "description": "A status message (e.g. error message) or any other free-text information about the workspace." }, "quota": { "$ref": "../../openapi.yaml#/components/schemas/max_storage_quota" } }, "oneOf": [ { "title": "Unavailable", "description": "The workspace is not available, e.g. because it's still provisioning it or the back-end can't connect to it / lost the connection / has been deleted externally, ...", "properties": { "status": { "enum": [ "provisioning", "unavailable" ] } } }, { "title": "Ready", "properties": { "status": { "enum": [ "ready" ] }, "url": { "$ref": "#/$defs/workspace_url" }, "properties": { "$ref": "#/$defs/workspace_properties" }, "free": { "$ref": "../../openapi.yaml#/components/schemas/storage_quota_free" } } } ], "$defs": { "workspace_description": { "type": "string", "format": "commonmark", "description": "A description that describes the workspace.\n\n[CommonMark 0.29](http://commonmark.org/) syntax MAY be used for rich\ntext representation." }, "workspace_id": { "type": "string", "pattern": "^[\\w\\-\\.~]+$" }, "workspace_properties": { "type": "object", "description": "Any additional metadata of the workspace provided by the workspace provider. The structure is not specified by the API.", "additionalProperties": { "description": "Any type" } }, "workspace_title": { "type": "string", "description": "A short title for the workspace." }, "workspace_url": { "type": "string", "format": "uri", "description": "The URL of the actual workspace, e.g. a bucket URL." } } }