swagger: '2.0' info: version: 4.9.0 title: SDI - Semantic Data Interconnect APIs x-visibility: external description: | The Semantic Data Interconnect (SDI) is a collection of APIs that allows the user to unlock the potential of disparate big data by connecting external data. The SDI can infer the schemas of data based on schema-on-read, allow creating a semantic model and perform big data semantic queries. It seamlessly connects to MindSphere's Integrated Data Lake (IDL). The SDI operations are divided into the following groups: **Data Registration for SDI** This set of APIs is used to organize the incoming data. When configuring a Data Registry, you have the option to update your data based on a replace or append strategy. If you consider a use case where schema may change and incoming data files are completely different every time then replace is a good strategy. The replace strategy will replace the existing schema and data during each data ingest operation whereas the append strategy will update the existing schema and data during each data ingest operation. **Custom Data Type for SDI** The SDI by default identifies basic data types for each property, such as String, Integer, Float, Date, etc. The user can use this set of APIs to create their own custom data type. The SDI also provides an API under this category to suggest data type based on user-provided sample test values. **Data Lake for SDI** The SDI can process files uploaded provides endpoints to manage customer's data lake registration based on tenant id, cloud provider and data lake type. The set of REST endpoint allows to create, update and retrieve base path for their data lake. The IDL customer needs to create an SDI folder that is under the root folder. Any file uploaded in this folder is automatically picked up by SDI to process via IDL notification. **Data Ingest for SDI** This set of APIs allows user to upload files, start an ingest job for uploaded files, find job status for ingested jobs or retrieve all job statuses. **Schema Registry for SDI** The SDI provides a way to find the generated schema in this category. Users can find an SDI generated schema for uploaded files based on source name, data tag or schema name. **Data Query for SDI** allows querying based on the extracted schemas. Important supported APIs are: * Query interface for querying semantically correlated and transformed data. * Stores and executes data queries. * Uses a semantic model to translate model-based query to physical queries. **Semantic Model for SDI** allows user to create semantic model ontologies based on the extracted one or more schemas. The important functionalities achieved with APIs are: * Contextual correlation of data from different systems. * Infers & Recommends mappings between different schemas. * Import and store Semantic model. basePath: /api/sdi/v4 tags: - name: Data Lake description: Operations to manage and retrieve customer data lake information. - name: Dataregistry description: Operations to manage and keep track of created Data Registry. - name: IotDataregistry description: Operations to manage and keep track of DataRegistry dedicated for IoT Data. - name: Custom Datatypes description: Operations to manage and keep track of custom data types. - name: Data Ingest description: Operations to ingest the data into SDI system for the current tenant. - name: Schema Registry description: Operations to review generated schemas and infer semantic model based on extracted schemas. - name: Data Query Operations description: Manage and execute data queries - name: Ontologies description: Manage ontologies - name: Ontologies Operations description: Manage ontologies Jobs to create/update Ontologies. schemes: - https securityDefinitions: dataingest: type: oauth2 flow: accessCode authorizationUrl: 'https://oauth.simple.api/authorization' tokenUrl: 'https://oauth.simple.api/token' scopes: sdi.dip.w: upload or ingest data sdi.dip.r: read ingest status registry: type: oauth2 flow: accessCode authorizationUrl: 'https://oauth.simple.api/authorization' tokenUrl: 'https://oauth.simple.api/token' scopes: sdi.reg.w: create/update datalake or Data Registry or Data Type or suggest patterns sdi.reg.r: read datalake or Data Registry or data type or schema sdi.reg.d: delete Data Registry or data type query: type: oauth2 flow: accessCode authorizationUrl: 'https://oauth.simple.api/authorization' tokenUrl: 'https://oauth.simple.api/token' scopes: sdi.dqp.x: read query results sdi.dqp.w: create or update queries sdi.dqp.r: read queries sdi.dqp.d: delete queries sdi.dqp.e: create and get query execution jobs sdi.dqp.ed: delete query execution jobs ontology: type: oauth2 flow: accessCode authorizationUrl: 'https://oauth.simple.api/authorization' tokenUrl: 'https://oauth.simple.api/token' scopes: sdi.smd.w: infer or create or update ontology sdi.smd.r: read ontology or ontology status sdi.smd.d: delete ontology paths: /dataLakes/{id}: get: tags: - Data Lake summary: Retrieves DataLake for a given DataLake Id description: Retrieves DataLake for a given DataLake Id operationId: getDataLakeUsingGET produces: - application/json security: - registry: - sdi.reg.r parameters: - name: id in: path description: id of the data lake required: true type: string responses: '200': description: OK schema: $ref: '#/definitions/DataLakeResponse' '404': description: Not Found default: description: >-
Other error with any status code and response body format. |
patch: tags: - Data Lake summary: Updates base path for a given data lake type description: Updates base path for a given data lake type operationId: updateDataLakeUsingPUT produces: - application/json security: - registry: - sdi.reg.w parameters: - name: id in: path description: id of the data lake required: true type: string - in: body name: updateDataLakeRequest description: updateDataLakeRequest required: true schema: $ref: '#/definitions/UpdateDataLakeRequest' responses: '200': description: OK schema: $ref: '#/definitions/DataLakeResponse' '404': description: Not Found '400': description: | Bad Request. Possible errors: Code Suffix | Message (parameterized) ------------- |------------- mdsp.core.sdi.dataLake.InvalidBasePath | DataLake basePath must contain non-empty string value. schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
/dataLakes: get: tags: - Data Lake summary: Retrieves all DataLakes description: Retrieves base path for a given data lake type, this will return an empty array when no datalake is found. operationId: getDataLakesUsingGET security: - registry: - sdi.reg.r produces: - application/json responses: '200': description: OK schema: $ref: '#/definitions/DataLakeList' post: tags: - Data Lake summary: Creates a data lake record with a given data lake type and base path description: Creates a data lake record with given data lake type, name and base path. To use IDL as preferred data lake, use type as MindSphere and name as IDL. The possible values for type is MindSphere or Custom. operationId: createDataLakeUsingPOST produces: - application/json security: - registry: - sdi.reg.w parameters: - in: body name: createDataLakeRequest description: createDataLakeRequest required: true schema: $ref: '#/definitions/CreateDataLakeRequest' responses: '201': description: OK schema: $ref: '#/definitions/CreateDataLakeResponse' '400': description: | Bad Request. Possible errors: Code Suffix | Message (parameterized) ------------- |------------- mdsp.core.sdi.dataLake.InvalidBasePath | DataLake basePath must contain non-empty string value. mdsp.core.sdi.dataLake.InvalidName | DataLake basePath must contain non-empty string value. mdsp.core.sdi.dataLake.InvalidType | DataLake basePath must contain non-empty string value. mdsp.core.sdi.dataLake.InvalidRequest | DataLake type must be MindSphere or Custom. Valid value for MindSphere dataLake is SDI or IDL mdsp.core.sdi.dataLake.InvalidSubscription | You have not yet purchased the IDL datalake. schema: $ref: '#/definitions/ErrorMessage' '409': description: The data lake with given name already exist. /iotDataRegistries: get: tags: - IotDataregistry summary: Retrieves an IoT Data Registry entries description: Retrieves an IoT Data Registry with MindSphere AssetId and AspectName produces: - application/json security: - registry: - sdi.reg.r parameters: - name: filter in: query description: filter required: false type: string - $ref: '#/parameters/PageToken' responses: '200': description: OK schema: $ref: '#/definitions/ListOfIoTRegistryResponse' '204': description: No Content post: tags: - IotDataregistry summary: Add a new IoT Data Registry entry description: Create new IoT Data Registry with MindSphereAssetId and AspectName produces: - application/json security: - registry: - sdi.reg.w parameters: - name: IotDataRegistry in: body description: IotDataRegistry object required: true schema: $ref: '#/definitions/IotDataRegistry' responses: '201': description: CREATED schema: $ref: '#/definitions/IotDataRegistryResponse' '400': description: | Bad Request. Possible errors: Code Suffix | Message (parameterized) ------------- |------------- mdsp.core.sdi.iotDataRegistry.InvalidAssetId | The '{assetId}' is invalid. It must not be empty mdsp.core.sdi.iotDataRegistry.InvalidAspectName | The '{aspectName}' is invalid. It must not be empty mdsp.core.sdi.iotDataRegistry.registryserviceDuplicatedIotDataRegistry | The data registry exist for given {assetId} and {aspectName}. mdsp.core.sdi.iotDataRegistry.registryserviceInvalidAspect | The {aspectName} is not an aspect of assetId {assetId}. mdsp.core.sdi.iotDataRegistry.registryserviceInvalidAsset | Unable to verify {assetId} and {aspectName}. '401': description: | AssetId is not found in MindSphere AssetManagement: '403': description: | Access to MindSphere AssetManagement was denied for token expired: '404': description: | Access to MindSphere AssetManagement was denied for token expired: /dataRegistries/{id}: get: tags: - Dataregistry summary: Retrieves Data Registry for a given registry id description: Retrieves registry for a registry id operationId: getAllRecordsUsingGET produces: - application/json security: - registry: - sdi.reg.r parameters: - name: id in: path description: Unique identifier of the Data Registry. required: true type: string responses: '200': description: OK schema: $ref: '#/definitions/DataRegistry' '400': description: | Bad Request. Possible errors: Code Suffix | Message (parameterized) ------------- |------------- mdsp.core.sdi.registryserviceinvalidregistryid | No Matching Registry found for the given Registry Id patch: tags: - Dataregistry summary: Updates a Data Registry description: Update Data Registry entries for a given Data Registry Id. The registry attributes sourceName, dataTag and partitionKeys cannot be updated. operationId: updateDataRegistryUsingPUT consumes: - application/json produces: - application/json security: - registry: - sdi.reg.w parameters: - name: id in: path description: Unique identifier of the Data Registry. required: true type: string - in: body name: updateDataRegistryRequest description: updateDataRegistryRequest required: true schema: $ref: '#/definitions/UpdateDataRegistryRequest' responses: '200': description: OK schema: $ref: '#/definitions/DataRegistry' '400': description: | Bad Request. Possible errors: Code Suffix | Message (parameterized) ------------- |------------- mdsp.core.sdi.registryserviceinvalidfilepattern | The '{filePattern}' is invalid. The file pattern must not be able to accept empty file name. mdsp.core.sdi.registryserviceinvalidstrategy | The '{fileUploadStrategy}' must not be empty and only 'replace' or 'append' is accepted for file upload strategy. mdsp.core.sdi.registryserviceinvalidxmlprocessrulescount | The '{metaDataTags}' Number of metadata tags must not exceed 10 and must not contain special character mdsp.core.sdi.registryserviceinvalidfreezeschema | There is no existing schema for the registry. The '{schemaFrozen}' can be set to true only after creation of the initial schema for the registry. mdsp.core.sdi.registryserviceuploadstrategyforfreezeschema | The '{schemaFrozen}' can be set to true only if the file upload strategy is 'append'. schema: $ref: '#/definitions/MdspErrors' deprecated: false delete: tags: - Dataregistry summary: Delete Data Registry by registry id description: This API deletes a data registry specified by the registry id. operationId: deleteDataRegistry produces: - application/json security: - registry: - sdi.reg.d parameters: - name: id in: path description: Unique identifier of the registry to be deleted. required: true type: string responses: '204': description: Registry deleted successfully '404': description: >-
Code Suffix | Message (parametrized) |
---|---|
mdsp.core.sdi.dataRegistryNotFound | Data Registry does not exist. |
schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
deprecated: false /dataRegistries: get: tags: - Dataregistry summary: Retrieves Data Registry entries description: Retrieves all Data Registry entries, Data Registry based on sourceName, dataTag or combination of sourceName and dataTag. operationId: getAllRecordsUsingGET_1 produces: - '*/*' security: - registry: - sdi.reg.r parameters: - name: dataTag in: query description: dataTag required: false type: string - name: sourceName in: query description: sourceName required: false type: string - $ref: '#/parameters/PageToken' responses: '200': description: Records retrieved successfully schema: $ref: '#/definitions/ListOfRegistryResponse' '204': description: No Content deprecated: false post: tags: - Dataregistry summary: Add a new Data Registry entry operationId: createDataRegistryForThisTenantUsingPOST description: >- Initiate creation of Data Registry for the current tenant. The Data Registry information is used during data ingest for the tenant. Only one Data Registry can be created for a request. The dataTag, sourceName and fileUploadStrategy is required to create Date Registry otherwise creation is rejected. DataUpload will allow only files to be uploaded matching this Data Registry. This returns unique **registryId** for each request that can be used to retrieve the created registry. The tenant cannot have more than **500** data registries in the system. The schemaFrozen flag must be set to false during creation of a registry. It can be set to true after creation of the initial schema for the registry. Data partitioning on the registry can be optionally enabled by specifying a single partitionKey at the time of registry creation. The property value can be set to "sdi-default-partition-key" to enable default partitioning based on the sdi_hour attribute. The property can also be set to a custom attribute present in the data to enable custom partitioning based on that attribute. consumes: - application/json produces: - application/json security: - registry: - sdi.reg.w parameters: - in: body name: createDataRegistryRequest description: createDataRegistryRequest required: true schema: $ref: '#/definitions/CreateDataRegistryRequest' responses: '201': description: Created schema: $ref: '#/definitions/DataRegistry' '400': description: | Bad Request. Possible errors: Code Suffix | Message (parameterized) ------------- |------------- mdsp.core.sdi.registryserviceinvalidfilepattern | The '{filePattern}': Invalid file pattern| must not be able to accept empty file name. mdsp.core.sdi.registryserviceinvaliddatatag | The '{dataTag}' must not be empty and must not contain special character. mdsp.core.sdi.registryserviceinvalidstrategy | The '{fileUploadStrategy}' must not be empty and only 'replace' or 'append' is accepted for file upload strategy. mdsp.core.sdi.registryserviceinvalidsourcename | The '{sourceName}' must not be empty and source name must not contain special character mdsp.core.sdi.registryserviceinvalidxmlprocessrulescount | The '{metaDataTags}' Number of metadata tags must not exceed 10 and must not contain special character mdsp.core.sdi.registryservicedataregistrylimitmaxout | Data Registry: Your Tenant has reached max limit mdsp.core.sdi.registryserviceinvalidsourcenamedatatagcombination |sourceName/dataTag: Source Name and Data Tag combination already exists for this Tenant mdsp.core.sdi.registryservicevalidatefreezeschema | The '{schemaFrozen}'can be set to true only after creation of the initial schema for the registry. mdsp.core.sdi.registryserviceInvalidData | Partition key must not contain special characters. The supported characters include alpha-numeric characters, "-" and "_". mdsp.core.sdi.registryserviceInvalidData | Partition key must contain custom key OR the default partition key. mdsp.core.sdi.registryserviceInvalidData | Partition key limit exceeded. schema: $ref: '#/definitions/MdspErrors' deprecated: false /dataTypes/{name}/addPatterns: post: tags: - Custom Datatypes summary: Updates Datatype description: Update custom datatypes operationId: updateCustomDatatypeUsingPUT consumes: - application/json produces: - application/json security: - registry: - sdi.reg.w parameters: - in: body name: dataTypePattern description: dataTypePattern required: true schema: $ref: '#/definitions/DataTypePattern' - name: name in: path description: name required: true type: string responses: '200': description: Response contains updated datatype definition schema: $ref: '#/definitions/DataTypeDefinition' '400': description: | Bad Request. Possible errors: Code Suffix | Message (parameterized) ------------- |------------- mdsp.core.sdi.registryservicecustomdatatypemissing |The patterns can be added only to existing datatype. /dataTypes/{name}: get: tags: - Custom Datatypes summary: Retrieves datatype for a given datatype name description: Retrieves custom datatype for a given datatype name operationId: getCustomDataTypesByNameUsingGET produces: - application/json security: - registry: - sdi.reg.r parameters: - name: name in: path description: name required: true type: string responses: '200': description: Records retrieved successfully schema: $ref: '#/definitions/DataTypeDefinition' '204': description: No record found delete: tags: - Custom Datatypes summary: Deletes custom datatype for a given datatype name description: Deletes custom datatype for a given datatype name if it is not being used by any schema operationId: deleteCustomDataTypesByNameUsingDELETE produces: - application/json security: - registry: - sdi.reg.d parameters: - name: name in: path description: name required: true type: string responses: '204': description: Record deleted successfully '400': description: | Conflict. Possible errors: Code Suffix | Message (parameterized) ------------- |------------- mdsp.core.sdi.dataTypeAlreadyInUse | Can not delete the datatype as it is already being used. schema: $ref: '#/definitions/MdspErrors' '404': description: Record not found /dataTypes: get: tags: - Custom Datatypes summary: Retrieves the custom datatypes for the current tenant. description: Retrieves custom datatypes for the current tenant containing data type name and one or more registered patterns. operationId: getCustomDataTypesUsingGET security: - registry: - sdi.reg.r parameters: - $ref: '#/parameters/PageToken' produces: - application/json responses: '200': description: Records retrieved successfully schema: $ref: '#/definitions/ListOfDataTypeDefinition' deprecated: false post: tags: - Custom Datatypes summary: Custom datatype registration. description: >- Initiates a registration for list of custom datatypes for given datatype name and regular expression patterns. There can be one or more pattern for a given custom data type. The custom datatype is being used by DataUpload process during schema generation. The custom datatype registration is rejected for the current tenant if invalid regular expression pattern is provided. The custom datatype applies to all the files ingested for the current tenant. The tenant can have maximum **200** datatypes per tenant and each datatype cannot exceed **10** regular expression pattern per datatypename. This returns unique **name* that can be used to retrieve the custom data type. operationId: registerCustomDatatypesUsingPUT consumes: - application/json produces: - application/json security: - registry: - sdi.reg.w parameters: - in: body name: dataTypeDefinition description: dataTypeDefinition required: true schema: $ref: '#/definitions/DataTypeDefinition' responses: '201': description: Response contains one or more datatype definitions registered successfully. If anyone datatype is not registered successfully then whole operation fails. schema: $ref: '#/definitions/DataTypeDefinition' '400': description: | Bad Request. Possible errors: Code Suffix | Message (parameterized) ------------- |------------- mdsp.core.sdi.registryserviceinvalidcustomdatatypes | The datatypes should have at least one '{patterns}', and all the patterns should be valid. mdsp.core.sdi.registryservicecustomdatatypelimitmaxout | You have reached the max limit to create datatypes for the tenant. mdsp.core.sdi.registryservicecustomdatatypealreadyexist | The Datatype already exists. You can only add more patterns to existing Datatype mdsp.core.sdi.registryservicecustomdatatypepatternlimitmaxout | The number of patterns for a given datatype exceeds the limit mdsp.core.sdi.registryserviceemptycustomdatatype |The datatype name must not be empty and there must be atleast one valid pattern for the datatype schema: $ref: '#/definitions/MdspErrors' deprecated: false /suggestPatterns: post: tags: - Custom Datatypes summary: >- Generates the regular expression patterns for a given set of sample values description: >- Generates the regular expression patterns for a given set of sample values. In this case **sampleValues** generates a number of regex patterns and tries to match with patterns provided in **testValues**. The response contains any of testValues that matches sampleValues as probable pattern match. operationId: getPatternsForSetOfValuesUsingGET produces: - application/json security: - registry: - sdi.reg.w parameters: - name: sampleValues in: query description: sampleValues required: true type: array items: type: string collectionFormat: multi - name: testValues in: query description: testValues required: true type: array items: type: string collectionFormat: multi responses: '200': description: Patterns generated successfully schema: $ref: '#/definitions/ListOfPatterns' '400': description: | Bad Request. Possible errors: Code Suffix | Message (parameterized) ------------- |------------- mdsp.core.sdi.registryservicepatternexception | The system is unable to generate the pattern. mdsp.core.sdi.registryserviceinvalidtestvalues | The Set of test values '{testValues}' cannot be empty. mdsp.core.sdi.registryserviceinvalidsamplevalues | The Set of sample values '{sampleValues}' cannot be empty. schema: $ref: '#/definitions/MdspErrors' deprecated: false /dataUpload: post: tags: - Data Ingest summary: Upload the given file for the current tenant. The input file must be less than 100MB in size. description: >- Initiate the file upload process for provided file under the current tenant. operationId: uploadFileUsingPOST consumes: - multipart/form-data produces: - application/json security: - dataingest: - sdi.dip.w parameters: - name: file in: formData description: Select the file to Upload for SDI process required: true type: file responses: '200': description: Response contains the file path that can be used during data ingest operation. schema: $ref: '#/definitions/SdiFileUploadResponse' '400': description: | Bad Request. Possible errors: Code Suffix | Message (parameterized) --------------|--------------- mdsp.core.sdi.dataingestservicefileuploadexception | Unable to upload a file due to system error. Please check the logs or contact administrator. mdsp.core.sdi.dataingestservicefileuploadamazonexception | Unable to upload the file due to credential, network or configuration issue. Please check the log or contact administrator. schema: $ref: '#/definitions/MdspErrors' deprecated: true /ingestJobs: post: tags: - Data Ingest summary: Ingest the provided file and start SDI's schema generation process. description: >- Initiate the data ingestion and start the SDI's schema generation process for the current tenant. This operation currently supports CSV and XML format files. The XML format file requires root element information that is entry point for this operation. This is provided as either rootTag parameter to this operation or registered as part of Data Registry API operation. There are two modes for data ingest. * Default: Allows performing the data ingest without need of any Data Registry. In this case service processes files with default policy for schema generation. The schema generated this way cannot be versioned or changed with different files. This mode is used for quick validating the generated schema. * Dataregistry: The operation uses Data Registry for ingested file to generate schema. This is preferred mode as it allows more validation against the Data Registry and create multiple schema based on different domains created under Data Registry. Using this mode customer can create combination of schemas from different domain and query them or use for analytical modelling. This works in combination with Data Registry API. operationId: ingestDataToSdiProcessUsingPOST consumes: - application/json produces: - application/json security: - dataingest: - sdi.dip.w parameters: - in: body name: ingestData description: Specifies the file path and Data Registry information to initiate data ingest process. The '{filePath}' is required parameter and valid file path used during file upload operations. The '{dataTag}' and '{sourceName}' are the valid Data Registry source name and data tag. The '{rootTag}' is optional and applies to XML formatted files. required: true schema: $ref: '#/definitions/SDIIngestData' responses: '200': description: The response contains jobId and status, jobId can be used to track the progress of SDI bulk ingestion process. schema: $ref: '#/definitions/SdiJobStatusResponse' '400': description: | Bad request. Possible errors: Code Suffix | Message (parameterized) -------------|-------------- mdsp.core.sdi.datauploadservicedataingestserviceinvalidfileformat | The file format is not supported. SDI currently supports only csv and xml format file mdsp.core.sdi.datauploadservicedataingestservicegenericerror | The system is unable to complete the task. Contact your supervisor or see logs for detail error. mdsp.core.sdi.dataingestservicestoragenotavailable | The bucket does not exists or not accessible to SDI service, please check the permission or path to uploaded file mdsp.core.sdi.dataingestserviceinvalidfilepattern | Please verify the file format or filename. The file name must match with Data Registry entry for given source name and data tag. mdsp.core.sdi.dataingestserviceinvalidsourcename | Please verify the sourcename. The sourcename must be a valid Data Registry entry. mdsp.core.sdi.dataingestserviceinvalidroottag | Please verify the rootTag. The root tag is required parameter for XML format file. Please verify that either defaultRootTag is provided in Data Registry for given soure and datatag or provide a valid rootTag for an element present in the XML file. mdsp.core.sdi.dataingestservicefileuploadexception | Unable to upload a file due to system error. Please check the logs or contact administrator. mdsp.core.sdi.dataingestservicefileuploadamazonexception | Unable to upload the file due to credential, network or configuration issue. Please check the log or contact administrator mdsp.core.sdi.dataingestserviceinvalidsourcenameordatatag | Please provide source name and datatag both or none for default data ingest. mdsp.core.sdi.dataingestservicedataregistryexception | Please check that Data Registry service is working fine. Verify that source and data tag is valid. mdsp.core.sdi.dataingestserviceinvaliddataregistryentry | Unable to proceed as Data Registry is not matching file patterns. Please verify the file is valid for given source and data tag. mdsp.core.sdi.dataingestserviceinvalidroottagforxmlfile | Invalid rootTag provied for input XML file. Please provide the roottag as there is no default tag available for a file uploaded with default option. mdsp.core.sdi.dataingestserviceinvalidtenantorsourceordatatag | Invalid tenant, source name or data tag. Please verify your Data Registry entry schema: $ref: '#/definitions/MdspErrors' deprecated: true /ingestJobStatus: get: tags: - Data Ingest summary: Retrieve a list of jobIds. description: Get a list of jobIds that is ingested, this jobId can be used to find detailed status of the individual job. operationId: ingestDataToSdiProcessUsingGET security: - dataingest: - sdi.dip.r parameters: - $ref: '#/parameters/PageToken' - name: startedDate in: query description: Filter based on startedDate. Get the list of ingestJobs those are greater than the given criteria. type: string - name: finishedDate in: query description: Filter based on finishedDate. Get the list of ingestJobs those are less than the given criteria. type: string - name: status in: query description: Filter based on status. type: string enum: - STARTED - IN_PROGRESS - FINISHED - ERROR produces: - application/json responses: '200': description: OK schema: $ref: '#/definitions/ListOfJobIds' '404': description: Not Found deprecated: false /ingestJobStatus/{id}: get: tags: - Data Ingest summary: Retreive the job status. description: Retrieve the job status based on jobid for the current tenant. The jobid belongs to data ingestion process started for the current tenant. operationId: getJobStatus consumes: - application/json produces: - application/json security: - dataingest: - sdi.dip.r parameters: - name: id in: path description: job ID required: true type: string responses: '200': description: OK schema: $ref: '#/definitions/SdiJobStatusResponse' '404': description: Not Found deprecated: false /dataIngestJobs: post: tags: - Data Ingest summary: Ingest the provided files from Integrated Data Lake (IDL) to SDI. description: >- Initiate the data ingestion using the provided input files. Following modes of data ingestion are supported, Bulk ingest: User can specify "ingestType=BULK" to initiate bulk file ingestion from MindSphere Integrated Data Lake (IDL) to SDI. * In this mode, SDI reads pre-existing files from IDL. * The ingestion is applicable to an existing data registry which is specified with sourceName and dataTag attributes. * The registry must have schema present and the "schemaFrozen" flag on the registry must be set to true. * The fileType must be CSV or PARQUET. * The ingestPaths is an array of folder paths in the IDL. For bulk ingestion, upto 10 folder paths can be specified. operationId: ingestFilesToSdiProcessUsingPOST consumes: - application/json produces: - application/json security: - dataingest: - sdi.dip.w parameters: - in: body name: dataIngestJobsRequest description: Specifies the required parameters to initiate the data ingestion process. The '{sourceName}' and '{dataTag}' are the valid Data Registry sourcename and datatag. required: true schema: $ref: '#/definitions/dataIngestJobsInput' responses: '201': description: The response contains jobId and status, jobId can be used to track the progress of SDI schema generation process. schema: $ref: '#/definitions/dataIngestJobsResponse' '400': description: | Bad request. Possible errors: Code Suffix | Message (parameterized) -------------|-------------- mdsp.core.sdi.invalidsourcenameordatatag | Invalid sourcename or datatag. mdsp.core.sdi.bulkingestinvalidfiletype | Provided fileType is invalid. Supported fileTypes are CSV and PARQUET. mdsp.core.sdi.bulkingestinvalidingesttype | Provided ingestType is invalid. Supported ingestType is BULK. mdsp.core.sdi.bulkingestinvalidfoldercount | Number of ingestPaths should not exceed the maximum limit of 10 folders per request. mdsp.core.sdi.bulkingestinvalidpaths | One or more provided ingestPaths are invalid. mdsp.core.sdi.matchingextensionfilemaxcountlimit| Total number of files (matching extension in data registry) in all input folders should be no more than {{limit value}}. mdsp.core.sdi.totalingestfilecountlimit |Total number of files (all files in all input folders) should be no more than {{limit value}}. mdsp.core.sdi.matchingextensionfilemaxcountlimit| Total number of files (considering files matching extension in the data registry) in all input folders should be no more than {{limit value}}. mdsp.core.sdi.matchingextensionfilemincount | Each input folder should have at least one file matching extension in the data registry. mdsp.core.sdi.matchingextensionfilesize | Any file (considering files matching extension in the data registry) should be no more than {{limit value}}. mdsp.core.sdi.matchingextensiontotalfilesize | Total size of all input folders (considering files matching extension in the data registry) should be no more than {{limit value}}. mdsp.core.sdi.bulkingestschemafrozenerror | Unable to proceed as the schemaFrozen flag is not set to true for the registry associated with the {{sourcename}} and {{datatag}}. mdsp.core.sdi.bulkingestjoblimit |Unable to proceed as job limit of {{job limit value}} for this API is reached for the tenant. schema: $ref: '#/definitions/MdspErrors' '500': description: | Internal server error: Code Suffix | Message (parameterized) -------------|-------------- mdsp.core.sdi.datauploadservicedataingestservicegenericerror | The system is unable to complete the task. deprecated: false get: tags: - Data Ingest summary: Retrieve a list of dataIngestJobs. description: Get a list of dataIngestJobs for the current tenant. operationId: retriveDataIngestJobsUsingGET security: - dataingest: - sdi.dip.r parameters: - $ref: '#/parameters/PageToken' - name: startedDate in: query description: Filter based on startedDate. Get the list of ingestJobs those are greater than to given criteria. type: string - name: finishedDate in: query description: Filter based on finishedDate. Get the list of ingestJobs those are less than to given criteria. type: string - name: status in: query description: Filter based on status. type: string enum: - STARTED - IN_PROGRESS - FINISHED - ERROR produces: - application/json responses: '200': description: OK schema: $ref: '#/definitions/ListOfDataIngestJobIds' deprecated: false /dataIngestJobs/{id}: get: tags: - Data Ingest summary: Retrieve a specific dataIngestJob. description: Retrieve a specific dataIngestJob based on a jobid. operationId: retriveDataIngestJobUsingGET consumes: - application/json produces: - application/json security: - dataingest: - sdi.dip.r parameters: - name: id in: path description: job ID required: true type: string responses: '200': description: OK schema: $ref: '#/definitions/dataIngestJobsResponse' deprecated: false /searchSchemas: post: tags: - Schema Registry summary: Search schema for ingested data. description: >- The data ingestion API creates and stores the schemas for each ingested file. This schema can be retrieved based on schema name, or source name and data tag combination. SchemaSearchRequest is limited to 20 schemas atmost. operationId: querySchemasUsingPOST consumes: - application/json produces: - application/json security: - registry: - sdi.reg.r parameters: - $ref: '#/parameters/PageToken' - in: body name: schemaSearchRequest description: schemaSearchRequest required: true schema: $ref: '#/definitions/SchemaSearchRequest' responses: '200': description: Response contains one or more schema retrieved based on source name, data tag or schema name. schema: $ref: '#/definitions/ListOfSchemaRegistry' '204': description: No content '400': description: | Bad Request. Possible errors: Code Suffix | Message (parameterized) ------------- |------------- mdsp.core.sdi.registryserviceInvalidData | The schemas size in SchemaSearchRequest must be between 1 and 20. mdsp.core.sdi.metaDataTagsCantBeEmpty | MetaDataTags can not be empty. mdsp.core.sdi.tagLimitExceeded | Only 15 metaDataTags are allowed per request object. schema: $ref: '#/definitions/MdspErrors' deprecated: false /queries: get: tags: - Data Query Operations summary: Retrieve all queries description: Returns a list of Data Query SQL Model operationId: retrieveAllQueries security: - query: - sdi.dqp.r parameters: - $ref: '#/parameters/PageToken' - name: executable in: query description: Filter based on executable flag type: boolean - name: isDynamic in: query description: Filter based on isDynamic flag type: boolean - name: ontologyId in: query description: Filter based on ontology id type: string produces: - application/json responses: '200': description: OK schema: $ref: '#/definitions/ResponseAllDataSQLQuery' '400': description: >-
Code Suffix | Message (parametrized) |
---|---|
invalidFilterValue | Please provide valid filter value for field in query parameter |
schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
deprecated: false post: tags: - Data Query Operations summary: Create new queries. description: Returns id of created query operationId: createQuery consumes: - application/json produces: - application/json security: - query: - sdi.dqp.w parameters: - in: body name: dataQuerySQLRequest description: dataQuerySQLRequest required: true schema: $ref: '#/definitions/DataQuerySQLRequest' responses: '201': description: query created successfully schema: $ref: '#/definitions/DataQuerySQLResponse' '400': description: >-
Code Suffix | Message (parametrized) |
---|---|
missingParameter | Missing required request body property : |
invalidEncodedSqlStatement | Invalid encoded sql statement. |
unsafe | SQL query is unsafe to execute. Kindly update the query. |
invalidValue | Provided request body property is invalid | invalidField | Additional fields are not allowed. We currently support : |
dataQueryLimitExceeded | Limit of total number of queries is exceeded. Further queries cannot be created. |
queryNotDynamic | Paramterized attributes can be set only when query is configured to be paramterized |
incorrectColumn | Provided column : {0} in the parameter is not present in the schema |
incorrectClassProperty | Provided property : {0} in the parameter is not present in the class |
incorrectSchemaOrClass | Provided schema(s) or class(es) in the parameter(s) do not match schemas or class(es) in the from clause: {0} |
invalidSQLStatement | Invalid SQL statement |
queryNotDynamic | Paramterized attributes can be set only when query is configured to be paramterized |
noSchemaFound | Query is incorrect. Either listed schemas does not exist for the tenant or valid input is not provided in format `{schema name}`. |
asteriskNotAllowed | The asterisk(*) is not allowed in select field. Please specify individual columns instead. |
restrictedQueryType | SQL operator {operator} is not supported. Kindly update the query. |
invalidSemanticStatement | Invalid SQL statement. |
invalidPropertyFormat | Class Name or class property name is missing. Property name should be in {class name}.{property name} format for property: |
invalidResultFileType | Provided file type is invalid. |
invalidResultType | Provided result type is invalid, valid types are [FILE, REST] |
invalidResultLocation | Invalid location, supported regex for result location is [a-zA-Z0-9.!*'()/= _-] also location can have maximum 250 characters and user can provide maximum 8 folders in location value. |
schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
deprecated: false '/queries/{id}': get: tags: - Data Query Operations summary: Retrieve query by query id description: Returns a Data Query SQL Model operationId: retrieveQuery produces: - application/json security: - query: - sdi.dqp.r parameters: - name: id in: path description: id required: true type: string responses: '200': description: OK schema: $ref: '#/definitions/NativeQueryGetResponse' '404': description: >-
Code Suffix | Message (parametrized) |
---|---|
queryNotFound | Query does not exist. |
schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
deprecated: false patch: tags: - Data Query Operations summary: Update query by query id description: Query attributes ["description","ontologyId","name","sqlStatement"] can only be patched. Returns Updated Data Query SQL Model. operationId: updateQuery consumes: - application/json produces: - application/json security: - query: - sdi.dqp.w parameters: - in: body name: DataQuerySQLUpdateRequest description: DataQuerySQLUpdateRequest required: true schema: $ref: '#/definitions/DataQuerySQLUpdateRequest' - name: id in: path description: id required: true type: string responses: '200': description: OK schema: $ref: '#/definitions/DataQuerySQLResponse' '400': description: >-
Code Suffix | Message (parametrized) |
---|---|
missingParameter | Missing required request body property : |
invalidEncodedSqlStatement | Invalid encoded sql statement. |
unsafe | SQL query is unsafe to execute. Kindly update the query. |
invalidValue | Provided request body property is invalid | invalidField | Additional fields are not allowed. We currently support : |
invalidRequestBody | The request body is null/invalid. |
queryNotDynamic | Paramterized attributes can be set only when query is configured to be paramterized |
incorrectColumn | Provided column : {0} in the parameter is not present in the schema |
incorrectClassProperty | Provided property : {0} in the parameter is not present in the class |
incorrectSchemaOrClass | Provided schema(s) or class(es) in the parameter(s) do not match schemas or class(es) in the from clause: {0} |
invalidSQLStatement | Invalid SQL statement |
queryNotDynamic | Paramterized attributes can be set only when query is configured to be paramterized |
noSchemaFound | Query is incorrect. Either listed schemas does not exist for the tenant or valid input is not provided in format `{schema name}`. |
asteriskNotAllowed | The asterisk(*) is not allowed in select field. Please specify individual columns instead. |
notAllowed | Query cannot be switched from dynamic/business to static/physical query & vice versa. Please contact MindSphere for more details. |
restrictedQueryType | SQL operator {operator} is not supported. Kindly update the query. |
invalidSemanticStatement | Invalid SQL statement. |
invalidPropertyFormat | Class Name or class property name is missing. Property name should be in {class name}.{property name} format for property: |
schema: $ref: '#/definitions/ErrorMessage' '404': description: >-
Code Suffix | Message (parametrized) |
---|---|
queryNotFound | Query does not exist. |
schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
deprecated: false delete: tags: - Data Query Operations summary: Delete query by query id description: Returns NO CONTENT HTTP Status operationId: deleteQuery produces: - application/json security: - query: - sdi.dqp.d parameters: - name: id in: path description: id required: true type: string responses: '204': description: No Content schema: type: string enum: - '' - '101' - '102' - '103' - '200' - '201' - '202' - '203' - '204' - '205' - '206' - '207' - '208' - '226' - '300' - '301' - '302' - '303' - '304' - '305' - '307' - '308' - '400' - '401' - '402' - '403' - '404' - '405' - '406' - '407' - '408' - '409' - '410' - '411' - '412' - '413' - '414' - '415' - '416' - '417' - '418' - '419' - '420' - '421' - '422' - '423' - '424' - '426' - '428' - '429' - '431' - '451' - '500' - '501' - '502' - '503' - '504' - '505' - '506' - '507' - '508' - '509' - '510' - '511' '404': description: >-
Code Suffix | Message (parametrized) |
---|---|
queryNotFound | Query does not exist. |
schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
deprecated: false '/queries/{id}/executionJobs': post: tags: - Data Query Operations summary: Create execution job for dynamic query. If resultType is passed as FILE then executionJob attributes will overwrite query ["resultType", "resultDetails"] attributes values.There is soft limit of upto 10 number of parameters and aliases. description: Returns id of created job operationId: executeJob consumes: - application/json produces: - application/json security: - query: - sdi.dqp.e parameters: - name: id in: path description: query id required: true type: string - in: body name: dataQueryExecuteRequest description: dataQueryExecuteRequest required: true schema: $ref: '#/definitions/DataQueryExecuteQueryRequest' responses: '201': description: Execution job created successfully schema: $ref: '#/definitions/DataQueryExecuteQueryResponse' '400': description: >-
Code Suffix | Message (parametrized) |
---|---|
invalidParamName | Parameter attribute not found in query |
queryNotDynamic | Query ID is not enabled for parameterized or attribute alias results |
missingParameter | Missing required request body property |
duplicateParamName | Param name is duplicated {0} |
duplicateAliasValue | Alias value is duplicated {0} |
incorrectDatatype | Provided value : {0} is incorrect as it does not match datatype of the param : {1}. Please provide correct value" |
duplicateAttributeName | Attribute name is duplicated {0} |
invalidAttributeName | Attribute name {0} not found in main select clause of the query |
physicalMappingMissing | Execution for business query {0} cannot be created. Please refer query details for pending actions. |
invalidResultFileType | Provided file type is invalid. |
invalidResultType | Provided result type is invalid, valid types are [FILE, REST] |
invalidResultLocation | Invalid location, supported regex for result location is [a-zA-Z0-9.!*'()/= _-] also location can have maximum 250 characters and user can provide maximum 8 folders in location value. |
schema: $ref: '#/definitions/ErrorMessage' '404': description: >-
Code Suffix | Message (parametrized) |
---|---|
queryNotFound | Query does not exist. |
schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
deprecated: false '/queries/{id}/executionJobs/latestResults': get: tags: - Data Query Operations summary: Retrieve latest query results by query id description: Returns query results. Results can be either REST or FILE. If resulttype is FILE then resultDetail will show the file details. If resultType is REST then result data will show as apart of data object. operationId: executeQueryResults produces: - application/octet-stream - application/json security: - query: - sdi.dqp.x parameters: - name: Range in: header description: 'Part of a file to return in Bytes, eg bytes=200-600' required: false type: string minLength: 1 maxLength: 32 - name: id in: path description: query id required: true type: string responses: '200': description: Query Results retrieved successfully schema: $ref: '#/definitions/QueryResult' '206': description: Partial Content of the file schema: type: string format: binary '400': description: >-
Code Suffix | Message (parametrized) |
---|---|
mappingMissing | Physical mapping missing for associated ontology(s) for business query {0} cannot be executed. Please refer query details for pending actions. |
schema: $ref: '#/definitions/ErrorMessage' '404': description: >-
Code Suffix | Message (parametrized) |
---|---|
queryNotFound | Query does not exist. |
noExecutionJobFound | No executions were found for the specified query id. |
queryExecutionInProgress | Query execution is in progress. Please try later. |
schema: $ref: '#/definitions/ErrorMessage' '410': description: >-
Code Suffix | Message (parametrized) |
---|---|
queryResultsObsolete | The query associated with execution ID {0} is updated. Please create a new execution request or fetch latest results. |
schema: $ref: '#/definitions/QueryObsoleteResult' '416': description: >-
Code Suffix | Message (parametrized) |
---|---|
requestedRangeNotSatisfiable | Requested range not satisfiable. Request Range provided: {Range} |
schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
deprecated: false '/executionJobs/{id}/results': get: tags: - Data Query Operations summary: Retrieve query results by job id description: Returns query results. Results can be either REST or FILE. If resulttype is FILE then resultDetail will show the file details. If resultType is REST then result data will show as apart of data object. operationId: executeQueryResultsJobId produces: - application/octet-stream - application/json security: - query: - sdi.dqp.x parameters: - name: Range in: header description: 'Part of a file to return in Bytes, eg bytes=200-600' required: false type: string minLength: 1 maxLength: 32 - name: id in: path description: execution jobId required: true type: string responses: '200': description: Job Results retrieved successfully schema: $ref: '#/definitions/QueryResult' '206': description: Partial Content of the file schema: type: string format: binary '400': description: >-
Code Suffix | Message (parametrized) |
---|---|
mappingMissing | Physical mapping missing for associated ontology(s) for business query {0} cannot be executed. Please refer query details for pending actions. |
schema: $ref: '#/definitions/ErrorMessage' '404': description: >-
Code Suffix | Message (parametrized) |
---|---|
executionNotFound | Execution does not exist. |
queryExecutionInProgress | Query execution is in progress. Please try later. |
schema: $ref: '#/definitions/ErrorMessage' '410': description: >-
Code Suffix | Message (parametrized) |
---|---|
queryResultsObsolete | The query associated with execution ID {0} is updated. Please create a new execution request or fetch latest results. |
schema: $ref: '#/definitions/QueryObsoleteResult' '416': description: >-
Code Suffix | Message (parametrized) |
---|---|
requestedRangeNotSatisfiable | Requested range not satisfiable. Request Range provided: {Range} |
schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
deprecated: false '/executionJobs/{id}': get: tags: - Data Query Operations summary: Retrieve job details by job id description: Returns Data Query Execution Model operationId: retrieveExecutionJobs produces: - application/json security: - query: - sdi.dqp.e parameters: - name: id in: path description: execution jobId required: true type: string responses: '200': description: OK schema: $ref: '#/definitions/DataQueryExecutionResponse' '404': description: >-
Code Suffix | Message (parametrized) |
---|---|
executionNotFound | Execution does not exist |
schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
deprecated: false delete: tags: - Data Query Operations summary: Delete job by job id description: Returns NO CONTENT HTTP Status operationId: deleteExecutionJob produces: - application/json security: - query: - sdi.dqp.ed parameters: - name: id in: path description: id required: true type: string responses: '204': description: No Content schema: type: string enum: - '' - '204' '400': description: >-
Code Suffix | Message (parametrized) |
---|---|
deleteFailed | Deletion failed as query execution is in progress. Please try later. |
schema: $ref: '#/definitions/ErrorMessage' '404': description: >-
Code Suffix | Message (parametrized) |
---|---|
executionNotFound | Execution does not exist |
schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
deprecated: false /executionJobs: get: tags: - Data Query Operations summary: Retrieve all jobs description: Returns a list of Data Query Execution Model operationId: retrieveAllExecutionJobs produces: - application/json security: - query: - sdi.dqp.e parameters: - $ref: '#/parameters/PageToken' - name: queryId in: query description: Filter based on query id type: string - name: status in: query description: Filter based on job status type: string responses: '200': description: OK schema: $ref: '#/definitions/ResponseAllDataQueryExecutionResponse' '400': description: >-
Code Suffix | Message (parametrized) |
---|---|
invalidFilterValue | Please provide valid filter value for field in query parameter |
schema: $ref: '#/definitions/ErrorMessage' default: description: >-
Other error with any status code and response body format. |
deprecated: false /ontologies: get: tags: - Ontologies summary: Retrieve all ontologies description: Returns a list of ontologies operationId: retrieveOntologies security: - ontology: - sdi.smd.r parameters: - $ref: '#/parameters/PageToken' produces: - application/json responses: '200': description: OK schema: $ref: '#/definitions/ResponseAllOntologies' default: description: >-
Other error with any status code and response body format. |
deprecated: false /ontologyJobs: post: tags: - Ontologies Operations summary: Upload file and submit job for create/update ontology description: Upload file and submit job for create/update ontology operationId: createOntologyFromFileUsingPOST consumes: - multipart/form-data produces: - application/json security: - ontology: - sdi.smd.w parameters: - name: ontologyDescription in: formData description: | - Ontology description. required: false type: string - name: ontologyId in: formData description: | - Provide OntologyId for updating existing ontology. If empty then will create new ontology. required: false type: string - name: ontologyName in: formData description: | - Ontology name should be unique. required: true type: string - name: keyMappingType in: formData description: | - Define keyMappingType for ontology. required: false default: INNER JOIN type: string enum: - INNER JOIN - FULL OUTER JOIN - name: file in: formData description: | - We support JSON and OWL file pre-defined format. required: false type: file responses: '202': description: uploaded file and submitted job. schema: $ref: '#/definitions/OntologyJob' '400': description: >-
Code Suffix | Message (parametrized) |
---|---|
unsupportedType | System supports only Owl and Json format. Please upload an owl or json file. |
allowedOntologiesPerTenant | Limit of total number of ontologies is exceeded. Further ontologies cannot be created. |
Other error with any status code and response body format. |
deprecated: false '/ontologies/{id}': get: tags: - Ontologies summary: Retrieve ontology. description: Retrieve ontology. operationId: retrieveOntologyUsingGET produces: - application/octet-stream - application/json security: - ontology: - sdi.smd.r parameters: - name: id in: path description: id required: true type: string - name: Range in: header description: 'Part of a file to return in Bytes, eg bytes=200-600' required: false type: string minLength: 1 maxLength: 32 responses: '200': description: Ontology retrieved successfully schema: $ref: '#/definitions/OntologyResponseData' '206': description: Partial Content of the file schema: type: string format: binary '404': description: >-
Code Suffix | Message (parametrized) |
---|---|
requestedOntologyNotfound | Requested ontology does not exist. |
schema: $ref: '#/definitions/ApiErrorsView' '416': description: >-
Code Suffix | Message (parametrized) |
---|---|
requestedRangeNotSatisfiable | Requested range not satisfiable |
schema: $ref: '#/definitions/ApiErrorsView' default: description: >-
Other error with any status code and response body format. |
deprecated: false delete: tags: - Ontologies summary: Delete ontology description: Delete ontology operationId: deleteOntologyUsingDELETE produces: - application/json security: - ontology: - sdi.smd.d parameters: - name: id in: path description: id required: true type: string responses: '204': description: Ontology deleted successfully '400': description: >-
Code Suffix | Message (parametrized) |
---|---|
alreadyInUse | already in use. |
schema: $ref: '#/definitions/ApiErrorsView' '404': description: >-
Code Suffix | Message (parametrized) |
---|---|
requestedOntologyNotfound | Requested ontology does not exist. |
schema: $ref: '#/definitions/ApiErrorsView' default: description: >-
Other error with any status code and response body format. |
deprecated: false '/ontologyJobs/{id}': get: summary: Retrieve status of ontology creation/updation job tags: - Ontologies Operations operationId: retrieveOntologyJob security: - ontology: - sdi.smd.r parameters: - name: id in: path description: Ontology job ID as obtained on Ontology creation/updation required: true type: string responses: '200': description: Ok schema: $ref: '#/definitions/JobStatus' '400': description:
Code Suffix | Message (parametrized) |
---|---|
allowedOntologiesPerTenant | Limit of total number of ontologies is exceeded. Further ontologies cannot be created. |
Code Suffix | Message (parametrized) |
---|---|
requestedOntologyJobNotFound | Requested ontology job does not exist |
Code Suffix | Message (parametrized) |
---|---|
insufficientSchemas | Request must contain two or more schemas to infer semantic ontology model. |
' schema: $ref: '#/definitions/ApiErrorsView' '404': description: Not Found deprecated: false parameters: PageToken: name: pageToken in: query type: string description: | Selects next page. Value must be taken rom response body property 'page.nextToken'. If omitted, first page is returned. definitions: ListOfIoTRegistryResponse: type: object properties: iotDataRegistries: type: array items: $ref: '#/definitions/IotDataRegistryResponse' page: $ref: '#/definitions/TokenPage' title: ListOfIoTDataRegistries IotDataRegistryResponse: type: object properties: aspectName: type: string assetId: type: string category: type: string example: "IOT" description: The category for this IoT Data Registry is always IOT createdDate: type: string format: dataTime dataTag: type: string description: The dataTag is combination of assetId and aspectName, separated by _ fileUploadStrategy: type: string enum: - append - replace updatedDate: type: string format: dataTime registryId: type: string sourceName: type: string description: The sourceName is always MindSphere. title: IotDataRegistryResponse DataLakeResponse: type: object properties: basePath: type: string createdDate: type: string format: dataTime id: type: string updatedDate: type: string format: dataTime name: type: string type: type: string title: DataLakeResponse DataLakeList: type: object properties: dataLakes: type: array items: $ref: '#/definitions/DataLakeResponse' title: List of Data Lakes DataTypePattern: type: object properties: patterns: type: array items: type: string title: DataTypePattern DataRegistry: type: object properties: createdDate: type: string format: dataTime dataTag: type: string defaultRootTag: type: string filePattern: type: string fileUploadStrategy: type: string enum: - append - replace updatedDate: type: string format: dataTime metaDataTags: type: array items: type: string xmlProcessRules: type: array items: type: string partitionKeys: type: array items: type: string mutable: type: boolean registryId: type: string sourceId: type: string sourceName: type: string schemaFrozen: type: boolean example: false title: DataRegistry ListOfDataTypeDefinition: type: object properties: dataTypes: type: array items: $ref: '#/definitions/DataTypeDefinition' page: $ref: '#/definitions/TokenPage' title: List of Custom Datatypes DataTypeDefinition: type: object properties: name: type: string example: "VIN_NUMBER" patterns: type: array items: type: string example: ["[A-HJ-NPR-Z0-9]{17}"] title: DataTypeDefinition ListOfRegistryResponse: type: object properties: dataRegistries: type: array items: $ref: '#/definitions/DataRegistry' page: $ref: '#/definitions/TokenPage' title: dataRegistries TokenPage: type: object properties: nextToken: type: string description: | Opaque token to next page. Can be used in query paramter 'pageToken' to request next page. The property is only present in case there is a next page. MdspErrors: type: object properties: errors: type: array items: $ref: '#/definitions/MdspError' MdspError: description: A descriptor for error responses. allOf: - $ref: '#/definitions/MdspApiError' - type: object properties: logref: type: string description: "Logging correlation ID for debugging purposes." example: "0bff7e7a-cd25-4576-9908-4180ef086174" MdspApiError: type: object description: A descriptor for errors that are integral parts of resources. properties: code: type: string description: "Unique error code. Every code is bound to one (parametrized) message." format: "mdsp.core.sdi.