{ "title": "data.world API Examples", "version": "0", "examples": [ { "path": "/cancel", "method": "POST", "summary": "Cancel a query", "description": "Cancel a running query.", "tags": [ "queries" ], "operationId": "cancel", "parameters": [ { "name": "queryruntoken", "in": "query", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "*/*", "schema": {}, "example": null } } }, { "path": "/connections/test", "method": "POST", "summary": "Test a connection", "description": "Test a virtual connection. For increased security, connection endpoints require an Enterprise Admin\nToken. This token can be found under [Advanced Settings](https://data.world/settings/advanced).", "tags": [ "connections" ], "operationId": "testConnection", "parameters": [], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ConnectionDto" }, "example": null }, "responses": { "200": { "description": "Successful operation", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PingStatusDto" }, "example": null }, "400": { "description": "Bad Request", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "401": { "description": "User is unauthorized to perform action", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "403": { "description": "Access forbidden", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "404": { "description": "Not found", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "422": { "description": "Unable to parse request. URLs provided must be fully-formed http or https URLs", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "500": { "description": "Server error", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null } } }, { "path": "/connections/{owner}", "method": "GET", "summary": "Get connections by owner", "description": "Get a list of configured virtual connections by owner. For increased security, connection\nendpoints require an Enterprise Admin Token. This token can be found under\n[Advanced Settings](https://data.world/settings/advanced).", "tags": [ "connections" ], "operationId": "getConnectionsByOwner", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "required": false, "description": "", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "size", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 10 } }, { "name": "from", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedConnectionResults" }, "example": null } } }, { "path": "/connections/{owner}", "method": "POST", "summary": "Create a new connection", "description": "Create a new virtual connection. For increased security, connection endpoints require an Enterprise Admin\nToken. This token can be found under [Advanced Settings](https://data.world/settings/advanced).", "tags": [ "connections" ], "operationId": "createConnection", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "validate", "in": "query", "required": false, "description": "Validate connection before save", "schema": { "type": "boolean", "default": true } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ConnectionDto" }, "example": null }, "responses": { "200": { "description": "Connection created successfully.", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CreateResponse" }, "example": null } } }, { "path": "/connections/{owner}/{id}", "method": "DELETE", "summary": "Delete a Connection", "description": "Delete a Connection. For increased security, connection endpoints require an Enterprise Admin Token. This\ntoken can be found under [Advanced Settings](https://data.world/settings/advanced).", "tags": [ "connections" ], "operationId": "deleteConnection", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/connections/{owner}/{id}", "method": "GET", "summary": "Get an individual connection", "description": "Get details for an individual virtual connection. For increased security, connection endpoints require an\nEnterprise Admin Token. This token can be found under\n[Advanced Settings](https://data.world/settings/advanced).", "tags": [ "connections" ], "operationId": "getConnection", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ConnectionDto" }, "example": null } } }, { "path": "/dataquality/audits/{orgAgentId}", "method": "GET", "summary": "Show data quality audits", "description": "Shows audits that happened during processing of data quality inputs.\nOne of \"requestId\" or \"resourceIri\" needs to be provided.\nOnly errors are tracked. Audits expire 1 day after creation. Returns a maximum of 100 audits.\nIf there are no audits, it is likely the request was executed successfully.\n\nAccess requirement: Requires an admin token. It also requires admin access to the organization.\n\nThis endpoint is in active development. Its definition and behavior may change frequently and without notice.", "tags": [ "data quality", "experimental" ], "operationId": "getAudits", "parameters": [ { "name": "orgAgentId", "in": "path", "required": true, "description": "organization agent ID", "schema": { "type": "string" } }, { "name": "requestId", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "resourceIri", "in": "query", "required": false, "description": "Internationalized Resource Identifier (IRI) of the resource. You can find the IRI in the Technical Reference section under the Settings tab on the resource\u2019s catalog page.", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "Successful operation", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/DataQualityAuditsDto" }, "example": null }, "400": { "description": "Bad Request", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "401": { "description": "User is unauthorized to perform action", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "403": { "description": "Access forbidden", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "500": { "description": "Server error", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null } } }, { "path": "/dataquality/badges/{orgAgentId}", "method": "POST", "summary": "Add Badges", "description": "Associate a metadata resource with a Badge that describes its overall data quality status.\n\nAccess requirement: Requires an admin token. It also requires admin access to the organization.\n\nThis endpoint is in active development. Its definition and behavior may change frequently and without notice.", "tags": [ "data quality", "experimental" ], "operationId": "addBadges", "parameters": [ { "name": "orgAgentId", "in": "path", "required": true, "description": "organization agent ID", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/BadgesDto" }, "example": null }, "responses": { "202": { "description": "Accepted", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null }, "400": { "description": "Bad Request", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "401": { "description": "User is unauthorized to perform action", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "403": { "description": "Access forbidden", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "404": { "description": "Not found", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "500": { "description": "Server error", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null } } }, { "path": "/dataquality/checkruns/{orgAgentId}", "method": "POST", "summary": "Add Check Runs", "description": "Add executions of a check against a metadata resource.\n\nAccess requirement: Requires an admin token. It also requires admin access to the organization.\n\nThis endpoint is in active development. Its definition and behavior may change frequently and without notice.", "tags": [ "data quality", "experimental" ], "operationId": "addCheckRuns", "parameters": [ { "name": "orgAgentId", "in": "path", "required": true, "description": "organization agent ID", "schema": { "type": "string" } }, { "name": "collectionIri", "in": "query", "required": true, "description": "The collection to insert resources in. Identified by IRI. You can find the IRI in the Technical Reference section under the Settings tab on the resource\u2019s catalog page.", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CheckRunsDto" }, "example": null }, "responses": { "202": { "description": "Accepted", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null }, "400": { "description": "Bad Request", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "401": { "description": "User is unauthorized to perform action", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "403": { "description": "Access forbidden", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "404": { "description": "Not found", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "500": { "description": "Server error", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null } } }, { "path": "/dataquality/checks/delete/{orgAgentId}", "method": "POST", "summary": "Delete data quality checks", "description": "Asynchronously delete data quality Checks and all associated Check Versions and Check Runs.\n\nThis operation enqueues delete requests for background processing. The response indicates\nhow many requests were successfully enqueued, not how many deletions have completed.\n\nResponse fields:\n- success: Number of delete requests successfully enqueued\n- failed: Number of delete requests that failed to enqueue\n- requestId: Correlation ID for tracking\n\nAccess requirement: Requires an admin token. It also requires admin access to the organization.\n\nThis endpoint is in active development. Its definition and behavior may change frequently and without notice.", "tags": [ "data quality", "experimental" ], "operationId": "deleteChecks", "parameters": [ { "name": "orgAgentId", "in": "path", "required": true, "description": "organization agent ID", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/DeleteChecksDto" }, "example": null }, "responses": { "202": { "description": "Accepted", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null }, "400": { "description": "Bad Request", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "401": { "description": "User is unauthorized to perform action", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "403": { "description": "Access forbidden", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null }, "500": { "description": "Server error", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ErrorMessage" }, "example": null } } }, { "path": "/datasets/{owner}", "method": "GET", "summary": "List datasets for a specified owner", "description": "List datasets that the currently authenticated user has access to, for the specified owner; when the\ndataset is open, private (but discoverable by the authenticated user) or the authenticated user is a\ncontributor with discover visibility", "tags": [ "datasets" ], "operationId": "getDatasetsByOwner", "parameters": [ { "name": "fields", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedDatasetResults" }, "example": null } } }, { "path": "/datasets/{owner}", "method": "POST", "summary": "Create a dataset", "description": "Create a new dataset.", "tags": [ "datasets" ], "operationId": "createDataset", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/DatasetCreateRequest" }, "example": null }, "responses": { "200": { "description": "Dataset created successfully.", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CreateDatasetResponse" }, "example": null } } }, { "path": "/datasets/{owner}/{id}", "method": "DELETE", "summary": "Delete a dataset", "description": "Delete a dataset and associated data. This operation cannot be undone, but you may recreate the dataset\nusing the same id.", "tags": [ "datasets" ], "operationId": "deleteDataset", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}", "method": "GET", "summary": "Retrieve a dataset", "description": "Retrieve a dataset. The definition of the dataset will be returned, not its data. Use\n`GET:/download/{owner}/{id}` or `GET:/file_download/{owner}/{id}/{file}` to retrieve the original files\ncontent, or `POST:/sql/{owner}/{id}` or `POST:/sparql/{owner}/{id}` to query the data.", "tags": [ "datasets" ], "operationId": "getDataset", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/DatasetSummaryResponse" }, "example": null } } }, { "path": "/datasets/{owner}/{id}", "method": "PATCH", "summary": "Update a dataset", "description": "Update an existing dataset. Only elements included in the request will be updated. All omitted elements\nwill remain untouched. Requesting change in a list replaces the entire list. Requesting an element to be\nnull deletes all values on the element.", "tags": [ "datasets" ], "operationId": "patchDataset", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/DatasetPatchRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}", "method": "PUT", "summary": "Create / Replace a dataset", "description": "Create or replace a dataset with a given id. If a dataset exists with the same id, this call will reset\nsuch dataset and all the data contained in it.", "tags": [ "datasets" ], "operationId": "replaceDataset", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/DatasetPutRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/dois/{doi}", "method": "DELETE", "summary": "Delete dataset DOI", "description": "Delete a DOI ([Digital Object Identifier](https://www.doi.org/)) associated with a dataset.", "tags": [ "DOIs" ], "operationId": "deleteDoi", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "doi", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/dois/{doi}", "method": "PUT", "summary": "Create dataset DOI", "description": "Associate a DOI ([Digital Object Identifier](https://www.doi.org/)) with a dataset.", "tags": [ "DOIs" ], "operationId": "addDoi", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "doi", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/files", "method": "DELETE", "summary": "Delete files", "description": "Delete one or more files from a dataset.\n\n**Batching**\nNote that the `name` parameter can be include multiple times in the query string, once for each file that is to be deleted together in a single request.", "tags": [ "files" ], "operationId": "deleteFilesAndSyncSources", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "name", "in": "query", "required": true, "description": "", "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/files", "method": "POST", "summary": "Add files from URLs", "description": "Add files from URLs to a dataset. This method allows files published on the web to be added to a\ndata.world dataset via their URL. This method can also be used to retrieve data via web APIs, with\nadvanced options for http method, request payload and authentication.\n\nThe source URL will be stored so you can easily update your file anytime it changes via the *fetch latest*\nlink on the [data.world](https://data.world/) dataset page or by triggering the `GET:/sync` endpoint.", "tags": [ "files" ], "operationId": "addFilesBySource", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/FileBatchUpdateRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/files/{file}", "method": "DELETE", "summary": "Delete a file", "description": "Delete a single file from a dataset.", "tags": [ "files" ], "operationId": "deleteFileAndSyncSource", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "file", "in": "path", "required": true, "description": "Filename", "schema": { "type": "string", "maxLength": 128, "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/files/{file}/metadata", "method": "GET", "summary": "Get file description and labels", "description": "Get file description and labels", "tags": [ "files" ], "operationId": "getFileMetadata", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "file", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/FileMetadataResponse" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/files/{file}/metadata", "method": "PATCH", "summary": "Update file description and labels", "description": "Update file description and labels. Only elements included in the request will be updated. All omitted\nelements will remain untouched. Requesting change in a list replaces the entire list. Requesting an element\nto be null deletes all values on the element.", "tags": [ "files" ], "operationId": "patchFileMetadata", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "file", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/FileMetadataUpdateRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/files/{file}/metadata", "method": "PUT", "summary": "Replace file description and labels", "description": "Replace file description and labels", "tags": [ "files" ], "operationId": "putFileMetadata", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "file", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/FileMetadataUpdateRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/queries", "method": "GET", "summary": "List published queries", "description": "List published saved queries associated with a dataset. Query definitions will be returned, not the query results.\nTo retrieve query results use `GET:/queries/{id}/results`.", "tags": [ "queries" ], "operationId": "getPublishedDatasetQueries", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedQueryResults" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/queries", "method": "POST", "summary": "Create a saved query in a specified dataset", "description": "Create a saved query in a specified dataset.", "tags": [ "queries" ], "operationId": "createSavedQuery", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CreateQueryRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/QuerySummaryResponse" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/queries/{queryId}", "method": "DELETE", "summary": "Delete a saved query in a specified dataset", "description": "Delete a saved query in a specified dataset.", "tags": [ "queries" ], "operationId": "deleteSavedQuery", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "queryId", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/queries/{queryId}", "method": "PUT", "summary": "Update a saved query in a specified dataset", "description": "Update a saved query in a specified dataset.", "tags": [ "queries" ], "operationId": "updateSavedQuery", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "queryId", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/QueryPutRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/QuerySummaryResponse" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/sync", "method": "GET", "summary": "Sync files (via GET)", "description": "Same as `POST:/dataset/{owner}/{id}/sync`. The id parameter can either be a dataset id or project id.", "tags": [ "files" ], "operationId": "syncViaGet", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/sync", "method": "POST", "summary": "Sync files", "description": "Sync files within a dataset or project. This method will process the latest data available for files added\nfrom URLs or via streams. The id parameter can either be a dataset id or project id.", "tags": [ "files" ], "operationId": "sync", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/sync/{filename}", "method": "GET", "summary": "Fetch latest file from source and update dataset \u2014 via GET, for convenience.", "description": "", "tags": [ "datasets" ], "operationId": "syncFileViaGet", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "filename", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/sync/{filename}", "method": "POST", "summary": "Fetch latest file from source and update dataset.", "description": "", "tags": [ "datasets" ], "operationId": "syncFile", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "filename", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/tables", "method": "POST", "summary": "Add live tables from a virtual connection", "description": "Add tables from an established virtual connection. For increased security, endpoints that interact with\nexternal connection sources require an Enterprise Admin Token. This token can be found under\n[Advanced Settings](https://data.world/settings/advanced). To learn more about the virtual connections\ndata.world supports, please visit our\n[help portal](https://help.data.world/hc/en-us/sections/360009504254-Create-and-manage-virtual-connections).", "tags": [ "tables" ], "operationId": "addTables", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/TableBatchUpdateRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/userQueries", "method": "GET", "summary": "List user saved queries", "description": "List user saved queries associated with a dataset. Query definitions will be returned, not the query results.\nTo retrieve query results use `GET:/queries/{id}/results`.", "tags": [ "queries" ], "operationId": "getUserSavedDatasetQueries", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedQueryResults" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/v/{versionId}", "method": "GET", "summary": "Retrieve a dataset version", "description": "Retrieve a version of a dataset. The definition of the dataset will be returned, not its data.", "tags": [ "datasets" ], "operationId": "getDatasetByVersion", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "versionId", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/DatasetSummaryResponse" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/v/{versionId}/dois/{doi}", "method": "DELETE", "summary": "Delete dataset version DOI", "description": "Delete a DOI ([Digital Object Identifier](https://www.doi.org/)) associated with a version of a dataset.", "tags": [ "DOIs" ], "operationId": "deleteVersionDoi", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "versionId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "doi", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/datasets/{owner}/{id}/v/{versionId}/dois/{doi}", "method": "PUT", "summary": "Create dataset version DOI", "description": "Associate a DOI ([Digital Object Identifier](https://www.doi.org/)) with a version of a dataset.", "tags": [ "DOIs" ], "operationId": "addVersionDoi", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "versionId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "doi", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/download/{owner}/{id}", "method": "GET", "summary": "Download a dataset", "description": "Download a .zip file containing all files within a dataset as originally uploaded. Prefer `POST:/sql` or\n`POST:/sparql` for retrieving clean and structured data.", "tags": [ "datasets" ], "operationId": "downloadDataset", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/zip", "schema": {}, "example": null } } }, { "path": "/file_download/{owner}/{id}/{file}", "method": "GET", "summary": "Download a file", "description": "Download a file within the dataset as originally uploaded. Prefer `POST:/sql` or `POST:/sparql` for\nretrieving clean and structured data.", "tags": [ "files" ], "operationId": "downloadFile", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "file", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "*/*", "schema": {}, "example": null } } }, { "path": "/insights/{projectOwner}/{projectId}", "method": "GET", "summary": "List insights", "description": "List insights associated with a project.", "tags": [ "insights" ], "operationId": "getInsightsForProject", "parameters": [ { "name": "projectOwner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedInsightResults" }, "example": null } } }, { "path": "/insights/{projectOwner}/{projectId}", "method": "POST", "summary": "Create an insight", "description": "Create a new insight.", "tags": [ "insights" ], "operationId": "createInsight", "parameters": [ { "name": "projectOwner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/InsightCreateRequest" }, "example": null }, "responses": { "200": { "description": "Insight created successfully.", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CreateInsightResponse" }, "example": null } } }, { "path": "/insights/{projectOwner}/{projectId}/{id}", "method": "DELETE", "summary": "Delete an insight", "description": "Delete an insight.", "tags": [ "insights" ], "operationId": "deleteInsight", "parameters": [ { "name": "projectOwner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/insights/{projectOwner}/{projectId}/{id}", "method": "GET", "summary": "Retrieve an insight", "description": "Retrieve an insight.", "tags": [ "insights" ], "operationId": "getInsight", "parameters": [ { "name": "projectOwner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/InsightSummaryResponse" }, "example": null } } }, { "path": "/insights/{projectOwner}/{projectId}/{id}", "method": "PATCH", "summary": "Update an insight", "description": "Update an insight. Note that only elements included in the request will be updated. All omitted elements\nwill remain untouched.", "tags": [ "insights" ], "operationId": "updateInsight", "parameters": [ { "name": "projectOwner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/InsightPatchRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/insights/{projectOwner}/{projectId}/{id}", "method": "PUT", "summary": "Replace an insight", "description": "Replace an insight.", "tags": [ "insights" ], "operationId": "replaceInsight", "parameters": [ { "name": "projectOwner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/InsightPutRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/insights/{projectOwner}/{projectId}/{id}/v/{versionId}", "method": "GET", "summary": "Retrieve an insight version", "description": "Retrieve an insight version.", "tags": [ "insights" ], "operationId": "getInsightByVersion", "parameters": [ { "name": "projectOwner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "projectId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/InsightSummaryResponse" }, "example": null } } }, { "path": "/instanceAdmin/agents/{agentid}", "method": "PUT", "summary": "Create a new user or update existing one", "description": "This operation is only usable in Private Instances and requires the instance admin role permission. See the\n[Get API Tokens](https://developer.data.world/docs/api-getting-started#/step-2-get-the-tokens) documentation\nfor more information.", "tags": [ "instance admin" ], "operationId": "createOrUpdateAgent", "parameters": [ { "name": "agentid", "in": "path", "required": true, "description": "agent id or username", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CreateOrUpdateUserRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessageDto" }, "example": null } } }, { "path": "/instanceAdmin/agents/{agentid}/deactivate", "method": "POST", "summary": "Deactivate specified agent", "description": "This operation is only usable in Private Instances and requires the instance admin role permission. See the\n[Get API Tokens](https://developer.data.world/docs/api-getting-started#/step-2-get-the-tokens) documentation\nfor more information.", "tags": [ "instance admin" ], "operationId": "deactivateAgent", "parameters": [ { "name": "agentid", "in": "path", "required": true, "description": "agent id or username", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessageDto" }, "example": null } } }, { "path": "/instanceAdmin/agents/{agentid}/reactivate", "method": "POST", "summary": "Reactivate specified agent", "description": "This operation is only usable in Private Instances and requires the instance admin role permission. See the\n[Get API Tokens](https://developer.data.world/docs/api-getting-started#/step-2-get-the-tokens) documentation\nfor more information.", "tags": [ "instance admin" ], "operationId": "activateAgent", "parameters": [ { "name": "agentid", "in": "path", "required": true, "description": "agent id or username", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessageDto" }, "example": null } } }, { "path": "/metadata/analysis/suggest/{owner}/{id}", "method": "PATCH", "summary": "suggest for an existing analysis", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - analysis" ], "operationId": "suggestCatalogAnalysis", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataSuggestRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/analysis/{owner}", "method": "GET", "summary": "Gets metadata analysis by owner.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - analysis" ], "operationId": "getCatalogAnalysesByOwner", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "typelabel", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "typeiri", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "required": false, "description": "", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "size", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 10 } }, { "name": "from", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsMetadataResourceDto" }, "example": null } } }, { "path": "/metadata/analysis/{owner}", "method": "POST", "summary": "Create a new analysis metadata.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - analysis" ], "operationId": "createCatalogAnalysis", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataRequest" }, "example": null }, "responses": { "200": { "description": "Analysis Metadata created successfully.", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CreateResponse" }, "example": null } } }, { "path": "/metadata/analysis/{owner}/{id}", "method": "DELETE", "summary": "Delete an Analysis.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - analysis" ], "operationId": "deleteCatalogAnalysis", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/analysis/{owner}/{id}", "method": "GET", "summary": "Get an individual metadata analysis", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - analysis" ], "operationId": "getCatalogAnalysis", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataResourceDto" }, "example": null } } }, { "path": "/metadata/analysis/{owner}/{id}", "method": "PATCH", "summary": "Update an existing analysis.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - analysis" ], "operationId": "patchCatalogAnalysis", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/analysis/{owner}/{id}", "method": "PUT", "summary": "Replace an existing analysis", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - analysis" ], "operationId": "replaceCatalogAnalysis", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/collections/{owner}", "method": "GET", "summary": "Gets collections owned by specified owner", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - collections" ], "operationId": "getCatalogs", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "required": false, "description": "", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "size", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 10 } }, { "name": "from", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedSearchResultsDtoMetadataResourceDto" }, "example": null } } }, { "path": "/metadata/collections/{owner}", "method": "POST", "summary": "Creates a new collection", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - collections" ], "operationId": "createCatalog", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogRequest" }, "example": null }, "responses": { "200": { "description": "Collection created successfully.", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CreateResponse" }, "example": null } } }, { "path": "/metadata/collections/{owner}/{id}", "method": "DELETE", "summary": "Deletes a collection", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - collections" ], "operationId": "deleteCatalog", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/collections/{owner}/{id}", "method": "GET", "summary": "Gets a collection by ID", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - collections" ], "operationId": "getCatalog", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataResourceDto" }, "example": null } } }, { "path": "/metadata/collections/{owner}/{id}", "method": "PATCH", "summary": "Updates a collection", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - collections" ], "operationId": "updateCatalog", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/collections/{owner}/{id}", "method": "PUT", "summary": "Replaces a collection", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - collections" ], "operationId": "replaceCatalog", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/data/sources/suggest/{owner}/{sourceid}/tables/{tableid}", "method": "PATCH", "summary": "suggest for an existing table.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "suggestCatalogTable", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string" } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogTableSuggestRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}", "method": "GET", "summary": "Gets datasources by owner.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "getDatabases", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "required": false, "description": "", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "size", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 10 } }, { "name": "from", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedDatabaseResults" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}", "method": "GET", "summary": "Get an individual datasource metadata", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "getDatabase", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string", "minLength": 1 } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/DatabaseDto" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables", "method": "GET", "summary": "Get tables for a data source", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "getTables", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string", "minLength": 1 } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "typelabel", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "typeiri", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "required": false, "description": "", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "size", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 10 } }, { "name": "from", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsMetadataResourceDto" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables", "method": "POST", "summary": "Create a new table metadata.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "createCatalogTable", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string" } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogTableRequest" }, "example": null }, "responses": { "200": { "description": "Table Metadata created successfully.", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CreateResponse" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables/iri/{tableiri}", "method": "PATCH", "summary": "Update an existing table identified by IRI.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "patchCatalogTableByIri", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string" } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableiri", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogTableRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables/{tableid}", "method": "DELETE", "summary": "Delete a table.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "deleteCatalogTable", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string" } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables/{tableid}", "method": "GET", "summary": "Get an individual table metadata", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "getTable", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string", "minLength": 1 } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "schema", "in": "query", "required": false, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataResourceDto" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables/{tableid}", "method": "PATCH", "summary": "Update an existing table.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "patchCatalogTable", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string" } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "schema", "in": "query", "required": false, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogTableRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables/{tableid}", "method": "PUT", "summary": "Replace an existing table", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "replaceCatalogTable", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string" } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogTableRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables/{tableid}/columns", "method": "GET", "summary": "Get columns for a given table", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "getTableColumns", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string", "minLength": 1 } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "sort", "in": "query", "required": false, "description": "", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "size", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 10 } }, { "name": "from", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsMetadataResourceDto" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables/{tableid}/columns", "method": "POST", "summary": "Create a Column.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "createCatalogColumn", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string" } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogColumnRequest" }, "example": null }, "responses": { "200": { "description": "Column Metadata created successfully.", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CreateResponse" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables/{tableid}/columns/{columnid}", "method": "DELETE", "summary": "Delete a Column.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "deleteCatalogColumn", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string" } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "columnid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables/{tableid}/columns/{columnid}", "method": "GET", "summary": "Get an individual column metadata", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "getTableColumn", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string", "minLength": 1 } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "columnid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataResourceDto" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables/{tableid}/columns/{columnid}", "method": "PATCH", "summary": "Update an existing Column.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "patchCatalogColumn", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string" } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "columnid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogColumnRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/data/sources/{owner}/{sourceid}/tables/{tableid}/columns/{columnid}", "method": "PUT", "summary": "Replace an existing column", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - data" ], "operationId": "replaceCatalogColumn", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "id of the user or organization", "schema": { "type": "string" } }, { "name": "sourceid", "in": "path", "required": true, "description": "database source id", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "columnid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogColumnRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/glossary/suggest/{owner}/{id}", "method": "PATCH", "summary": "suggest for an existing glossary.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - glossary" ], "operationId": "suggestCatalogGlossary", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataSuggestRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/glossary/{owner}", "method": "GET", "summary": "Gets metadata glossary by owner.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - glossary" ], "operationId": "getCatalogGlossariesByOwner", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "typelabel", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "typeiri", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "required": false, "description": "", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "size", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 10 } }, { "name": "from", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsMetadataResourceDto" }, "example": null } } }, { "path": "/metadata/glossary/{owner}", "method": "POST", "summary": "Create a new glossary metadata.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - glossary" ], "operationId": "createCatalogGlossary", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataRequest" }, "example": null }, "responses": { "200": { "description": "Glossary Metadata created successfully.", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CreateResponse" }, "example": null } } }, { "path": "/metadata/glossary/{owner}/{id}", "method": "DELETE", "summary": "Delete a Glossary.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - glossary" ], "operationId": "deleteCatalogGlossary", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/glossary/{owner}/{id}", "method": "GET", "summary": "Get an individual metadata glossary", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - glossary" ], "operationId": "getCatalogGlossary", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataResourceDto" }, "example": null } } }, { "path": "/metadata/glossary/{owner}/{id}", "method": "PATCH", "summary": "Update an existing glossary.", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - glossary" ], "operationId": "patchCatalogGlossary", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/glossary/{owner}/{id}", "method": "PUT", "summary": "Replace an existing glossary", "description": "Please refer to the updated IRI-based resource endpoints.", "tags": [ "legacy catalog - glossary" ], "operationId": "replaceCatalogGlossary", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/MetadataRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/relationships/{owner}", "method": "POST", "summary": "Legacy - Creates a relationship between two catalog resources", "description": "Please refer to the updated IRI-based relationship endpoints.", "tags": [ "legacy catalog - relationships" ], "operationId": "createRelationship", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/RelationshipCreateOrDeleteRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/relationships/{owner}/delete", "method": "POST", "summary": "Legacy - Deletes a relationship between two catalog resources", "description": "Please refer to the updated IRI-based relationship endpoints.", "tags": [ "legacy catalog - relationships" ], "operationId": "deleteRelationship", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/RelationshipCreateOrDeleteRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/relationships/{owner}/iri", "method": "POST", "summary": "Get resources that are related to a resource identified by IRI", "description": "If a resource A is related to resource B and C, this endpoint will return B and C. See request body for further filtering options.", "tags": [ "catalog relationships" ], "operationId": "getRelationshipsByIri", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string", "minLength": 1 } }, { "name": "iri", "in": "query", "required": true, "description": "Internationalized Resource Identifier (IRI) of the resource. You can find the IRI in the Technical Reference section under the Settings tab on the resource\u2019s catalog page.", "schema": { "type": "string", "minLength": 1 } }, { "name": "hydrations", "in": "query", "required": false, "description": "Return additional information about the resource. For example, if the resource is in a collection, the collection IRI will be returned by default. If hydration is enabled, the collection's title and description will also be returned.", "schema": { "type": "boolean", "default": false } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/RelationshipGetRequestByIri" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsMetadataResourceDtoV2" }, "example": null } } }, { "path": "/metadata/relationships/{owner}/iri/create", "method": "POST", "summary": "Creates a relationship between two catalog resources identified by IRI", "description": "Creates a directed relationship between two catalog resources with one being the source and the other being the target.", "tags": [ "catalog relationships" ], "operationId": "createRelationshipByIri", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/RelationshipCreateOrDeleteRequestByIri" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/relationships/{owner}/iri/delete", "method": "POST", "summary": "Deletes a relationship between two catalog resources identified by IRI", "description": "Deletes a directed relationship between two catalog resources with one being the source and the other being the target.", "tags": [ "catalog relationships" ], "operationId": "deleteRelationshipByIri", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/RelationshipCreateOrDeleteRequestByIri" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/relationships/{owner}/resource/{resourceId}", "method": "POST", "summary": "Legacy - Get resources that are related to a resource", "description": "Please refer to the updated IRI-based relationship endpoints.", "tags": [ "legacy catalog - relationships" ], "operationId": "getRelationships", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string", "minLength": 1 } }, { "name": "resourceId", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/RelationshipGetRequestById" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsMetadataResourceDto" }, "example": null } } }, { "path": "/metadata/relationships/{owner}/table/{sourceId}/{tableId}", "method": "POST", "summary": "Legacy - Get resources that are related to a table", "description": "Please refer to the updated IRI-based relationship endpoints.", "tags": [ "legacy catalog - relationships" ], "operationId": "getTableRelationships", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string", "minLength": 1 } }, { "name": "sourceId", "in": "path", "required": true, "description": "ID of dataset that the table is in", "schema": { "type": "string", "minLength": 1 } }, { "name": "tableId", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/RelationshipGetRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsMetadataResourceDto" }, "example": null } } }, { "path": "/metadata/resources/bulk/property/{owner}", "method": "PATCH", "summary": "Bulk: delete properties from resources", "description": "Delete properties from a maximum of 25 resources of any type in the organization at once. To delete properties from a single resource, use \"Delete properties from a resource\".", "tags": [ "catalog resources" ], "operationId": "bulkDeleteProperty", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/BulkDeletePropertyRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogResourceBulkResponse" }, "example": null } } }, { "path": "/metadata/resources/bulk/{owner}", "method": "PATCH", "summary": "Bulk: update multiple resources at once", "description": "Update a maximum of 25 resources of any type in the organization at once. To create one resource at a time, use \"Create a new resource\". Also, see the aforementioned endpoint for further update behaviors.", "tags": [ "catalog resources" ], "operationId": "bulkUpdate", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string" } }, { "name": "updateListBy", "in": "query", "required": true, "description": "Set this option when updating properties that supports having a list of values. Given a list of values in the request body, should this request add to the existing list, remove the specified values, or replace the existing list with the specified values?", "schema": { "type": "string", "default": "ADD", "enum": [ "ADD", "REMOVE", "REPLACE" ] } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogResourceBulkRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogResourceBulkResponse" }, "example": null } } }, { "path": "/metadata/resources/bulk/{owner}", "method": "POST", "summary": "Bulk: create multiple resources at once", "description": "Create a maximum of 25 resources of any type in the organization at once. The resources are created with the provided properties. To create one resource at a time, use \"Create a new resource\".", "tags": [ "catalog resources" ], "operationId": "bulkCreate", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogResourceBulkCreateRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogResourceBulkResponse" }, "example": null } } }, { "path": "/metadata/resources/property/{owner}", "method": "DELETE", "summary": "Delete properties from a resource", "description": "Delete properties from a resource of any type in the organization. To update properties, use \"Update a resource\". To delete properties from multiple resources at once, use \"Bulk: delete properties from resources\".", "tags": [ "catalog resources" ], "operationId": "deleteProperty", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string" } }, { "name": "iri", "in": "query", "required": true, "description": "Internationalized Resource Identifier (IRI) of the resource. You can find the IRI in the Technical Reference section under the Settings tab on the resource\u2019s catalog page.", "schema": { "type": "string" } }, { "name": "property", "in": "query", "required": true, "description": "Property is identified by its IRI", "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogResourceResponse" }, "example": null } } }, { "path": "/metadata/resources/search", "method": "POST", "summary": "Search for resources", "description": "Search for resources in the organization. See request body for filtering options. To paginate through results, use \"from\" and \"size\" query parameters. To return more details about the resources, see \"hydration\" query parameter.", "tags": [ "catalog resources" ], "operationId": "searchResources", "parameters": [ { "name": "size", "in": "query", "required": false, "description": "Size of page to fetch", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 1000 } }, { "name": "from", "in": "query", "required": false, "description": "Result number to start fetch from (not the page number to start from)", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "sort", "in": "query", "required": false, "description": "Sort results by fields", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "hydration", "in": "query", "required": false, "description": "Return additional information about the resource. For example, if the resource is in a collection, the collection IRI will be returned by default. If hydration is enabled, the collection's title and description will also be returned.", "schema": { "type": "array", "items": { "type": "string", "enum": [ "agent", "catalog", "catalogConcept", "properties", "resourceHierarchy" ] }, "uniqueItems": true } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/OrgScopedSearchRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsOrgScopedSearchedResourceDto" }, "example": null } } }, { "path": "/metadata/resources/{owner}", "method": "DELETE", "summary": "Delete a resource", "description": "Delete a resource of any type in the organization.", "tags": [ "catalog resources" ], "operationId": "delete", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string" } }, { "name": "iri", "in": "query", "required": true, "description": "Internationalized Resource Identifier (IRI) of the resource. You can find the IRI in the Technical Reference section under the Settings tab on the resource\u2019s catalog page.", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/resources/{owner}", "method": "GET", "summary": "Get a resource", "description": "Return details about a resource of any type in the organization. See \"hydrations\" query parameter for options to return even more details.", "tags": [ "catalog resources" ], "operationId": "getResourceByIRI", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string" } }, { "name": "iri", "in": "query", "required": true, "description": "Internationalized Resource Identifier (IRI) of the resource. You can find the IRI in the Technical Reference section under the Settings tab on the resource\u2019s catalog page.", "schema": { "type": "string" } }, { "name": "hydrations", "in": "query", "required": false, "description": "Return additional information about the resource. For example, if the resource is in a collection, the collection IRI will be returned by default. If hydration is enabled, the collection's title and description will also be returned.", "schema": { "type": "boolean", "default": false } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogResourceGetResponse" }, "example": null } } }, { "path": "/metadata/resources/{owner}", "method": "PATCH", "summary": "Update a resource", "description": "Update a resource of any type in the organization. Properties that are not defined in the request are not updated. When updating properties that have a single value, the old value is replaced by the new value in the request. When updating properties that have a list of values, see \"updateListBy\" query parameter for more granular controls. To delete properties, use \"Delete properties from a resource\". To update multiple resources at once, use \"Bulk: update multiple resources at once\".", "tags": [ "catalog resources" ], "operationId": "update", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string" } }, { "name": "iri", "in": "query", "required": true, "description": "Internationalized Resource Identifier (IRI) of the resource. You can find the IRI in the Technical Reference section under the Settings tab on the resource\u2019s catalog page.", "schema": { "type": "string" } }, { "name": "updateListBy", "in": "query", "required": true, "description": "Set this option when updating properties that supports having a list of values. Given a list of values in the request body, should this request add to the existing list, remove the specified values, or replace the existing list with the specified values?", "schema": { "type": "string", "default": "ADD", "enum": [ "ADD", "REMOVE", "REPLACE" ] } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogResourceRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogResourceResponse" }, "example": null } } }, { "path": "/metadata/resources/{owner}", "method": "POST", "summary": "Create a new resource", "description": "Create a new resource of any type in the organization. The resource is created with the provided properties. To create multiple resources at once, use \"Bulk: create multiple resources at once\".", "tags": [ "catalog resources" ], "operationId": "create", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "User name and unique identifier of the user or organization a resource belongs to.\nFor example, in the URL: https://acme.data.world/jonloyens/an-intro-to-dataworld-dataset, jonloyens is the unique identifier of the owner.\n", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogResourceCreateRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CatalogResourceResponse" }, "example": null } } }, { "path": "/metadata/{owner}/resources/clear", "method": "POST", "summary": "Clear all user edits from a resource", "description": "This is an advanced operation and should be used with caution. The data.world catalog graph relies on a layered model that keeps the content from collected source systems separate from edits made by end users on the platform. This allows the collected source system data to update regularly withoutoverwriting enrichment and curation efforts that are authored on data.world. Sometimes, however, it is desirable to overwrite the end user edits or let the source system metadata replace user edits. This endpoint can be used to clear all end user edits for a given metadata resource or list of resources, restoring the source system values.", "tags": [ "catalog resources" ], "operationId": "clearMetadataResource", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ClearResourcesRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/metadata/{owner}/resources/properties/clear", "method": "PUT", "summary": "Clear all user edits on specified properties from a resource", "description": "This is an advanced operation and should be used with caution. The data.world catalog graph relies on a layered model that keeps the content from collected source systems separate from edits made by end users on the platform. This allows the collected source system data to update regularly without overwriting enrichment and curation efforts that are authored on data.world. Sometimes, however, it is desirable to overwrite the end user edits or let the source system metadata replace user edits. This endpoint can be used to clear a specific user-edited metadata field, restoring the source system values.", "tags": [ "catalog resources" ], "operationId": "clearMetadataResourceProperties", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ClearResourcePropertiesRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/organizations/{agentid}/authorizations/{teamid}", "method": "POST", "summary": "Authorize a Team to access an organization", "description": "Authorize a Team to access an organization", "tags": [ "organizations" ], "operationId": "authorizeOrgAccess", "parameters": [ { "name": "agentid", "in": "path", "required": true, "description": "organization agent ID", "schema": { "type": "string", "minLength": 1 } }, { "name": "teamid", "in": "path", "required": true, "description": "team agent ID", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessageDto" }, "example": null } } }, { "path": "/organizations/{id}", "method": "GET", "summary": "Get organization details", "description": "Get organization details", "tags": [ "organizations" ], "operationId": "getOrganizationDetails", "parameters": [ { "name": "id", "in": "path", "required": true, "description": "Organization ID.", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/OrgDetailsResponse" }, "example": null } } }, { "path": "/projects/{owner}", "method": "GET", "summary": "List projects for a specified owner", "description": "List projects that the currently authenticated user has access to, for the specified owner; when the\nproject is open, or when project is private but has view/edit/manage permissions for the authenticated user", "tags": [ "projects" ], "operationId": "getProjectsByOwner", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedProjectResults" }, "example": null } } }, { "path": "/projects/{owner}", "method": "POST", "summary": "Create a data project", "description": "Create a new project.", "tags": [ "projects" ], "operationId": "createProject", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ProjectCreateRequest" }, "example": null }, "responses": { "200": { "description": "Project created successfully.", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CreateProjectResponse" }, "example": null } } }, { "path": "/projects/{owner}/{id}", "method": "DELETE", "summary": "Delete a data project", "description": "Delete a project and associated data. This operation cannot be undone, but you may recreate the project\nusing the same id.", "tags": [ "projects" ], "operationId": "deleteProject", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/projects/{owner}/{id}", "method": "GET", "summary": "Retrieve a data project", "description": "Retrieve a project. The definition of the project will be returned, not the associated data. Use\n`POST:/sql/{owner}/{id}` or `POST:/sparql/{owner}/{id}` to query the data or use dataset APIs to retrieve\ndata from linked datasets.", "tags": [ "projects" ], "operationId": "getProject", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ProjectSummaryResponse" }, "example": null } } }, { "path": "/projects/{owner}/{id}", "method": "PATCH", "summary": "Update a data project", "description": "Update an existing project. Only elements included in the request will be updated. All omitted elements\nwill remain untouched. Requesting change in a list replaces the entire list. Requesting an element to be\nnull deletes all values on the element.", "tags": [ "projects" ], "operationId": "patchProject", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ProjectPatchRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/projects/{owner}/{id}", "method": "PUT", "summary": "Create / Replace a data project", "description": "Create or replace a project with a given id. If a project exists with the same id, this call will reset\nsuch project redefining all its attributes.", "tags": [ "projects" ], "operationId": "replaceProject", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ProjectPutRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/projects/{owner}/{id}/linkedDatasets/{linkedDatasetOwner}/{linkedDatasetId}", "method": "DELETE", "summary": "Unlink dataset", "description": "Remove a linked dataset from a project.", "tags": [ "projects" ], "operationId": "removeLinkedDataset", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "linkedDatasetOwner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "linkedDatasetId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/projects/{owner}/{id}/linkedDatasets/{linkedDatasetOwner}/{linkedDatasetId}", "method": "PUT", "summary": "Link dataset", "description": "Add a linked dataset to a project.", "tags": [ "projects" ], "operationId": "addLinkedDataset", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "linkedDatasetOwner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "linkedDatasetId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/projects/{owner}/{id}/queries", "method": "GET", "summary": "List published queries", "description": "List published saved queries associated with a project.", "tags": [ "queries" ], "operationId": "getProjectQueries", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedQueryResults" }, "example": null } } }, { "path": "/projects/{owner}/{id}/queries", "method": "POST", "summary": "Create a saved query", "description": "Create a saved query in a specified project.", "tags": [ "queries" ], "operationId": "createSavedQuery_1", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/CreateQueryRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/QuerySummaryResponse" }, "example": null } } }, { "path": "/projects/{owner}/{id}/queries/{queryId}", "method": "DELETE", "summary": "Delete a saved query", "description": "Delete a saved query in a specified project.", "tags": [ "queries" ], "operationId": "deleteSavedQuery_1", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "queryId", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/projects/{owner}/{id}/queries/{queryId}", "method": "PUT", "summary": "Update a saved query", "description": "Update a saved query in a specified project.", "tags": [ "queries" ], "operationId": "updateSavedQuery_1", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "queryId", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/QueryPutRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/QuerySummaryResponse" }, "example": null } } }, { "path": "/projects/{owner}/{id}/userQueries", "method": "GET", "summary": "List saved queries", "description": "List user saved queries associated with a project.", "tags": [ "queries" ], "operationId": "getUserSavedProjectQueries", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedQueryResults" }, "example": null } } }, { "path": "/projects/{owner}/{id}/v/{versionId}", "method": "GET", "summary": "Retrieve a data project version", "description": "Retrieve a project version. The definition of the project will be returned.", "tags": [ "projects" ], "operationId": "getProjectByVersion", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "versionId", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ProjectSummaryResponse" }, "example": null } } }, { "path": "/properties/{owner}", "method": "GET", "summary": "Get supported metadata properties by owner", "description": "Get supported metadata properties by owner.\n\nThis endpoint can be used to obtain a reference list of supported custom metadata properties for your\norganization's catalog. Custom properties for resources in your catalog require an ApiBinding to be\nconfigured for use in the public API. For more information about how to correctly configure ApiBindings,\nplease reach out to your data.world support representative or message help@data.world.", "tags": [ "legacy catalog - properties" ], "operationId": "getPropertiesByOwner", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "categorylabel", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "typelabel", "in": "query", "required": false, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "type": "array", "items": { "$ref": "#/components/schemas/CatalogPropertyDto" } }, "example": null } } }, { "path": "/queries/{id}", "method": "GET", "summary": "Retrieve a saved query", "description": "Retrieve a saved query. Query definitions will be returned, not query results. To retrieve query results\nuse `GET:/queries/{id}/results`.", "tags": [ "queries" ], "operationId": "getQuery", "parameters": [ { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/QuerySummaryResponse" }, "example": null } } }, { "path": "/queries/{id}/results", "method": "GET", "summary": "Execute a saved query", "description": "Execute a saved query.\n\nSQL results are available in a variety of formats. By default, `application/json` will be returned. Set\nthe `Accept` header to one of the following values in accordance with your preference:\n\n* `text/csv`\n* `application/json`\n* `application/json-l`\n* `application/x-ndjson`\n\nSPARQL results are available in a variety of formats. By default, `application/sparql-results+json` will\nbe returned. Set the `Accept` header to one of the following values in accordance with your preference:\n\n- `application/sparql-results+xml`\n- `application/sparql-results+json`\n- `application/rdf+json`\n- `application/rdf+xml`\n- `text/csv`\n- `text/tab-separated-values`\n- `text/turtle`", "tags": [ "queries" ], "operationId": "executeQuery", "parameters": [ { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } }, { "name": "includeTableSchema", "in": "query", "required": false, "description": "", "schema": { "type": "boolean", "default": false } }, { "name": "queryruntoken", "in": "query", "required": false, "description": "Query token to use with cancel", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": {}, "example": null } } }, { "path": "/queries/{id}/results", "method": "POST", "summary": "Execute a saved query (with parameters)", "description": "Execute a saved query (same as GET:/queries/{id}/results) with the option to specify named query\nparameters.", "tags": [ "queries" ], "operationId": "executeQueryWithPost", "parameters": [ { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } }, { "name": "queryruntoken", "in": "query", "required": false, "description": "Query token to use with cancel", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SavedQueryExecutionRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": {}, "example": null } } }, { "path": "/queries/{id}/v/{versionId}", "method": "GET", "summary": "Retrieve a saved query version", "description": "Retrieve a version of a saved query. Query definitions will be returned, not query results.", "tags": [ "queries" ], "operationId": "getQueryVersion", "parameters": [ { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } }, { "name": "versionId", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/QuerySummaryResponse" }, "example": null } } }, { "path": "/requests/accept", "method": "POST", "summary": "Accept a resource request", "description": "Accept a resource request. The defined contribution or transfer will happen. For more details on resource requests, see \"Get a resource request\".", "tags": [ "requests - resource" ], "operationId": "acceptRequest_1", "parameters": [], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/AcceptRequestDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessageDto" }, "example": null } } }, { "path": "/requests/auth", "method": "POST", "summary": "Create an authorization request", "description": "Create a request asking for access against a dataset. A request can ask the resource admin for permission to access a resource. It may also be an invitation from the resource admin to give others access to a resource.", "tags": [ "requests - authorization" ], "operationId": "createAuthRequest", "parameters": [], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/AuthRequestCreateDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/AuthRequestDto" }, "example": null } } }, { "path": "/requests/auth/accept", "method": "POST", "summary": "Accept an authorization request", "description": "Accept an authorization request. This will give the grantee access to the resource. For more details about authorization request, see \"Create an authorization request\".", "tags": [ "requests - authorization" ], "operationId": "acceptRequest", "parameters": [], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/AuthRequestRespondDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessageDto" }, "example": null } } }, { "path": "/requests/auth/approver", "method": "GET", "summary": "Get authorization requests that can be approved/rejected", "description": "Get a list of authorization requests that can be approved or rejected by the user. For more details about authorization request, see \"Create an authorization request\".", "tags": [ "requests - authorization" ], "operationId": "getForApprover", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedResultsDtoAuthRequestDto" }, "example": null } } }, { "path": "/requests/auth/delete", "method": "POST", "summary": "Delete an authorization request", "description": "Delete an authorization request. This will delete the request. The grantee will not receive any access to the resource. For more details about authorization request, see \"Create an authorization request\".", "tags": [ "requests - authorization" ], "operationId": "deleteRequest", "parameters": [], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/AuthRequestRespondDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessageDto" }, "example": null } } }, { "path": "/requests/auth/reject", "method": "POST", "summary": "Reject an authorization request", "description": "Reject an authorization request. This will delete the request. The grantee will not receive any access to the resource. For more details about authorization request, see \"Create an authorization request\".", "tags": [ "requests - authorization" ], "operationId": "rejectRequest", "parameters": [], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/AuthRequestRespondDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessageDto" }, "example": null } } }, { "path": "/requests/owner/{agentid}", "method": "GET", "summary": "Get all resource requests in an organization", "description": "Get all resource requests done to resources in an organization. For more details on resource requests, see \"Get a resource request\".", "tags": [ "requests - resource" ], "operationId": "getRequests", "parameters": [ { "name": "agentid", "in": "path", "required": true, "description": "organization ID", "schema": { "type": "string", "minLength": 1 } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "required": false, "description": "Sort results by fields", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "includeTaskLinkedRequests", "in": "query", "required": false, "description": "", "schema": { "type": "boolean", "default": true } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsPublicResourceRequestDto" }, "example": null } } }, { "path": "/requests/reject", "method": "POST", "summary": "Reject a resource request", "description": "Reject a resource request. This deletes the request. For more details on resource requests, see \"Get a resource request\".", "tags": [ "requests - resource" ], "operationId": "rejectRequest_1", "parameters": [], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/RejectRequestDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessageDto" }, "example": null } } }, { "path": "/requests/suggest", "method": "POST", "summary": "Create a resource request", "description": "This API allows users to submit requests for modifications or contributions to dataset or metadata resources. Users can propose changes or transfers within an organization's collections, specifying details about the resource and type of request through structured parameters.", "tags": [ "requests - resource" ], "operationId": "createResourceRequest", "parameters": [], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicResourceRequestDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicResourceRequestDto" }, "example": null } } }, { "path": "/requests/{requestid}", "method": "DELETE", "summary": "Delete a resource request", "description": "Delete a resource request. For more details on resource requests, see \"Get a resource request\".", "tags": [ "requests - resource" ], "operationId": "deleteRequest_1", "parameters": [ { "name": "requestid", "in": "path", "required": true, "description": "ID of the request to delete.", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessageDto" }, "example": null } } }, { "path": "/requests/{requestid}", "method": "GET", "summary": "Get a resource request", "description": "Get a resource request. Request can be a contribution on a metadata resource or transfer of a metadata resource into an organization's collections.", "tags": [ "requests - resource" ], "operationId": "getRequest", "parameters": [ { "name": "requestid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicResourceRequestDto" }, "example": null } } }, { "path": "/search", "method": "POST", "summary": "Advanced search on resources", "description": "", "tags": [ "search" ], "operationId": "searchResources_1", "parameters": [ { "name": "sort", "in": "query", "required": false, "description": "", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "size", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 10 } }, { "name": "from", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "hydration", "in": "query", "required": false, "description": "", "schema": { "type": "array", "enum": [ "agent, catalog, catalogConcept, properties, resourceHierarchy" ], "items": { "type": "string", "enum": [ "agent", "catalog", "catalogConcept", "properties", "resourceHierarchy", "agent, catalog, catalogConcept, properties, resourceHierarchy" ] }, "uniqueItems": true } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SearchRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsSearchedResourceDto" }, "example": null } } }, { "path": "/search/resources", "method": "POST", "summary": "Simple search on resources", "description": "Simple search is a light weight API implementation exposing similar search capabilities as our main\nplatform search UI.\n\nBy default, the search response will return mixed result types including metadata resources, datasets,\nprojects, queries, insights, tables, and comments.\n\nA free-text search term is required. Simple search does not support complex keyword or logical operator\ngrammar. Light weight filters for resource owner and resource category are supported. You may optionally\nspecify the includeCommunityResults param to query for resources in the data.world open data community.", "tags": [ "search" ], "operationId": "simpleSearchResources", "parameters": [ { "name": "sort", "in": "query", "required": false, "description": "", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "size", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 10 } }, { "name": "from", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "hydration", "in": "query", "required": false, "description": "", "schema": { "type": "array", "enum": [ "agent, catalog, catalogConcept, properties, resourceHierarchy" ], "items": { "type": "string", "enum": [ "agent", "catalog", "catalogConcept", "properties", "resourceHierarchy", "agent, catalog, catalogConcept, properties, resourceHierarchy" ] }, "uniqueItems": true } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SimpleSearchRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsSearchedResourceDto" }, "example": null } } }, { "path": "/serviceaccount/{owner}", "method": "GET", "summary": "Gets all service accounts by owner.", "description": "", "tags": [ "serviceaccount" ], "operationId": "getServiceAccounts", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "description": "", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 50, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "sort", "in": "query", "required": false, "description": "", "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedServiceAccountDetails" }, "example": null } } }, { "path": "/serviceaccount/{owner}", "method": "POST", "summary": "Create a new service account.", "description": "", "tags": [ "serviceaccount" ], "operationId": "createServiceAccount", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ServiceAccountCreateRequestDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ServiceAccountCreateResponseDto" }, "example": null } } }, { "path": "/serviceaccount/{serviceAccount}", "method": "DELETE", "summary": "Delete service account", "description": "", "tags": [ "serviceaccount" ], "operationId": "deleteServiceAccount", "parameters": [ { "name": "serviceAccount", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/serviceaccount/{serviceAccount}", "method": "PATCH", "summary": "Update service account", "description": "", "tags": [ "serviceaccount" ], "operationId": "updateServiceAccount", "parameters": [ { "name": "serviceAccount", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ServiceAccountUpdateDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/serviceaccount/{serviceAccount}/refresh", "method": "POST", "summary": "Refresh service account token", "description": "", "tags": [ "serviceaccount" ], "operationId": "refreshServiceAccountToken", "parameters": [ { "name": "serviceAccount", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ServiceAccountRefreshTokenRequestDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/ServiceAccountCreateResponseDto" }, "example": null } } }, { "path": "/sparql/{owner}", "method": "GET", "summary": "Execute SPARQL query via GET with the default graph", "description": "Execute a SPARQL query. The query will default to using the :current graph if the query contains no FROM\nclauses and no default graph URI parameters are specified, in which case it will return a 404 if the\n:current graph does not exist for the org.\n\nSPARQL results are available in a variety of formats. By default, `application/sparql-results+json` will\nbe returned. Set the `Accept` header to one of the following values in accordance with your preference\nand the type of the query (SELECT, CONSTRUCT, DESCRIBE, ASK):\n\n- `application/sparql-results+xml`\n- `application/sparql-results+json`\n- `application/rdf+json`\n- `application/rdf+xml`\n- `text/csv`\n- `text/tab-separated-values`\n- `text/turtle`\n\nNew to SPARQL? Check out data.world's [SPARQL tutorial](https://docs.data.world/tutorials/sparql/).", "tags": [ "queries" ], "operationId": "queryViaGetWithDefaultGraph", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "query", "in": "query", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "diagnose", "in": "query", "required": false, "description": "", "schema": { "type": "boolean", "default": false } }, { "name": "default-graph-uri", "in": "query", "required": false, "description": "Specify URI for named graph(s) to query, overriding any FROM clauses in the query. If the default-graph-uri parameter is omitted and there are no FROM clauses, the :current graph will be used. See [Our Docs](https://docs.data.world/en/168180-understanding-the-catalog-graph.html#UUID-46e644b5-119a-a4a2-eb69-e09ce33bd986) for more info.", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "named-graph-uri", "in": "query", "required": false, "description": "Specify URI for named graph(s) to query, overriding any FROM NAMED clauses in the query. See [Our Docs](https://docs.data.world/en/168180-understanding-the-catalog-graph.html#UUID-46e644b5-119a-a4a2-eb69-e09ce33bd986) for more info.", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "queryruntoken", "in": "query", "required": false, "description": "Query token to use with cancel", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/rdf+json", "schema": {}, "example": null } } }, { "path": "/sparql/{owner}", "method": "POST", "summary": "Execute SPARQL query via POST with the default graph", "description": "Execute a SPARQL query. The query will default to using the :current graph if the query contains no FROM\nclauses and no default graph URI parameters are specified, in which case it will return a 404 if the\n:current graph does not exist for the org.\n\nSPARQL results are available in a variety of formats. By default, `application/sparql-results+json` will\nbe returned. Set the `Accept` header to one of the following values in accordance with your preference\nand the type of the query (SELECT, CONSTRUCT, DESCRIBE, ASK):\n\n- `application/sparql-results+xml`\n- `application/sparql-results+json`\n- `application/rdf+json`\n- `application/rdf+xml`\n- `text/csv`\n- `text/tab-separated-values`\n- `text/turtle`\n\nNew to SPARQL? Check out data.world's [SPARQL tutorial](https://docs.data.world/tutorials/sparql/).", "tags": [ "queries" ], "operationId": "queryWithJsonRequestWithDefaultGraph", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SparqlQueryRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/rdf+json", "schema": {}, "example": null } } }, { "path": "/sparql/{owner}/{id}", "method": "GET", "summary": "Execute SPARQL query via GET", "description": "Execute a SPARQL query against a dataset or data project.\n\nSPARQL results are available in a variety of formats. By default, `application/sparql-results+json` will\nbe returned. Set the `Accept` header to one of the following values in accordance with your preference\nand the type of the query (SELECT, CONSTRUCT, DESCRIBE, ASK):\n\n- `application/sparql-results+xml`\n- `application/sparql-results+json`\n- `application/rdf+json`\n- `application/rdf+xml`\n- `text/csv`\n- `text/tab-separated-values`\n- `text/turtle`\n\nNew to SPARQL? Check out data.world's [SPARQL tutorial](https://docs.data.world/tutorials/sparql/).", "tags": [ "queries" ], "operationId": "queryViaGet", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "Dataset to query, e.g. `ddw-catalogs`", "schema": { "type": "string" } }, { "name": "query", "in": "query", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "diagnose", "in": "query", "required": false, "description": "", "schema": { "type": "boolean", "default": false } }, { "name": "default-graph-uri", "in": "query", "required": false, "description": "Specify URI for named graph(s) to query, overriding any FROM clauses in the query. See [Our Docs](https://docs.data.world/en/168180-understanding-the-catalog-graph.html#UUID-46e644b5-119a-a4a2-eb69-e09ce33bd986) for more info.", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "named-graph-uri", "in": "query", "required": false, "description": "Specify URI for named graph(s) to query, overriding any FROM NAMED clauses in the query. See [Our Docs](https://docs.data.world/en/168180-understanding-the-catalog-graph.html#UUID-46e644b5-119a-a4a2-eb69-e09ce33bd986) for more info.", "schema": { "type": "array", "items": { "type": "string" } } }, { "name": "queryruntoken", "in": "query", "required": false, "description": "Query token to use with cancel", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/rdf+json", "schema": {}, "example": null } } }, { "path": "/sparql/{owner}/{id}", "method": "POST", "summary": "Execute SPARQL query via POST", "description": "Execute a SPARQL query against a dataset or data project.\n\nSPARQL results are available in a variety of formats. By default, `application/sparql-results+json` will\nbe returned. Set the `Accept` header to one of the following values in accordance with your preference\nand the type of the query (SELECT, CONSTRUCT, DESCRIBE, ASK):\n\n- `application/sparql-results+xml`\n- `application/sparql-results+json`\n- `application/rdf+json`\n- `application/rdf+xml`\n- `text/csv`\n- `text/tab-separated-values`\n- `text/turtle`\n\nNew to SPARQL? Check out data.world's [SPARQL tutorial](https://docs.data.world/tutorials/sparql/).", "tags": [ "queries" ], "operationId": "queryWithJsonRequest", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "Dataset to query, e.g. `ddw-catalogs`", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SparqlQueryRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/rdf+json", "schema": {}, "example": null } } }, { "path": "/sql/{owner}/{id}", "method": "GET", "summary": "SQL query (via GET)", "description": "Same as `POST:/sql/{owner}/{id}`", "tags": [ "queries" ], "operationId": "sqlGet", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "includeTableSchema", "in": "query", "required": false, "description": "", "schema": { "type": "boolean", "default": false } }, { "name": "query", "in": "query", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "dialect", "in": "query", "required": false, "description": "", "schema": { "type": "string", "default": "DW_SQL", "enum": [ "DW_SQL", "POSTGRESQL" ] } }, { "name": "diagnose", "in": "query", "required": false, "description": "", "schema": { "type": "boolean", "default": false } }, { "name": "queryruntoken", "in": "query", "required": false, "description": "Query token to use with cancel", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": {}, "example": null } } }, { "path": "/sql/{owner}/{id}", "method": "POST", "summary": "SQL query", "description": "Execute a SQL query against a dataset or data project.\n\nSQL results are available in a variety of formats. By default, `application/json` will be returned. Set\nthe `Accept` header to one of the following values in accordance with your preference:\n\n* `text/csv`\n* `application/json`\n* `application/json-l`\n* `application/x-ndjson`\n\nNew to SQL? Check out data.world's [SQL manual](https://docs.data.world/tutorials/dwsql/) .", "tags": [ "queries" ], "operationId": "sqlPostWithJsonRequest", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "dialect", "in": "query", "required": false, "description": "", "schema": { "type": "string", "default": "DW_SQL", "enum": [ "DW_SQL", "POSTGRESQL" ] } }, { "name": "diagnose", "in": "query", "required": false, "description": "", "schema": { "type": "boolean", "default": false } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SqlQueryRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": {}, "example": null } } }, { "path": "/sql/{owner}/{id}/describe", "method": "POST", "summary": "Describe a SQL query", "description": "This endpoint describes what columns will be included if the given SQL query is performed against the specified dataset.\nNew to SQL? Check out data.world's [SQL manual](https://docs.data.world/tutorials/dwsql/) .", "tags": [ "queries" ], "operationId": "sqlDescribe", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "dialect", "in": "query", "required": false, "description": "", "schema": { "type": "string", "default": "DW_SQL", "enum": [ "DW_SQL", "POSTGRESQL" ] } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SqlQueryRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": {}, "example": null } } }, { "path": "/streams/{owner}/{id}/{streamId}", "method": "POST", "summary": "Append record(s)", "description": "Append JSON data to a stream associated with a dataset.\n\ndata.world streams are append-only by default. Alternatively, if a primary key is specified (see:\n`POST:/streams/{owner}/{id}/{streamId}/schema`), data.world will replace records with the same primary\nkey value.\n\n**Streams don't need to be created before you can append data to them**. They will be created on-demand,\n when the first record is appended or by defining its schema.\n\nMultiple records can be appended at once by using JSON-L (`application/json-l`) as the request content type.\n\n**IMPORTANT**\n\nData uploaded to a dataset via a stream is not immediatelly processed. Instead, it is processed\nautomatically in accordance with the dataset settings (default: daily) or as a result of calling\n`POST:/datasets/{owner}/{id}/sync`.\n\nOnce processed, the contents of a stream will appear as part of the respective dataset as a `.jsonl`\nfile (e.g. `my-stream` will produce a file named `my-stream.jsonl`).\n", "tags": [ "streams" ], "operationId": "appendRecords", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "streamId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": {}, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": {}, "example": null } } }, { "path": "/streams/{owner}/{id}/{streamId}/records", "method": "DELETE", "summary": "Delete all records", "description": " Delete all records previously appended to stream.\n", "tags": [ "streams" ], "operationId": "deleteRecords", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "streamId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/streams/{owner}/{id}/{streamId}/schema", "method": "GET", "summary": "Retrieve stream schema", "description": "Retrieve stream schema.\n", "tags": [ "streams" ], "operationId": "getStreamSchema", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "streamId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/StreamSchema" }, "example": null } } }, { "path": "/streams/{owner}/{id}/{streamId}/schema", "method": "PATCH", "summary": "Set / Update stream schema", "description": "\"Set or update a stream's schema.\n\nThe schema of a stream defines its primary key(s) and sort/sequence field.\n\ndata.world streams are append-only by default. Alternatively, if a primary key is specified, data.world\nwill replace records with the same primary key value. data.world will sort records by sequence field\nvalue and will discard all but the last record appended for each given primary key value.\n\nThe `updateMethod` parameter specifies how data.world should handle existing records when schema is\nupdated. Currently, the only `updateMethod` supported is `TRUNCATED`. data.world will discard all\nrecords when the schema is updated.\"\n", "tags": [ "streams" ], "operationId": "patchStreamSchema", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "streamId", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/StreamSchemaPatchRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/telemetry/governanceBilling", "method": "GET", "summary": "Get governance billing query result", "description": "This endpoint executes query against ddw-catalogs to get data from governance billing.", "tags": [ "telemetry" ], "operationId": "governanceBilling", "parameters": [ { "name": "agentId", "in": "query", "required": false, "description": "", "schema": { "type": "string", "default": "datadotworldsupport" } }, { "name": "sampleData", "in": "query", "required": false, "description": "", "schema": { "type": "boolean", "default": false } }, { "name": "catalog", "in": "query", "required": false, "description": "", "schema": { "type": "string", "default": "main" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": {}, "example": null } } }, { "path": "/topics", "method": "POST", "summary": "Create a new topic", "description": "This API allows users to initiate a new topic for discussions and comments. To create a topic, the user must have access to the resource.", "tags": [ "topics and comments - resource" ], "operationId": "createTopic", "parameters": [], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicTopicDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicTopicDto" }, "example": null } } }, { "path": "/topics/comments/recent", "method": "GET", "summary": "Get recently updated comments", "description": "This API retrieves recently updated comments that are open and discoverable. Users can filter results by the owner's ID and specify the number of comments to fetch, with a limit of 100 and a default of 5.", "tags": [ "topics and comments - resource" ], "operationId": "getRecentComments", "parameters": [ { "name": "owner", "in": "query", "required": false, "description": "Optional parameter to reduce the result set by owner who created it", "schema": { "type": "string" } }, { "name": "size", "in": "query", "required": false, "description": "Optional parameter to return number of matched comments with limit of 100 and default size of 5", "schema": { "type": "integer", "format": "int32", "default": 5, "maximum": 100 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsPublicCommentDto" }, "example": null } } }, { "path": "/topics/hot", "method": "GET", "summary": "Get active topics", "description": "This API allows users to access trending topics determined by their level of activity. Users can specify the number of topics to retrieve per request, with a maximum limit of 1000 topics. If the number is not specified, it defaults to 10.", "tags": [ "topics and comments - resource" ], "operationId": "getHotTopics", "parameters": [ { "name": "size", "in": "query", "required": false, "description": "Optional parameter to return number of found hot topics with limit of 100 and default size of 5", "schema": { "type": "integer", "format": "int32", "default": 5, "maximum": 100 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsPublicTopicDto" }, "example": null } } }, { "path": "/topics/{owner}", "method": "GET", "summary": "Get topics for an owner and optional resource", "description": "Retrieve open and discoverable topics associated with a specific owner. If an optional resource is provided in the query parameter, this will retrieve topics for the resource that is owned by the owner. To reference a dataset insight, both `datasetId` and `insightUuid` should be provided. To reference a metadata resource, `iri` should be provided.\"\n", "tags": [ "topics and comments - resource" ], "operationId": "getTopicsByResource", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "datasetId", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "insightUuid", "in": "query", "required": false, "description": "The parameter requires datasetId to be provided.", "schema": { "type": "string" } }, { "name": "iri", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "size", "in": "query", "required": false, "description": "Size of page to fetch", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 1000 } }, { "name": "from", "in": "query", "required": false, "description": "Result number to start fetch from (not the page number to start from)", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "sort", "in": "query", "required": false, "description": "Sort results by fields", "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsPublicTopicDto" }, "example": null } } }, { "path": "/topics/{owner}/{topicUuid}", "method": "DELETE", "summary": "Delete an existing topic", "description": "This API allows users to remove a topic they have permission to access, specified by the owner's ID and the topic's UUID. This DELETE request ensures the topic is successfully deleted if access criteria are met.", "tags": [ "topics and comments - resource" ], "operationId": "deleteTopic", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "topicUuid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": {}, "example": null } } }, { "path": "/topics/{owner}/{topicUuid}", "method": "GET", "summary": "Get a topic", "description": "Access an individual topic using this API by providing the owner's identifier and the unique topic UUID. This API ensures user permissions are validated for visibility and access to the specified topic.", "tags": [ "topics and comments - resource" ], "operationId": "getTopic", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "topicUuid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicTopicDto" }, "example": null } } }, { "path": "/topics/{owner}/{topicUuid}", "method": "PUT", "summary": "Update an existing topic", "description": "This API enables users to modify details of a topic they have access to, identified by the owner's ID and the topic's UUID. This PUT request ensures that all changes comply with the required access permissions and topic visibility settings.", "tags": [ "topics and comments - resource" ], "operationId": "updateTopic", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "topicUuid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicTopicDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicTopicDto" }, "example": null } } }, { "path": "/topics/{owner}/{topicUuid}/comments", "method": "GET", "summary": "Get comments for a topic", "description": "This API allows users to retrieve comments for a specific topic they have access to, identified by the owner's ID and the topic's UUID. Users can control the number of comments returned, with options to sort and paginate results.", "tags": [ "topics and comments - resource" ], "operationId": "getCommentsByTopic", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "topicUuid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } }, { "name": "size", "in": "query", "required": false, "description": "Size of page to fetch", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 1000 } }, { "name": "from", "in": "query", "required": false, "description": "Result number to start fetch from (not the page number to start from)", "schema": { "type": "integer", "format": "int32", "default": 0 } }, { "name": "sort", "in": "query", "required": false, "description": "Sort results by fields", "schema": { "type": "array", "items": { "type": "string" } } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedGenericResultsPublicCommentDto" }, "example": null } } }, { "path": "/topics/{owner}/{topicUuid}/comments", "method": "POST", "summary": "Create a comment", "description": "This API enables users to add a comment to a specific topic, provided they have access permissions. This POST request requires the owner's ID and the topic's UUID, along with the comment content, to successfully create and store the comment.", "tags": [ "topics and comments - resource" ], "operationId": "createComment", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "topicUuid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicCommentDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicCommentDto" }, "example": null } } }, { "path": "/topics/{owner}/{topicUuid}/comments/{commentid}", "method": "DELETE", "summary": "Delete an existing comment", "description": "This API allows users to remove a comment from a topic, provided they have access rights. This DELETE request requires the owner's ID, topic's UUID, and the comment ID to successfully execute the deletion.", "tags": [ "topics and comments - resource" ], "operationId": "deleteComment", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "topicUuid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } }, { "name": "commentid", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": {}, "example": null } } }, { "path": "/topics/{owner}/{topicUuid}/comments/{commentid}", "method": "GET", "summary": "Get a comment", "description": "This API allows users to access a specific comment within a topic, provided they have the necessary access permissions. This GET request requires the owner's ID and the topic's UUID to retrieve the comment details.", "tags": [ "topics and comments - resource" ], "operationId": "getComment", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "topicUuid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } }, { "name": "commentid", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicCommentDto" }, "example": null } } }, { "path": "/topics/{owner}/{topicUuid}/comments/{commentid}", "method": "PUT", "summary": "Update an existing comment", "description": "This API allows users to modify the content of a comment within a topic, provided they have the necessary permissions. By using a PUT request with the owner's ID, topic's UUID, and comment ID, users can update the comment's details effectively.", "tags": [ "topics and comments - resource" ], "operationId": "updateComment", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "topicUuid", "in": "path", "required": true, "description": "", "schema": { "type": "string", "format": "uuid" } }, { "name": "commentid", "in": "path", "required": true, "description": "", "schema": { "type": "string" } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicCommentDto" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PublicCommentDto" }, "example": null } } }, { "path": "/uploads/{owner}/{id}/files", "method": "POST", "summary": "Upload files", "description": "\"Upload multiple files at once to a dataset.\n\nThis endpoint expects requests of type `multipart/form-data` and you can include one or more parts named\n`file`, each containing a different file to be uploaded.\n\nFor example, assuming that you want to upload two local files named `file1.csv` and `file2.csv` to a\nhypothetical dataset `https://data.world/awesome-user/awesome-dataset`, this is what the cURL command\nwould look like.\n\n```bash\ncurl \\\n -H \"Authorization: Bearer \" \\\n -F \"file=@file1.csv\" \\\n -F \"file=@file2.csv\" \\\n https://api.data.world/v0/uploads/awesome-user/awesome-dataset/files\n```\n\nSwagger clients may limit this method of upload to one file at a time. Other HTTP clients capable of\nmaking multipart/form-data requests can be used to upload multiple files in a single request.\"\n", "tags": [ "files" ], "operationId": "uploadFiles", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "expandArchives", "in": "query", "required": false, "description": "", "schema": { "type": "boolean", "default": false } } ], "requestBody": { "contentType": "multipart/form-data", "schema": { "type": "object", "properties": { "file": { "type": "string", "format": "binary", "description": "Multipart-encoded file contents" } }, "required": [ "file" ] }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/uploads/{owner}/{id}/files/{file}", "method": "PUT", "summary": "Upload a file", "description": "Upload one file at a time to a dataset.\n\nThis endpoint expects requests of type `application/octet-stream`.\n\nFor example, assuming that you want to upload a local file named `file1.csv` to a hypothetical dataset\n`https://data.world/awesome-user/awesome-dataset` and choose its name on data.world to be\n`better-name.csv`, this is what the cURL command would look like.\n\n```bash\ncurl \\\n -H \"Authorization: Bearer \" \\\n -X PUT -H \"Content-Type: application/octet-stream\" \\\n --data-binary @file1.csv \\\n https://api.data.world/v0/uploads/awesome-user/awesome-dataset/files/better-name.csv\n```\n\nThis method of upload is typically not supported by Swagger clients. Other HTTP clients can be used to\nsupply the contents of the file directly in the body of the request.\n", "tags": [ "files" ], "operationId": "uploadFile", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string" } }, { "name": "file", "in": "path", "required": true, "description": "Filename", "schema": { "type": "string", "maxLength": 128, "minLength": 1, "pattern": "^[^/]+$" } }, { "name": "expandArchive", "in": "query", "required": false, "description": "", "schema": { "type": "boolean", "default": false } } ], "requestBody": { "contentType": "*/*", "schema": { "type": "string", "format": "binary" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/user", "method": "GET", "summary": "Retrieve user data", "description": "Retrieve user profile information of the currently authenticated user.", "tags": [ "user" ], "operationId": "getUserData", "parameters": [], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/UserDataResponse" }, "example": null } } }, { "path": "/user/datasets/contributing", "method": "GET", "summary": "List datasets as contributor", "description": "List datasets that the currently authenticated user has access to because he or she is a contributor.", "tags": [ "user" ], "operationId": "fetchContributingDatasets", "parameters": [ { "name": "fields", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedDatasetResults" }, "example": null } } }, { "path": "/user/datasets/liked", "method": "GET", "summary": "List liked (bookmarked) datasets", "description": "List datasets that the currently authenticated user liked (bookmarked).", "tags": [ "user" ], "operationId": "fetchLikedDatasets", "parameters": [ { "name": "fields", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedDatasetResults" }, "example": null } } }, { "path": "/user/datasets/own", "method": "GET", "summary": "List datasets as owner", "description": "List datasets that the currently authenticated user has access to because he or she is the owner.", "tags": [ "user" ], "operationId": "fetchDatasets", "parameters": [ { "name": "fields", "in": "query", "required": false, "description": "", "schema": { "type": "string" } }, { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedDatasetResults" }, "example": null } } }, { "path": "/user/organizations", "method": "GET", "summary": "List organization memberships", "description": "List organizations that the currently authenticated user is a member of.", "tags": [ "user" ], "operationId": "fetchOrganizations", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedOrganizationResults" }, "example": null } } }, { "path": "/user/projects/contributing", "method": "GET", "summary": "List projects as contributor", "description": "List projects that the currently authenticated user has access to because he or she is a contributor.", "tags": [ "user" ], "operationId": "fetchContributingProjects", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedProjectResults" }, "example": null } } }, { "path": "/user/projects/liked", "method": "GET", "summary": "List liked (bookmarked) projects", "description": "List projects that the currently authenticated user liked (bookmarked).", "tags": [ "user" ], "operationId": "fetchLikedProjects", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedProjectResults" }, "example": null } } }, { "path": "/user/projects/own", "method": "GET", "summary": "List projects owned", "description": "List projects that the currently authenticated user has access to because he or she is the owner.", "tags": [ "user" ], "operationId": "fetchProjects", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedProjectResults" }, "example": null } } }, { "path": "/user/webhooks", "method": "GET", "summary": "List subscriptions", "description": "List webhook subscriptions associated with the currently authenticated user.", "tags": [ "webhooks" ], "operationId": "getWebhooks", "parameters": [ { "name": "limit", "in": "query", "required": false, "description": "Number of results to return", "schema": { "type": "integer", "format": "int32", "default": 10, "maximum": 100, "minimum": 1 } }, { "name": "next", "in": "query", "required": false, "description": "A token supplied by the previous response to retrieve the next page of results", "schema": { "type": "string" } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/PaginatedSubscriptionResults" }, "example": null } } }, { "path": "/user/webhooks/datasets/{owner}/{id}", "method": "DELETE", "summary": "Unsubscribe from dataset", "description": "Delete webhook subscription associated with the currently authenticated user and to a given dataset.", "tags": [ "webhooks" ], "operationId": "unsubscribeFromDataset", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/user/webhooks/datasets/{owner}/{id}", "method": "GET", "summary": "Retrieve dataset subscription", "description": "Retrieve webhook subscription associated with the currently authenticated user and to a given dataset.", "tags": [ "webhooks" ], "operationId": "getForDataset", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/Subscription" }, "example": null } } }, { "path": "/user/webhooks/datasets/{owner}/{id}", "method": "PUT", "summary": "Subscribe to dataset", "description": "Create webhook subscription associated with the currently authenticated user and to a given dataset.", "tags": [ "webhooks" ], "operationId": "subscribeToDataset", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SubscriptionCreateRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/user/webhooks/projects/{owner}/{id}", "method": "DELETE", "summary": "Unsubscribe from data project", "description": "Delete webhook subscription associated with the currently authenticated user and to a given project.", "tags": [ "webhooks" ], "operationId": "unsubscribeFromProject", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/user/webhooks/projects/{owner}/{id}", "method": "GET", "summary": "Retrieve data project subscription", "description": "Retrieve webhook subscription associated with the currently authenticated user and to a given project.", "tags": [ "webhooks" ], "operationId": "getForProject", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/Subscription" }, "example": null } } }, { "path": "/user/webhooks/projects/{owner}/{id}", "method": "PUT", "summary": "Subscribe to data project", "description": "Create webhook subscription associated with the currently authenticated user and to a given project.", "tags": [ "webhooks" ], "operationId": "subscribeToProject", "parameters": [ { "name": "owner", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } }, { "name": "id", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SubscriptionCreateRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/user/webhooks/users/{account}", "method": "DELETE", "summary": "Unsubscribe from account", "description": "Delete webhook subscription associated with the currently authenticated user and to a given user account.", "tags": [ "webhooks" ], "operationId": "unsubscribeFromUser", "parameters": [ { "name": "account", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/user/webhooks/users/{account}", "method": "GET", "summary": "Retrieve account subscription", "description": "Retrieve webhook subscription associated with the currently authenticated user and to a given user account.", "tags": [ "webhooks" ], "operationId": "getForUser", "parameters": [ { "name": "account", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/Subscription" }, "example": null } } }, { "path": "/user/webhooks/users/{account}", "method": "PUT", "summary": "Subscribe to account", "description": "Create webhook subscription associated with the currently authenticated user and to a given user account.", "tags": [ "webhooks" ], "operationId": "subscribeToUser", "parameters": [ { "name": "account", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": { "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SubscriptionCreateRequest" }, "example": null }, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/SuccessMessage" }, "example": null } } }, { "path": "/users/{account}", "method": "GET", "summary": "Retrieve a user's profile", "description": "Retrieve user profile information for the specified account.", "tags": [ "users" ], "operationId": "getAccount", "parameters": [ { "name": "account", "in": "path", "required": true, "description": "", "schema": { "type": "string", "minLength": 1 } } ], "requestBody": null, "responses": { "200": { "description": "default response", "contentType": "application/json", "schema": { "$ref": "#/components/schemas/UserDataResponse" }, "example": null } } } ] }