openapi: 3.0.3 info: title: Cosmo Tech Manager dataset API description: Cosmo Tech Dataset Manager API version: 1.0.0-SNAPSHOT servers: - url: http://localhost:8080 security: - oAuth2AuthCode: [] tags: - name: dataset description: Dataset Management paths: /organizations/{organization_id}/workspaces/{workspace_id}/datasets: parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' post: operationId: createDataset tags: - dataset description: Create a new dataset in the workspace. The dataset is initialized with specified parts (can be empty). The dataset can also be populated through dataset parts. summary: Create a Dataset requestBody: content: multipart/form-data: schema: type: object properties: files: $ref: '#/components/schemas/DatasetPartFiles' datasetCreateRequest: $ref: '#/components/schemas/DatasetCreateRequest' required: - datasetCreateRequest examples: DatasetCreateExample: $ref: '#/components/examples/DatasetCreateExample' responses: '201': description: Dataset successfully created content: application/json: schema: $ref: '#/components/schemas/Dataset' examples: DatasetExample: $ref: '#/components/examples/DatasetExample' application/yaml: schema: $ref: '#/components/schemas/Dataset' examples: DatasetExample: $ref: '#/components/examples/DatasetExample' '400': description: Bad request '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Organization, workspace specified is not found get: operationId: listDatasets parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/size' tags: - dataset description: Retrieve a paginated list of all datasets in the specified workspace. Supports pagination via 'page' and 'size' query parameters. Returns datasets based on user permissions. summary: Retrieve a list of defined Dataset responses: '200': description: Datasets successfully retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/Dataset' examples: DatasetListExample: $ref: '#/components/examples/DatasetListExample' application/yaml: schema: type: array items: $ref: '#/components/schemas/Dataset' examples: DatasetListExample: $ref: '#/components/examples/DatasetListExample' '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Organization, workspace or dataset specified is not found /organizations/{organization_id}/workspaces/{workspace_id}/datasets/search: parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' post: parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/size' operationId: searchDatasets tags: - dataset summary: Search Datasets by tags requestBody: description: the Dataset search parameters required: true content: application/json: schema: type: array description: List of tags items: type: string examples: DatasetTagsSearchExample: $ref: '#/components/examples/DatasetTagsSearchExample' application/yaml: schema: type: array description: List of tags items: type: string examples: DatasetTagsSearchExample: $ref: '#/components/examples/DatasetTagsSearchExample' responses: '200': description: Dataset list containing tags content: application/json: schema: type: array items: $ref: '#/components/schemas/Dataset' examples: DatasetListExample: $ref: '#/components/examples/DatasetListExample' application/yaml: schema: type: array items: $ref: '#/components/schemas/Dataset' examples: DatasetListExample: $ref: '#/components/examples/DatasetListExample' '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Organization, workspace or dataset specified is not found /organizations/{organization_id}/workspaces/{workspace_id}/datasets/{dataset_id}: parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' - $ref: '#/components/parameters/datasetId' get: operationId: getDataset tags: - dataset description: Retrieve complete information about a specific dataset including dataset parts. summary: Retrieve a Dataset responses: '200': description: Dataset successfully retrieved content: application/json: schema: $ref: '#/components/schemas/Dataset' examples: DatasetExample: $ref: '#/components/examples/DatasetExample' application/yaml: schema: $ref: '#/components/schemas/Dataset' examples: DatasetExample: $ref: '#/components/examples/DatasetExample' '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Organization, workspace or dataset specified is not found patch: operationId: updateDataset tags: - dataset description: Update dataset information and return the updated dataset. summary: Update a Dataset requestBody: content: multipart/form-data: schema: type: object properties: files: $ref: '#/components/schemas/DatasetPartFiles' datasetUpdateRequest: $ref: '#/components/schemas/DatasetUpdateRequest' required: - datasetUpdateRequest examples: DatasetUpdateExample: $ref: '#/components/examples/DatasetUpdateExample' responses: '200': description: Dataset successfully updated content: application/json: schema: $ref: '#/components/schemas/Dataset' examples: DatasetExample: $ref: '#/components/examples/DatasetExample' application/yaml: schema: $ref: '#/components/schemas/Dataset' examples: DatasetExample: $ref: '#/components/examples/DatasetExample' '400': description: Bad request '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Organization, workspace or dataset specified is not found delete: operationId: deleteDataset tags: - dataset description: Permanently delete a dataset and all its data parts. This operation cannot be undone. summary: Delete a Dataset responses: '204': description: Dataset successfully deleted '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Organization or workspace or dataset specified is not found /organizations/{organization_id}/workspaces/{workspace_id}/datasets/{dataset_id}/security/default: parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' - $ref: '#/components/parameters/datasetId' patch: operationId: updateDatasetDefaultSecurity tags: - dataset summary: Set the Dataset default security requestBody: description: This change the dataset default security. The default security is the role assigned to any person not on the Access Control List. If the default security is None, then nobody outside of the ACL can access the dataset. required: true content: application/json: schema: $ref: '#/components/schemas/DatasetRole' examples: DatasetRoleExample: $ref: '#/components/examples/DatasetRoleExample' application/yaml: schema: $ref: '#/components/schemas/DatasetRole' examples: DatasetRoleExample: $ref: '#/components/examples/DatasetRoleExample' responses: '201': description: The Dataset default visibility content: application/json: schema: $ref: '#/components/schemas/DatasetSecurity' examples: DatasetSecurityExample: $ref: '#/components/examples/DatasetSecurityExample' application/yaml: schema: $ref: '#/components/schemas/DatasetSecurity' examples: DatasetSecurityExample: $ref: '#/components/examples/DatasetSecurityExample' '404': description: the Dataset specified is unknown or you don't have access to it /organizations/{organization_id}/workspaces/{workspace_id}/datasets/{dataset_id}/security/access: parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' - $ref: '#/components/parameters/datasetId' post: operationId: createDatasetAccessControl tags: - dataset summary: Add a control access to the Dataset requestBody: description: the new Dataset security access to add. required: true content: application/json: schema: $ref: '#/components/schemas/DatasetAccessControl' examples: DatasetAccessControlExample: $ref: '#/components/examples/DatasetAccessControlExample' application/yaml: schema: $ref: '#/components/schemas/DatasetAccessControl' examples: DatasetAccessControlExample: $ref: '#/components/examples/DatasetAccessControlExample' responses: '201': description: The Dataset access content: application/json: schema: $ref: '#/components/schemas/DatasetAccessControl' examples: DatasetAccessControlExample: $ref: '#/components/examples/DatasetAccessControlExample' application/yaml: schema: $ref: '#/components/schemas/DatasetAccessControl' examples: DatasetAccessControlExample: $ref: '#/components/examples/DatasetAccessControlExample' '404': description: the Dataset specified is unknown or you don't have access to it /organizations/{organization_id}/workspaces/{workspace_id}/datasets/{dataset_id}/security/access/{identity_id}: parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' - $ref: '#/components/parameters/datasetId' - name: identity_id in: path description: the User identifier required: true schema: type: string get: operationId: getDatasetAccessControl tags: - dataset summary: Get a control access for the Dataset responses: '200': description: The Dataset access content: application/json: schema: $ref: '#/components/schemas/DatasetAccessControl' examples: DatasetAccessControlExample: $ref: '#/components/examples/DatasetAccessControlExample' application/yaml: schema: $ref: '#/components/schemas/DatasetAccessControl' examples: DatasetAccessControlExample: $ref: '#/components/examples/DatasetAccessControlExample' '404': description: The Dataset or user specified is unknown or you don't have access to it patch: operationId: updateDatasetAccessControl tags: - dataset summary: Update the specified access to User for a Dataset requestBody: description: The new Dataset Access Control required: true content: application/json: schema: $ref: '#/components/schemas/DatasetRole' examples: DatasetRoleExample: $ref: '#/components/examples/DatasetRoleExample' application/yaml: schema: $ref: '#/components/schemas/DatasetRole' examples: DatasetRoleExample: $ref: '#/components/examples/DatasetRoleExample' responses: '200': description: The Dataset access content: application/json: schema: $ref: '#/components/schemas/DatasetAccessControl' examples: DatasetAccessControlExample: $ref: '#/components/examples/DatasetAccessControlExample' application/yaml: schema: $ref: '#/components/schemas/DatasetAccessControl' examples: DatasetAccessControlExample: $ref: '#/components/examples/DatasetAccessControlExample' '404': description: The Dataset specified is unknown or you don't have access to it delete: operationId: deleteDatasetAccessControl tags: - dataset description: Remove a user or group's access to a dataset. Cannot remove the last administrator - at least one admin must remain. summary: Remove the specified access from the given Dataset responses: '204': description: Request succeeded '404': description: The Dataset or the user specified is unknown or you don't have access to them /organizations/{organization_id}/workspaces/{workspace_id}/datasets/{dataset_id}/security/users: parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' - $ref: '#/components/parameters/datasetId' get: operationId: listDatasetSecurityUsers tags: - dataset summary: Get the Dataset security users list responses: '200': description: The Dataset security users list content: application/json: schema: type: array items: type: string example: - alice@mycompany.com - bob@mycompany.com application/yaml: schema: type: array items: type: string example: - alice@mycompany.com - bob@mycompany.com '404': description: the Dataset or the User specified is unknown or you don't have access to them /organizations/{organization_id}/workspaces/{workspace_id}/datasets/{dataset_id}/parts: parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' - $ref: '#/components/parameters/datasetId' post: operationId: createDatasetPart tags: - dataset description: Create a new data part within a dataset. Specify type as 'File' for file storage or 'DB' for database storage. Returns the created part. summary: Create a data part of a Dataset requestBody: content: multipart/form-data: schema: type: object properties: file: $ref: '#/components/schemas/DatasetPartFile' datasetPartCreateRequest: $ref: '#/components/schemas/DatasetPartCreateRequest' required: - datasetPartCreateRequest - file examples: DatasetPartCreateExample: $ref: '#/components/examples/DatasetPartCreateExample' responses: '201': description: Dataset part successfully created content: application/json: schema: $ref: '#/components/schemas/DatasetPart' examples: DatasetPartExample: $ref: '#/components/examples/DatasetPartExample' application/yaml: schema: $ref: '#/components/schemas/DatasetPart' examples: DatasetPartExample: $ref: '#/components/examples/DatasetPartExample' '400': description: Bad request - Dataset part cannot be created '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Dataset specified is not found get: operationId: listDatasetParts parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/size' tags: - dataset description: Retrieve all data parts associated with a dataset. summary: Retrieve all dataset parts of a Dataset responses: '200': description: List of dataset parts content: application/json: schema: type: array items: $ref: '#/components/schemas/DatasetPart' examples: DatasetPartListExample: $ref: '#/components/examples/DatasetPartListExample' application/yaml: schema: type: array items: $ref: '#/components/schemas/DatasetPart' examples: DatasetPartListExample: $ref: '#/components/examples/DatasetPartListExample' '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Dataset specified is not found /organizations/{organization_id}/workspaces/{workspace_id}/datasets/{dataset_id}/parts/{dataset_part_id}: parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' - $ref: '#/components/parameters/datasetId' - $ref: '#/components/parameters/datasetPartId' get: operationId: getDatasetPart tags: - dataset summary: Retrieve a data part of a Dataset responses: '200': description: Dataset part successfully retrieved content: application/json: schema: $ref: '#/components/schemas/DatasetPart' examples: DatasetPartExample: $ref: '#/components/examples/DatasetPartExample' application/yaml: schema: $ref: '#/components/schemas/DatasetPart' examples: DatasetPartExample: $ref: '#/components/examples/DatasetPartExample' '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Dataset part specified is not found put: operationId: replaceDatasetPart tags: - dataset summary: Replace existing dataset parts of a Dataset requestBody: description: New Dataset part content: multipart/form-data: schema: type: object properties: file: $ref: '#/components/schemas/DatasetPartFile' datasetPartUpdateRequest: $ref: '#/components/schemas/DatasetPartUpdateRequest' required: - file examples: DatasetPartUpdateExample: $ref: '#/components/examples/DatasetPartUpdateExample' responses: '200': description: Dataset part successfully replaced content: application/json: schema: $ref: '#/components/schemas/DatasetPart' examples: DatasetPartExample: $ref: '#/components/examples/DatasetPartExample' application/yaml: schema: $ref: '#/components/schemas/DatasetPart' examples: DatasetPartExample: $ref: '#/components/examples/DatasetPartExample' '400': description: Bad request '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Dataset part specified is not found patch: operationId: updateDatasetPart tags: - dataset summary: Update existing dataset parts information of a Dataset requestBody: required: true description: Dataset part information to update content: application/json: schema: $ref: '#/components/schemas/DatasetPartUpdateRequest' examples: DatasetPartUpdateExample: $ref: '#/components/examples/DatasetPartUpdateExample' application/yaml: schema: $ref: '#/components/schemas/DatasetPartUpdateRequest' examples: DatasetPartUpdateExample: $ref: '#/components/examples/DatasetPartUpdateExample' responses: '200': description: Dataset part information successfully updated content: application/json: schema: $ref: '#/components/schemas/DatasetPart' examples: DatasetPartExample: $ref: '#/components/examples/DatasetPartExample' application/yaml: schema: $ref: '#/components/schemas/DatasetPart' examples: DatasetPartExample: $ref: '#/components/examples/DatasetPartExample' '400': description: Bad request '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Dataset part specified is not found delete: operationId: deleteDatasetPart tags: - dataset description: Delete a dataset part summary: Delete a Dataset part responses: '204': description: Dataset part successfully deleted '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Dataset part specified is not found /organizations/{organization_id}/workspaces/{workspace_id}/datasets/{dataset_id}/parts/{dataset_part_id}/query: parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' - $ref: '#/components/parameters/datasetId' - $ref: '#/components/parameters/datasetPartId' get: parameters: - in: query name: selects schema: type: array items: type: string description: "Column names that should be part of the response data.\nYou can specify a column name like:\n - id\n - stock\n - quantity\n - ...\nIf you want to select only distinct columns, add a * at the end of the column name (e.g. stock*).\n" - in: query name: sums schema: type: array items: type: string description: 'Column names to sum by. If you want to sum only distinct columns, add a * at the end of the column name (e.g. stock*). ' - in: query name: avgs schema: type: array items: type: string description: 'Column names to average by. If you want to apply ''average'' only on distinct columns, add a * at the end of the column name (e.g. stock*). ' - in: query name: counts schema: type: array items: type: string description: 'Column names to count by. If you want to count only distinct columns, add a * at the end of the column name (e.g. stock*). ' - in: query name: mins schema: type: array items: type: string description: 'Column names to min by. If you want to apply ''min'' only on distinct columns, add a * at the end of the column name (e.g. stock*). ' - in: query name: maxs schema: type: array items: type: string description: 'Column names to max by. If you want to apply ''max'' only on distinct columns, add a * at the end of the column name (e.g. stock*). ' - in: query name: offset schema: type: integer description: The query offset - in: query name: limit schema: type: integer description: The query limit - in: query name: groupBys schema: type: array items: type: string description: Column names to group by - in: query name: orderBys schema: type: array items: type: string description: 'Column names to order by. Default order is ascending. If you want to specify ''descending'' order, add a ''!'' at the beginning of the column name (e.g. !stock). ' operationId: queryData tags: - dataset description: Execute a query against a dataset part. Results are returned as plain-text CSV. Only available for parts with type=DB. summary: 'Query data of a Dataset part. This endpoint is only available for dataset parts that support queries (type == DB). ' responses: '200': description: Data related to provided information content: application/octet-stream: schema: type: string format: binary '400': description: Bad request - Data cannot be retrieved from provided information '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Dataset specified is not found or you don't have access to it '422': description: Targeted dataset do not support requests /organizations/{organization_id}/workspaces/{workspace_id}/datasets/{dataset_id}/parts/{dataset_part_id}/download: parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' - $ref: '#/components/parameters/datasetId' - $ref: '#/components/parameters/datasetPartId' get: operationId: downloadDatasetPart tags: - dataset description: Download the file content from a dataset part. Returns the file as an application/octet-stream. summary: Download data from a dataset part responses: '200': description: Dataset part successfully downloaded content: application/octet-stream: schema: type: string format: binary '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Dataset part specified is not found /organizations/{organization_id}/workspaces/{workspace_id}/datasets/{dataset_id}/parts/search: parameters: - $ref: '#/components/parameters/organizationId' - $ref: '#/components/parameters/workspaceId' - $ref: '#/components/parameters/datasetId' post: parameters: - $ref: '#/components/parameters/page' - $ref: '#/components/parameters/size' operationId: searchDatasetParts tags: - dataset summary: Search Dataset parts by tags requestBody: description: the Dataset parts search parameters required: true content: application/json: schema: type: array description: List of tags items: type: string examples: DatasetTagsSearchExample: $ref: '#/components/examples/DatasetTagsSearchExample' application/yaml: schema: type: array description: List of tags items: type: string examples: DatasetTagsSearchExample: $ref: '#/components/examples/DatasetTagsSearchExample' responses: '200': description: Dataset part list containing tags content: application/json: schema: type: array items: $ref: '#/components/schemas/DatasetPart' examples: DatasetPartListExample: $ref: '#/components/examples/DatasetPartListExample' application/yaml: schema: type: array items: $ref: '#/components/schemas/DatasetPart' examples: DatasetPartListExample: $ref: '#/components/examples/DatasetPartListExample' '400': description: Bad request '403': description: Insufficient permissions on organization, workspace or dataset '404': description: Dataset specified is not found or you don't have access to it components: schemas: DatasetPartCreateRequest: type: object description: Dataset part create request object properties: name: type: string minLength: 1 x-size-message: cannot be empty sourceName: description: the source data name (e.g. filename associated to the dataset part) type: string minLength: 1 x-size-message: cannot be empty description: type: string tags: type: array items: type: string default: [] additionalData: type: object description: Free form additional data additionalProperties: true type: $ref: '#/components/schemas/DatasetPartTypeEnum' required: - name - sourceName DatasetPartFiles: type: array nullable: true description: "Notes:\n - Each parts defined in dataset should have a file defined in this list\n - Please ensure that upload files order match with data parts list defined\n - First file uploaded will match with first dataset parts and so on\n" items: $ref: '#/components/schemas/DatasetPartFile' DatasetRole: type: object description: the Dataset Role properties: role: type: string description: the Dataset Role required: - role DatasetPartUpdateRequest: type: object description: Dataset part update request object properties: sourceName: description: the source data name (e.g. filename associated to the dataset part) type: string minLength: 1 x-size-message: cannot be empty description: type: string tags: type: array items: type: string additionalData: type: object description: Free form additional data additionalProperties: true DatasetSecurity: type: object description: the dataset security information properties: default: type: string x-field-extra-annotation: '@com.redis.om.spring.annotations.Indexed' description: the role by default accessControlList: type: array x-field-extra-annotation: '@com.redis.om.spring.annotations.Indexed' description: the list which can access this Dataset with detailed access control information items: $ref: '#/components/schemas/DatasetAccessControl' required: - default - accessControlList DatasetPartFile: type: string description: Data file to upload format: binary DatasetPartTypeEnum: type: string description: The dataset part Type enum: - File - DB default: File DatasetUpdateRequest: type: object description: Dataset creation request properties: name: type: string minLength: 1 x-size-message: cannot be empty description: type: string tags: type: array items: type: string additionalData: type: object description: Free form additional data additionalProperties: true parts: type: array items: $ref: '#/components/schemas/DatasetPartCreateRequest' DatasetPart: type: object x-class-extra-annotation: '@com.redis.om.spring.annotations.Document' description: Dataset part object properties: id: x-field-extra-annotation: '@org.springframework.data.annotation.Id' type: string pattern: ^dp-\w{10,20} name: type: string x-field-extra-annotation: '@com.redis.om.spring.annotations.Searchable' minLength: 1 x-size-message: cannot be empty sourceName: type: string description: the source data name (e.g. filename associated to the dataset part) minLength: 1 x-size-message: cannot be empty description: type: string tags: x-field-extra-annotation: '@com.redis.om.spring.annotations.Indexed' type: array items: type: string additionalData: type: object description: Free form additional data additionalProperties: true type: $ref: '#/components/schemas/DatasetPartTypeEnum' organizationId: type: string x-field-extra-annotation: '@com.redis.om.spring.annotations.Indexed' readOnly: true description: the associated Organization Id workspaceId: type: string x-field-extra-annotation: '@com.redis.om.spring.annotations.Indexed' readOnly: true description: the associated Workspace Id datasetId: type: string x-field-extra-annotation: '@com.redis.om.spring.annotations.Indexed' readOnly: true description: the associated Dataset Id createInfo: description: The details of the Dataset creation allOf: - $ref: '#/components/schemas/DatasetEditInfo' updateInfo: description: The details of the Dataset last update allOf: - $ref: '#/components/schemas/DatasetEditInfo' required: - id - name - sourceName - tags - type - organizationId - workspaceId - datasetId - createInfo - updateInfo Dataset: type: object x-class-extra-annotation: '@com.redis.om.spring.annotations.Document' description: Dataset object properties: id: x-field-extra-annotation: '@org.springframework.data.annotation.Id' type: string pattern: ^d-\w{10,20} name: type: string x-field-extra-annotation: '@com.redis.om.spring.annotations.Searchable' x-size-message: cannot be empty minLength: 1 description: type: string organizationId: type: string x-field-extra-annotation: '@com.redis.om.spring.annotations.Indexed' readOnly: true description: the associated Organization Id workspaceId: type: string x-field-extra-annotation: '@com.redis.om.spring.annotations.Indexed' readOnly: true description: the associated Workspace Id tags: x-field-extra-annotation: '@com.redis.om.spring.annotations.Indexed' type: array description: the list of tags items: type: string additionalData: type: object description: Free form additional data additionalProperties: true parts: type: array items: $ref: '#/components/schemas/DatasetPart' createInfo: description: The details of the Dataset creation allOf: - $ref: '#/components/schemas/DatasetEditInfo' updateInfo: description: The details of the Dataset last update allOf: - $ref: '#/components/schemas/DatasetEditInfo' security: x-field-extra-annotation: '@com.redis.om.spring.annotations.Indexed' allOf: - $ref: '#/components/schemas/DatasetSecurity' required: - id - name - tags - parts - organizationId - workspaceId - createInfo - updateInfo - security DatasetEditInfo: type: object properties: timestamp: description: The timestamp of the modification in millisecond type: integer format: int64 userId: description: The id of the user who did the modification type: string required: - timestamp - userId DatasetAccessControl: type: object description: a Dataset access control item properties: id: type: string x-field-extra-annotation: '@com.redis.om.spring.annotations.Indexed' description: the identity id role: type: string x-field-extra-annotation: '@com.redis.om.spring.annotations.Indexed' description: a role required: - id - role DatasetCreateRequest: type: object description: Dataset creation request properties: name: type: string minLength: 1 x-size-message: cannot be empty description: type: string tags: type: array items: type: string default: [] additionalData: type: object description: Free form additional data additionalProperties: true parts: type: array items: $ref: '#/components/schemas/DatasetPartCreateRequest' default: [] security: $ref: '#/components/schemas/DatasetSecurity' required: - name examples: DatasetPartListExample: summary: Dataset part list example description: Example of multiple dataset parts value: - id: dp-1XyZaBcDeFg name: Q1 Sales sourceName: q1-sales-2024.csv description: First quarter sales tags: - Q1 additionalData: {} type: File organizationId: o-gZVQqV8B4pR7 workspaceId: w-OGNQqJ7wP0 datasetId: d-1AbCdEfGhIj createInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com updateInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com - id: dp-2AbCdEfGhIj name: Q2 Sales sourceName: q2-sales-2024.csv description: Second quarter sales tags: - Q2 additionalData: {} type: File organizationId: o-gZVQqV8B4pR7 workspaceId: w-OGNQqJ7wP0 datasetId: d-1AbCdEfGhIj createInfo: timestamp: 1621360000000 userId: john.doe@cosmotech.com updateInfo: timestamp: 1621360000000 userId: john.doe@cosmotech.com DatasetPartCreateExample: summary: Dataset part creation example description: Example of creating a dataset part value: name: Q3 Sales sourceName: q3-sales-2024.csv description: Third quarter sales data tags: - Q3 - sales additionalData: quarter: 3 year: 2024 type: File DatasetUpdateExample: summary: Dataset update example description: Example of updating dataset information value: name: Customer Database - Updated description: Updated customer information and purchase history tags: - customers - database - updated additionalData: source: CRM version: '2.1' DatasetRoleExample: summary: Dataset role example description: Example of updating a role value: role: admin DatasetAccessControlExample: summary: Dataset access control example description: Example of adding access control value: id: john.doe@cosmotech.com role: editor DatasetTagsSearchExample: summary: Dataset tags search example description: Example of searching datasets by tags value: - sales - 2024 DatasetPartExample: summary: Dataset part example description: Example of a dataset part value: id: dp-1XyZaBcDeFg name: Q2 Sales sourceName: q2-sales-2024.csv description: Second quarter sales data tags: - Q2 - sales additionalData: quarter: 2 year: 2024 type: File organizationId: o-gZVQqV8B4pR7 workspaceId: w-OGNQqJ7wP0 datasetId: d-1AbCdEfGhIj createInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com updateInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com DatasetSecurityExample: summary: Dataset security example description: Example of dataset security configuration value: default: viewer accessControlList: - id: john.doe@cosmotech.com role: admin - id: john.doe@cosmotech.com role: editor - id: john.doe@cosmotech.com role: viewer DatasetCreateExample: summary: Dataset creation example description: Example of creating a new dataset value: name: Customer Database description: Customer information and purchase history tags: - customers - database additionalData: source: CRM version: '2.0' parts: - name: Customer Info sourceName: customers.csv description: Basic customer information tags: - customer-info additionalData: format: CSV type: File - name: Purchase History sourceName: purchases.csv description: Historical purchase data tags: - purchases additionalData: format: CSV type: DB security: default: none accessControlList: - id: john.doe@cosmotech.com role: admin DatasetPartUpdateExample: summary: Dataset part update example description: Example of updating a dataset part value: sourceName: q3-sales-2024-updated.csv description: Third quarter sales data - updated tags: - Q3 - sales - updated additionalData: quarter: 3 year: 2024 version: '1.1' DatasetListExample: summary: Dataset list example description: Example of multiple datasets value: - id: d-1AbCdEfGhIj name: Sales Data 2024 description: Annual sales data organizationId: o-gZVQqV8B4pR7 workspaceId: w-OGNQqJ7wP0 tags: - sales - 2024 additionalData: {} parts: [] createInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com updateInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com security: default: viewer accessControlList: [] - id: d-2XyZaBcDeFg name: Inventory Data description: Current inventory levels organizationId: o-gZVQqV8B4pR7 workspaceId: w-OGNQqJ7wP0 tags: - inventory - stock additionalData: {} parts: [] createInfo: timestamp: 1621353400000 userId: john.doe@cosmotech.com updateInfo: timestamp: 1621353400000 userId: john.doe@cosmotech.com security: default: none accessControlList: - id: john.doe@cosmotech.com role: admin DatasetExample: summary: Dataset example description: Complete dataset example with parts value: id: d-1AbCdEfGhIj name: Sales Data 2024 description: Annual sales data for 2024 organizationId: o-gZVQqV8B4pR7 workspaceId: w-OGNQqJ7wP0 tags: - sales - 2024 - annual additionalData: region: Europe currency: EUR parts: - id: dp-1XyZaBcDeFg name: Q1 Sales sourceName: q1-sales-2024.csv description: First quarter sales data tags: - Q1 - sales additionalData: quarter: 1 year: 2024 type: File organizationId: o-gZVQqV8B4pR7 workspaceId: w-OGNQqJ7wP0 datasetId: d-1AbCdEfGhIj createInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com updateInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com createInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com updateInfo: timestamp: 1621353329000 userId: john.doe@cosmotech.com security: default: viewer accessControlList: - id: jane.doe@cosmotech.com role: admin - id: john.doe@cosmotech.com role: viewer parameters: datasetPartId: name: dataset_part_id in: path description: the Dataset part identifier required: true schema: type: string pattern: ^dp-\w{10,20} datasetId: name: dataset_id in: path description: the Dataset identifier required: true schema: type: string pattern: ^d-\w{10,20} page: name: page in: query description: Page number to query (first page is at index 0) required: false schema: type: integer size: name: size in: query description: Amount of result by page required: false schema: type: integer organizationId: name: organization_id in: path description: the Organization identifier required: true schema: type: string pattern: ^o-\w{10,20} workspaceId: name: workspace_id in: path description: the Workspace identifier required: true schema: type: string pattern: ^w-\w{10,20} securitySchemes: oAuth2AuthCode: type: oauth2 description: OAuth2 authentication flows: authorizationCode: authorizationUrl: https://example.com/authorize tokenUrl: https://example.com/token scopes: {}