The DataGalaxy Developer API is updated frequently with new features, improvements and fixes. All these changes will be documented in this changelog. If you have any questions or need more information about these changes or our API in general, please feel free to open a support ticket.
DataGalaxy has introduced a new access control module (ACM) system for fine-grained user access to workspaces and objects.
/v2/users/authorizations operations have been replaced with a hierarchy of operations in the /v3/workspaces/{workspaceId}/access-control base path. Previous operations are marked as deprecated and will be removed in a future release. The new ACM system changes focus from user-based access to object and feature-based access.
Object rules map individual user and team access objects within a workspace:
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"displayName": "string",
"description": "string",
"accessLevel": "string",
"ruleScope": "string",
"isActive": true,
"userIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"teamIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"filters": [
{
"attributePath": "string",
"values": [
"string"
]
}
],
"createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
"createdOn": "2019-08-24T14:15:22Z",
"updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
"updatedOn": "2019-08-24T14:15:22Z"
}
Objects within a rule are defined by filters on their attribute path. These rules are available at the /v3/workspaces/{workspaceId}/access-control/object-rules path in the DataGalaxy API.
Feature rules model named role-like access to workspaces:
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"displayName": "string",
"description": "string",
"type": "workspaceAdmin",
"userIds": [
"497f6eca-6276-4993-bfeb-53cbbbba6f08"
],
"createdByUserId": "4d2aef9a-17b0-44e6-902e-616812033620",
"createdOn": "2019-08-24T14:15:22Z",
"updatedByUserId": "b38eaad7-8efa-49e7-b0aa-619916a3821e",
"updatedOn": "2019-08-24T14:15:22Z"
}
Currently, a "workspaceAdmin" feature is available to assign individuals' administrator access to all objects within a workspace. More feature rule types may be introduced in the future. These rules are available at the /v3/workspaces/{workspaceId}/access-control/feature-rules path in the DataGalaxy API.
Finally, ACM features include helper operations to determine the workspaces and objects a user has access to.
New ACM operations are described in more detail in the access control section of the documentation.
POST /v2/links/{versionId}/{fromId}, POST /v2/links/bulk/{versionId}, and POST /v2/links/bulktree/{versionId} operations now return an HTTP 400 response if the link type is invalid with an error message containing a list of valid link typesAppliesTo, Consumes, DiagramHasSource, Executes, HasForOutputPort, HasForUseCase, Impacts, IsConsumedBy, IsExecutedBy, IsImpactedBy, IsMonitoredBy, IsOutputPortFor, IsSourceForDiagram, IsSubjectTo, IsUseCaseFor, and Monitors link relationships to search and object operations.name and technicalName fields are required in the POST /v2/fields/bulk/{versionId}/{parentId} and PUT /v2/structures/bulk/{versionId}/{parentId} operations.POST /v2/dataProcessing/bulktree/{versionId} operationPOST /v2/search operation resultGET /v2/objects operation/v2/attributes/screens and /v2/tasks operationsGET /v2/objects/types operation to retrieve an object type's related and link-compatible types.dataTypeName values in /v2/attributes operations/v2/users/authorizations operationsPOST /v2/objects operation fails due to an invalid parent ID/v2/scim/Users operations are now formatted to the urn:ietf:params:scim:api:messages:2.0:Error schema as defined in RFC7644 ยง 3.12POST /v2/scim/Users operation are more specific when the input does not contain an emails field or a valid work email addressGET /v2/objects, GET /v2/objects/{objectId}, and DELETE /v2/objects/{objectId} operations to retrieve lists of objects, retrieve individual objects, and delete individual objects regardless of the object's type.parentId field in the request bodies of the PUT /v2/properties/{versionId}/{propertyId} and PUT /v2/usages/{versionId}/{usageId} operationsincludedAttributes input field in the POST /v2/search operation's documentationtechnicalName input field of the PUT /v2/fields/bulk operation is now marked as required in the API's specification and documentation. The operation's name input field is now marked as optional. This reflects the system's behavior.POST /v2/containers, POST /v2/dataProcessing, POST /v2/fields, POST /v2/properties,POST /v2/sources,POST /v2/structures, and POST /v2/usages now return the correct object ID when creating an object with the same name as an existing object in the workspaceexternalTags and qualityStatus entity attributes are now properly managed in get and set endpointsPOST /data-quality/rules/bulk: Create Data Quality rules in bulkPOST /data-quality/checks/bulk: Create Data Quality rule checks in bulkGET /v2/users/authorizations operation's results.authorizations.modules.authorization fields' valuesname, technicalName, or displayName contains a backslash.maxDepth parameter such as GET /v2/usages and GET /v2/dataProcessing retrieve more accurate results. If defined, then the maxDepth parameter must equal "0", otherwise the operation returns an HTTP 400 response.POST /v2/imports/{versionId}/{importGuid}/reconcile endpoint from the documentation as it was not destined for public useGET /v2/users/authorizations and the requested user does not have access to the requested workspace versionallTeams query string parameter to the GET /v2/teams operationGET /v2/credentials and GET /v2/credentials/regenerate operations. These calls are unnecessary for users who use DataGalaxy authentication version 2 and up.POST /v2/search with invalid filter schemaorganizations property in the GET /v2/workspaces call response now contains an empty list and will be removed in a future releaseinputs and outputs properties of the POST /v2/dataProcessing/bulktree/{versionId} operation's input are now requiredDataQualityReview task typePOST /v2/links/bulktree operationtype input enum values in /v2/dataprocessing operationsfirstConnectionDate and lastConnectionDate fields to user objects in the GET /v2/users?scope=admin
operation resultGET /v2/campaigns/{guid}/entities/version/{versionId}/no-access-datacreationTime body attribute to the POST /v2/data-quality/rules/{ruleId}/checks routeimportId attribute to the POST /v2/usages/dataProcessing/{versionId} routeimportId attribute to the POST /v2/usages/bulktree/{versionId} routeHTTP 400 Bad Request responses when updating user authorizationsGET /v2/users/authorizations operationHTTP 401 Unauthorized responses when working with data processing, user, and user licenses entitiescode attribute optional and editable on rulesfieldIds attribute to identify which fields affected by a ruleX-Powered-By response headerprofileImageUrl and profileThumbnailUrl on GET /users are now deprecated. Please use the Hypermedia link _links[@rel="profileImage"].href (whose value is GET /users/{userId}/profileImage)objectUrl is now deprecated. You should build the web URL from the versionId, dataType and id.parentId parameter on GET /dataProcessingItem/attributes/screens/structure/substructure and /attributes/screens/usage/usagecomponent routes/users/{userId}/profileImage route to get the profile image for a given userGET /{dataType}POST /objects/{versionId}/{workspaceId}:{workspaceId}Authorization ability to give the authorization of a private workspace to a userPOST /objects/{versionId}/{objectId}/watchDELETE /objects/{versionId}/{objectId}/watch/search documentation update to explain how to use attributePath for custom attributesGET /{dataType} with includedAttributes parameterValueList have now isActive fieldtechnologyCode is now available in history and link objectsTimeSeries value is now <date>::<value> for bulktree creation routeschildrenCount was always equal to 0./scim/users now affects a reader license on creation (if there is any license available in license pool)