Developer API - DataGalaxy (2.31.3)

Download OpenAPI specification:Download

License: DataGalaxy©

Overview

The DataGalaxy API gives you access to CRUD actions on your metamodel, users and licenses.

Our API is organized around REST. It accepts and returns JSON-encoded data, and uses standard HTTP response codes, verbs and authentication with access tokens.

To get the full picture of DataGalaxy, please feel free to consult our online documentation.
Have a look at our step-by-step guide for a quick start on how to use our API.

Response Status Codes

Status Code Description Notes
200 OK The request was successful
400 Bad Request Incoming request contains parameters that might not be valid
401 Unauthorized The supplied credentials, if any, are not sufficient to access the resource
404 Not Found The requested resource is not found
429 Too Many Requests Too many requests have been (Rate limiting)
500 Server Error The server could not return the representation due to an internal server error
501 Not Implemented The requested operation is not supported (e.g. supports GET but not POST etc.)

Rate Limits

The DataGalaxy API has 2 kinds of limitations: rate limiting and throttling.

Pro tip: You can track your rate limiting status with the response header X-RateLimit-Remaining. It will display how many requests you can send until the next reset.

Method Rate Note
Rate limiting 28800 requests / hour When exceeded, your IP will be blocked for 15 minutes.
Throttling 8 requests / second When exceeded, each request will be delayed by 500ms.
Payload size 100 MB When exceeded, request will be rejected.

Query parameters

Boolean query parameters only accept the values true and false.

Pagination

All routes returning lists share the same pagination format. These routes take two optional parameters as query strings: limit and page.

QueryString Definition
limit Integer ranging from 1 to 5000. It sets the maximum amount of objects per page. Default value is 20.
page Integer starting at 1. It determines the page returned by the request. Default value is 1.

The response payload contains 5 properties:

Property Definition
pages Total number of pages.
total Number of objects returned.
total_sum Sum of all existing objects.
next_page URL of the next page. Value will be null if there is none.
results List of objects.

Authentication

The DataGalaxy API uses Bearer authentication to authenticate requests. Every request must contain an Authorization header with either a PAT (Personal Access Token) or an integration token.

💡 Tip A Personal Access Token (PAT) can be generated from the "Security" tab on your user profile. Similarly, an integration token can be generated from the "Integration" page on the DataGalaxy Administration space.

Here is a quick example on how to use a Bearer authentication using CURL:

curl -X GET "https://api.datagalaxy.com/v2/workspaces" -H "Authorization: Bearer token"

The first steps of our quick start guide will give you instructions to obtain an integration token.

ℹ️ Note The DataGalaxy API will transparently generate an access token from your Personal Access Token (PAT) or your integration token. If you have obtained an access token by manually calling the deprecated /credentials endpoint, you can also use it as a bearer token. However, it is recommended to no longer generate an access token manually but to use your Personal Access Token or integration token directly.

Personal Access Token claims reference

Name Description
pubapi URL of the DataGalaxy API.
For instance: https://demo.api.datagalaxy.com/v2.
🗑 Deprecated: will be removed in the future.
cid Client UUID
uid User UUID
given_name User given name
family_name User family name
email User email.
sub Subject associated with the token (user email)
x ??
iat Timestamp that indicates the time at which the token was issued
exp Timestamp that indicates the time at which the token will be expired

Integration token claims reference

Name Description
api URL of the internal API without the /api path prefix.
For instance: https://demo.datagalaxy.com/.
🗑 Deprecated will be removed in the future.
cid Client UUID
uid User UUID
data ??
x ??
iat Timestamp that indicates the time at which the token was issued
exp Timestamp that indicates the time at which the token will be expired

Access token claims reference

ℹ️ Note You should not manipulate access tokens directly but use personal access tokens or integration tokens instead.
Name Description
api URL of the internal API without the /api path prefix.
For instance: https://demo.datagalaxy.com/.
🗑 Deprecated will be removed in the future.
pubapi URL of the DataGalaxy API.
For instance: https://demo.api.datagalaxy.com/v2.
🗑 Deprecated will be removed in the future.
sid Session UUID
cid Client UUID
cname Client name
uid User UUID
email User email
iat Timestamp that indicates the time at which the token was issued
exp Timestamp that indicates the time at which the token will be expired

Changelog

The DataGalaxy Developer API is updated frequently with new features, improvements and fixes.

All these changes will be documented in our .

Documentation layout

We provide two API documentation layouts:

  • Default layout
    This layout displays information in a modern way and contains more information about requests parameters
  • Swagger layout
    This is our legacy layout. It's main perk is the "Try it" feature which lets you send requests directly from the documentation.

Authentication

Generate your access token.

Generate an access token. Deprecated

🗑 Deprecated It's recommended to use your PAT (Personal Access Token) or integration token directly.

This call is unnecessary for users that use DataGalaxy authentication version 2 and up. If the calling user uses DataGalaxy authentication version 2 or greater, then this operation does not generate anything but returns the token used to authenticate the call.

Authorization header must contain a bearer token formatted as follows: Bearer <token>.
This route must be called with a Personal Access Token or an integration token as bearer token. The integration token can be generated from the "Integration" page of the "DataGalaxy Administration menu".

The access token returned by /credentials shall be used as a bearer token in the authorization header of the requests you make to the API.
The access token expires after 2 hours and can be regenerated by making another request to /credentials with your IntegrationToken as bearer token.

Authorizations:
Integration tokenPersonal Access Token

Responses

Response samples

Content type
application/json
{
  • "accessToken": "string"
}

Renew an integration token. Deprecated

🗑 Deprecated It's recommended to use your PAT (Personal Access Token) or integration token directly.

This call is unnecessary for users that use DataGalaxy authentication version 2 and up.

An integration token can be regenerated.

Authorizations:
Integration tokenPersonal Access Token
query Parameters
integrationToken
required
string

Responses

Response samples

Content type
application/json
{
  • "integrationToken": "string"
}

Workspaces

Retrieve your workspaces or projects. If you need more detail, please consult our DataGalaxy's main concepts.

List all workspaces.

Provide a name to find a specific workspace.
If no query string is provided, then a list of all workspaces will be returned.

🗑 Deprecated The organizations property in the response is deprecated. It returns an empty list and will be removed in a future release.
Authorizations:
Personal Access TokenIntegration token
query Parameters
name
string

Responses

Response samples

Content type
application/json
{
  • "organizations": [
    ],
  • "projects": [
    ]
}

Lists the versions of a workspace.

Return the list of versions available in the specified workspace.

Authorizations:
Personal Access TokenIntegration token
path Parameters
workspaceId
required
string (DoubleUuid)
Example: 2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

Composed of 2 colon-separated stringified UUIDv4. Represents a Workspace or an Entity in DataGalaxy's context.

query Parameters
limit
number <double>
Default: 20
page
number <double>
Default: 1

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "total": null,
  • "pages": 0.1,
  • "total_sum": 0.1,
  • "next_page": "string"
}

Bulk create links using Paths

This route creates multiple links between entities.
A link is defined with the following type of object:


{
  fromPath: "\\foo\\bar",
  fromType: "\\NoSql\\Table",
  linkType: "Implements",
  toPath: "\\myLittleDimension",
  toType: "\\Dimension"
}
Authorizations:
Personal Access TokenIntegration token
path Parameters
versionId
required
string (VersionId)
Example: c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

This id determines the scope of the request.
versionId relates to a workspace's version.
It can be found in the GET /workspaces and GET /workspaces/{workspaceId}/versions endpoint's response.

Request Body schema: application/json
required
Array
fromPath
required
string
fromType
required
string
linkType
required
string
toPath
required
string
toType
required
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "total": 0.1,
  • "created": 0.1,
  • "updated": 0.1,
  • "deleted": 0.1,
  • "unchanged": 0.1
}

Technologies

GetTechnologies

Use this endpoint in order to fetch Technologies, their associated modules, their description, images and metadatas related to creation, modification and usage.
Read our article on technologies for more informations.

Authorizations:
Personal Access TokenIntegration token

Responses

Response samples

Content type
application/json
{
  • "total": 0.1,
  • "technologies": [
    ]
}

CreateTechonogy

Add a custom technology to DataGalaxy using this endpoint.

Adding technologies to DataGalaxy objects

Technologies can then be added to an object details using the technologyCode property in a creation or update request payload.
Example:


POST /sources/bulktree/{versionId}
{
  "name": "foo",
  "type": "Relational",
  "technologyCode": "azuresql",
  "children": [ ... ]
}

Read our article on technologies for more informations.

Authorizations:
Personal Access TokenIntegration token
Request Body schema: application/json
required
technologyCode
required
string

The technologyCode is the technology's identifier

displayName
required
string
description
required
string
modules
required
Array of strings (TechnologyModule)
Items Enum: "Catalog" "Processing" "Usage"

Responses

Request samples

Content type
application/json
{
  • "technologyCode": "string",
  • "displayName": "string",
  • "description": "string",
  • "modules": [
    ]
}

Response samples

Content type
application/json
{
  • "displayName": "Amazon Athena",
  • "technologyCode": "amazonathena",
  • "modules": [
    ],
  • "description": "Amazon Athena is a cloud based querying service for Amazon S3 data storage",
  • "imageHash": "d0lVskDXmqiczixAdKvHAmYvwoJsULxfqGty8oNihsw=",
  • "thumbnailHash": "ssinU3x37+CrgvmHxUlrgh1WH12M1421sxnWlF/CfFM=",
  • "svgImageHash": "yD/wnssKw4lylm3UtGN5F9pqj8zC/mlo6NnNRrR5VWI=",
  • "creationTime": "2022-02-07T20:59:42.577+00:00",
  • "creationUserId": "ade92d04-294e-4bff-9dfa-5ea2f5419426",
  • "lastModificationTime": "2022-02-07T20:59:42.577+00:00",
  • "lastModificationUserId": "ade92d04-294e-4bff-9dfa-5ea2f5419426",
  • "lastUsageTime": "2022-02-07T20:59:42.577+00:00",
  • "lastUsageUserId": "ade92d04-294e-4bff-9dfa-5ea2f5419426"
}

UpdateTechnology

Update a technology's displayName, description and associated modules using this endpoint.
Read our article on technologies for more informations.

Authorizations:
Personal Access TokenIntegration token
path Parameters
technologyCode
required
string
Request Body schema: application/json
required
displayName
string
description
string
modules
Array of strings (TechnologyModule)
Items Enum: "Catalog" "Processing" "Usage"

Responses

Request samples

Content type
application/json
{
  • "displayName": "string",
  • "description": "string",
  • "modules": [
    ]
}

Response samples

Content type
application/json
{
  • "displayName": "Amazon Athena",
  • "technologyCode": "amazonathena",
  • "modules": [
    ],
  • "description": "Amazon Athena is a cloud based querying service for Amazon S3 data storage",
  • "imageHash": "d0lVskDXmqiczixAdKvHAmYvwoJsULxfqGty8oNihsw=",
  • "thumbnailHash": "ssinU3x37+CrgvmHxUlrgh1WH12M1421sxnWlF/CfFM=",
  • "svgImageHash": "yD/wnssKw4lylm3UtGN5F9pqj8zC/mlo6NnNRrR5VWI=",
  • "creationTime": "2022-02-07T20:59:42.577+00:00",
  • "creationUserId": "ade92d04-294e-4bff-9dfa-5ea2f5419426",
  • "lastModificationTime": "2022-02-07T20:59:42.577+00:00",
  • "lastModificationUserId": "ade92d04-294e-4bff-9dfa-5ea2f5419426",
  • "lastUsageTime": "2022-02-07T20:59:42.577+00:00",
  • "lastUsageUserId": "ade92d04-294e-4bff-9dfa-5ea2f5419426"
}

DeleteTechnology

Delete a technology.
Read our article on technologies for more informations.

Authorizations:
Personal Access TokenIntegration token
path Parameters
technologyCode
required
string

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Search

Search DataGalaxy objects

Search DataGalaxy objects with queries and filters

Exact Matches

An exact match occure when your query perfectly matches an object's text attribute value.

Exact match requirements

Attributes have to be indexed for exact match.

Finding exact matches in the search result

Exact matches can be determined using the isExactMatch boolean (result.entities[n].isExactMatch).
Each search result returned carries this flag.

Filters

Filters help you refine your search. They are applied to objects attributes' values.

Different attribute types support different search operators:
Attribute type Compatible filter operators
Text, FormattedText, MultiLineText, HtmlLink contains, equals, startsWith, endsWith, isEmpty, isNotEmpty
Boolean equals
Number, TimeSeriesLastEntry equals, greaterThan, lowerThan, greaterOrEqualTo, lowerOrEqualTo, range, isEmpty, isNotEmpty
Date, DateTime range, pastHour, today, yesterday, currentWeek, pastWeek, beforeCurrentWeek, beforePastWeek, currentMonth, pastMonth, beforeCurrentMonth, beforePastMonth, beforeToday, currentYear, last365days, isEmpty, isNotEmpty
ValueList contains, excludes, equals
Reference contains, equals, isEmpty, isNotEmpty
ReferenceList, ClientTag, MultiValueList, Hierarchy, PersonReference, UserReference, StewardUserReference, EntityReference, ObjectLink, AllLinkedData, UserGuid, ManagedTag contains, isEmpty, isNotEmpty, matchAll, excludes
Technology contains, excludes
Authorizations:
Personal Access TokenIntegration token
Request Body schema: application/json
required
query
string (SearchQuery)

This term will be searched in the following attributes of an object: name, technicalName, description, summary and local synonym names

versionId
string

Version to search in.
If versionId is not provided, the search scope will be extended to all the workspaces you have access to.

limit
any
Default: 50

Maximum number of objects returned

includedAttributes
Array of strings

List of attributes, identified by their attributeKey or attributePath, to be returned in the search result In case of an attribute linked to a dataType or is custom, attributePath should be used

includeAccessData
boolean

If set to true, returns access rights the current token has on each item

Array of objects (SearchFilter)

Use filters to refines your search result

saveSearchPayload
any
Default: false

If set to true, the search payload will be saved in the queries history.
Request the GET /history/search/queries to retrieve it.

Responses

Request samples

Content type
application/json
{
  • "query": "string",
  • "versionId": "string",
  • "limit": 50,
  • "includedAttributes": [
    ],
  • "includeAccessData": true,
  • "filters": [
    ],
  • "saveSearchPayload": false
}

Response samples

Content type
application/json
{
  • "total": 0.1,
  • "total_sum": 0.1,
  • "result": {
    },
  • "quickFilters": [
    ]
}

History

Return saved search queries

The queries history feature helps you retrieve search payloads you previously requested either with the POST /search endpoint or via the DataGalaxy web application.
This history is saved manually. If you want to add an entry to it, set the saveSearchPayload property to true in your POST /search request payload.

Authorizations:
Personal Access TokenIntegration token
query Parameters
limit
number <double>
Default: 20

Responses

Response samples

Content type
application/json
{
  • "total": 0.1,
  • "history": [
    ]
}

Return recently accessed objects

The object history feature keeps a record of your recently accessed objects.

Each entry of the object history contains the object’s main information, including properties to help retrieve it such as location (which is a prebuild API endpoint’s path to the object’s details).

New objects are automatically added to the history when you fetch an object's details using the GET /{dataType}/{versionId}/{objectId} (e.g.: GET /properties/{versionId}/{objectId}).

ℹ️ Note It's recommended to use your PAT (Personal Access Token) in order to get objects that you've recently accessed.
If you are using an Integration token, you will get objects recently accessed by the user associated with that integration token.
Authorizations:
Personal Access TokenIntegration token
query Parameters
limit
number <double>
Default: 20

Responses

Response samples

Content type
application/json
{
  • "total": 0.1,
  • "history": [
    ]
}

Image

Fetch an image

Fetch the image associated to the hash given in parameters.
The Content-Type can be image/png, image/jpeg or image/svg

query Parameters
hash
required
string

Image hash to get. Must be URL-encoded.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Upload an image

Upload an image to DataGalaxy and associate it to a resource using the category property.
The maximum supported size of uploaded images is 1MB.

Supported resources are the following:

  • workspaceIcon update a Workspace Icon. It can then be fetched using the GET /workspaces endpoint.
  • technologyIcon update a Technology Icon. It can then be fetched using the GET /technologies endpoint.
Request Body schema: multipart/form-data
required
image
required
string <binary>

Image's binary data.
Supported MIME types: image/png, image/jpeg, image/jpg

category
required
string
Enum: "clientSpaceImage" "workspaceImage" "workspaceIcon" "searchImage" "technologyIcon"

Determines the ressource to associate the image to.

workspaceId
string

If category is set to workspaceImage or workspaceIcon, this parameter is mandatory and will bind the image to the target workspace

technologyCode
string

If category is set to technologyIcon, this parameter is mandatory and will bind the image to the target technology

Responses

Response samples

Content type
application/json
{
  • "imageHash": "akrLmrLdEgjMrpULdrsgP0upBUxdbIhujQlKmotHlrQ="
}

Objects

Update attributes of any object type

Edit an object.

Modifies one or more attributes of the specified object.

Authorizations:
Personal Access TokenIntegration token
path Parameters
versionId
required
string (VersionId)
Example: c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

This id determines the scope of the request.
versionId relates to a workspace's version.
It can be found in the GET /workspaces and GET /workspaces/{workspaceId}/versions endpoint's response.

objectId
required
string (DoubleUuid)
Example: 2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

Composed of 2 colon-separated stringified UUIDv4. Represents a Workspace or an Entity in DataGalaxy's context.

Request Body schema: application/json
required
owners
Array of strings (Email)
stewards
Array of strings (Email)
tags
Array of strings
description
string
summary
string
name
string
technicalName
string
status
string (EntityLifecycleStatusEnum)
Enum: "Proposed" "InRevision" "Validated" "InValidation" "Obsolete"
additional property
boolean or number or string or Array of strings or Array of Email (strings) or HyperLink (object) or DataTypePrecisionSize (object) or FormattedText (object) or TimeSeriesEntry (object) (CustomAttributeValue)

Additional custom attribute. This property's type depends on the attribute's format.

Responses

Request samples

Content type
application/json
{
  • "owners": [
    ],
  • "stewards": [
    ],
  • "tags": [
    ],
  • "description": "string",
  • "summary": "string",
  • "name": "string",
  • "technicalName": "string",
  • "status": "Proposed",
  • "property1": true,
  • "property2": true
}

Response samples

Content type
application/json
{
  • "id": "2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2",
  • "location": "string"
}

Create an object.

Create an object with the specified attributes.

Authorizations:
Personal Access TokenIntegration token
path Parameters
versionId
required
string (VersionId)
Example: c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

This id determines the scope of the request.
versionId relates to a workspace's version.
It can be found in the GET /workspaces and GET /workspaces/{workspaceId}/versions endpoint's response.

parentId
required
string (DoubleUuid)
Example: 2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

Composed of 2 colon-separated stringified UUIDv4. Represents a Workspace or an Entity in DataGalaxy's context.

Request Body schema: application/json
required
owners
Array of strings (Email)
stewards
Array of strings (Email)
tags
Array of strings
description
string
summary
string
name
string
technicalName
string
status
string (EntityLifecycleStatusEnum)
Enum: "Proposed" "InRevision" "Validated" "InValidation" "Obsolete"
type
required
string (EntityType)
Enum: "None" "All" "BusinessTerm" "Concept" "IndicatorGroup" "Indicator" "ReferenceData" "DataFlow" "DataProcessing" "Use" "DataSet" "OpenDataSet" "Process" "Report" "Algorithm" "Application" "Screen" "Dashboard" "Feature" "Table" "Column" "NonRelationalModel" "RelationalModel" "Dimension" "DimensionGroup" "File" "Field" "NoSqlModel" "Document" "BusinessDomain" "BusinessDomainGroup" "Universe" "Model" "Directory" "Equipment" "SubStructure" "TagBase" "Tag" "View" "DataProcessingItem" "ReferenceDataValue" "UsageField" "PrimaryKey" "ForeignKey" "Diagram" "DiagramNode" "FilteredView" "Project" "Organization" "UsageComponent" "FreeDiagram" "PhysicalDiagram"

Responses

Request samples

Content type
application/json
{
  • "owners": [
    ],
  • "stewards": [
    ],
  • "tags": [
    ],
  • "description": "string",
  • "summary": "string",
  • "name": "string",
  • "technicalName": "string",
  • "status": "Proposed",
  • "type": "None"
}

Response samples

Content type
application/json
{
  • "id": "2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2",
  • "location": "string"
}

Subscribe to notifications of an object.

Subscribe to notifications of the specified object.

Authorizations:
Personal Access TokenIntegration token
path Parameters
versionId
required
string (VersionId)
Example: c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

This id determines the scope of the request.
versionId relates to a workspace's version.
It can be found in the GET /workspaces and GET /workspaces/{workspaceId}/versions endpoint's response.

objectId
required
string (DoubleUuid)
Example: 2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

Composed of 2 colon-separated stringified UUIDv4. Represents a Workspace or an Entity in DataGalaxy's context.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Unsubscribe to notifications of an object.

Unsubscribe to notifications of the specified object.

Authorizations:
Personal Access TokenIntegration token
path Parameters
versionId
required
string (VersionId)
Example: c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

This id determines the scope of the request.
versionId relates to a workspace's version.
It can be found in the GET /workspaces and GET /workspaces/{workspaceId}/versions endpoint's response.

objectId
required
string (DoubleUuid)
Example: 2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

Composed of 2 colon-separated stringified UUIDv4. Represents a Workspace or an Entity in DataGalaxy's context.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get an object from its URN

Gets an object from its URN.
It returns a 404 if the object does not exist. It returns a 400 if the URN is invalid.

path Parameters
versionId
required
string <guid>
urn
required
string

Responses

Response samples

Content type
application/json
{
  • "object": {
    }
}

Update an object from its URN

Updates an object from its URN.
It returns a 404 if the object does not exist. It returns a 400 if the URN is invalid.

path Parameters
versionId
required
string <guid>
urn
required
string
Request Body schema: application/json
required
name
string

Object name

technicalName
string

Object technical name

description
string

Description

summary
string

Summary

additional property
number or string or Array of arrays or object or boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "technicalName": "string",
  • "description": "string",
  • "summary": "string",
  • "property1": 0,
  • "property2": 0
}

Response samples

Content type
application/json
{
  • "object": {
    }
}

Delete an object from its URN

Deletes an object from its URN.
It returns a 404 if the object does not exist. It returns a 400 if the URN is invalid.

path Parameters
versionId
required
string <guid>
urn
required
string

Responses

Response samples

Content type
application/json
{
  • "object": {
    }
}

Create an object from its URN

Creates an object from its URN.
It returns a 400 if the URN is invalid.

path Parameters
versionId
required
string <guid>
Request Body schema: application/json
required
urn
required
string

Object URN (Uniform Resource Name)

name
string

Object name

technicalName
string

Object technical name

description
string

Description

summary
string

Summary

additional property
number or string or Array of arrays or object or boolean

Responses

Request samples

Content type
application/json

Create a Snowflake view.

{
  • "urn": "urn:snowflake-1:myaccount.eu-central-1:mydb:myschema:myview@view",
  • "query": "SELECT * FROM mytable",
  • "summary": "This is an example of a view created with its URN"
}

Response samples

Content type
application/json

Snowflake view successfully created.

{
  • "object": {
    }
}

Campaigns

Get Campaigns

Gets the campaigns of the specified space

path Parameters
spaceGuid
required
string <guid>
versionId
required
string

Responses

Response samples

Content type
application/json
{
  • "campaigns": [
    ]
}

Get Object Campaigns

Gets the campaigns using the specified object

path Parameters
required
object (ReferenceId)
versionId
required
string

Responses

Response samples

Content type
application/json
{
  • "campaigns": [
    ]
}

Create Campaign

Creates a new campaign

Request Body schema: application/json
required
workflowGuid
string <guid>
name
string or null
description
string or null
ownerGuid
string <guid>
spaceGuid
string <guid>
referenceIds
Array of strings or null
versionId
string or null

Responses

Request samples

Content type
application/json
{
  • "workflowGuid": "string",
  • "name": "string",
  • "description": "string",
  • "ownerGuid": "string",
  • "spaceGuid": "string",
  • "referenceIds": [
    ],
  • "versionId": "string"
}

Response samples

Content type
application/json
{
  • "guid": "string"
}

Check Campaign Name Usage

Checks if the campaign name is available

path Parameters
spaceGuid
required
string <guid>
name
required
string

Responses

Response samples

Content type
application/json
{
  • "isCampaignNameUsed": true
}

Get Campaign

Gets the specified campaign

path Parameters
guid
required
string <guid>

Responses

Response samples

Content type
application/json
{
  • "campaign": {
    }
}

Delete Campaign

Deletes the specified campaign

path Parameters
guid
required
string <guid>

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "extensions": {
    },
  • "property1": null,
  • "property2": null
}

Update Campaign

Updates the specified campaign

path Parameters
guid
required
string <guid>
Request Body schema: application/json
required
guid
string <guid>
name
string or null
description
string or null
ownerGuid
string <guid>

Responses

Request samples

Content type
application/json
{
  • "guid": "string",
  • "name": "string",
  • "description": "string",
  • "ownerGuid": "string"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "extensions": {
    },
  • "property1": null,
  • "property2": null
}

Add Campaign Entities

Adds one or multiple entities to the specified campaign

path Parameters
guid
required
string <guid>
versionId
required
string
Request Body schema: application/json
required
guid
string <guid>
versionId
string or null
referenceIds
Array of strings or null

Responses

Request samples

Content type
application/json
{
  • "guid": "string",
  • "versionId": "string",
  • "referenceIds": [
    ]
}

Response samples

Content type
application/json
{
  • "campaign": {
    }
}

Get Campaign Events

Gets the events for the specified campaign

path Parameters
guid
required
string <guid>

Responses

Response samples

Content type
application/json
{
  • "campaignEvents": [
    ]
}

Remove Campaign Entities

Removes one or multiple entities from the specified compaign

path Parameters
guid
required
string <guid>
Request Body schema: application/json
required
guid
string <guid>
referenceIds
Array of strings or null

Responses

Request samples

Content type
application/json
{
  • "guid": "string",
  • "referenceIds": [
    ]
}

Response samples

Content type
application/json
{
  • "campaign": {
    }
}

Set Phase

Sets the current phase of the specified campaign

path Parameters
guid
required
string <guid>
phaseGuid
required
string <guid>

Responses

Response samples

Content type
application/json
{
  • "campaign": {
    }
}

Get Campaign NoAccess Objects

Returns all Campaign objects that not accessible by current user

path Parameters
guid
required
string <guid>
versionId
required
string

Responses

Response samples

Content type
application/json
{
  • "entities": [
    ]
}

Workflows

Get Workflows

Gets the workflows of the specified space

path Parameters
spaceGuid
required
string <guid>

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Workflow

Creates a new workflow

Request Body schema: application/json
required
name
string or null
description
string or null
attributePath
string or null
Array of objects or null (WorkflowPhaseDto)
spaceGuid
string <guid>

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "attributePath": "string",
  • "phases": [
    ],
  • "spaceGuid": "string"
}

Response samples

Content type
application/json
{
  • "guid": "string"
}

Update Workflow

Updates the spedified workflow

path Parameters
workflowGuid
required
string <guid>
Request Body schema: application/json
required
name
string or null
description
string or null
attributePath
string or null
Array of objects or null (WorkflowPhaseDto)

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "description": "string",
  • "attributePath": "string",
  • "phases": [
    ]
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "extensions": {
    },
  • "property1": null,
  • "property2": null
}

Delete Workflow

Deletes the specified workflow

path Parameters
workflowGuid
required
string <guid>

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "extensions": {
    },
  • "property1": null,
  • "property2": null
}

Data Quality

Allows to define business rules which characterize the data quality level. Depending on the uses and business constraints, these rules may cover several aspects of the data, such as its integrity, freshness, or completeness.

Checks can be created on these rules to frequently report the status of the data quality.

Get Rules

Gets a list of data quality rules using query parameters as filters.
Use cases:

  • List all data quality rules for a given workspace: ?workspaceId={workspaceId}
  • List all data quality rules for a given entity: ?entityId={entityId}. You can also use the path and type path: ?entityPath={entityPath}&entityTypePath={entityTypePath}&versionId={versionId}.
  • Get the data quality rule for a given code (unique for a given workspace): ?code={code}&workspaceId={workspaceId}

It returns at most 1000 results.
query Parameters
entityId
string or null

Entity unique identifier (composed of the workspace UUID and the object UUID separated by a colon). Example: bd95bbbf-16f8-4618-ab47-4ee835563304:52e35910-c3d0-45ce-b330-a9db28e5dc73

entityPath
string or null

Entity path using backslash (\) as a separator. Example: \Zoho\CRM\Client. Please note that \ must be escaped in JSON string (i.e., "\\Zoho\\CRM\\Client")

entityTypePath
string or null

Entity type path using backslash (\) as a separator. Example: \Relational\Model\Table. Please note that \ must be escaped in JSON string (i.e., "\\Relational\\Model\\Table")

versionId
string or null

Workspace version unique identifier. Example: 22b5dc8c-8a19-48fa-99e3-a3da9bfe0068

workspaceId
string or null

Workspace unique identifier. Example: 4765f58d-4cb0-4700-8fe3-d4ddee360391

code
string or null

External identifier of the rule. Example: 123_client_code_unique

Responses

Response samples

Content type
application/json
{
  • "rules": [
    ]
}

Create Rule

Creates a new data quality rule on a given entity.
You must either provide a versionId, entityPath and entityTypePath, or an entityId.

Request Body schema: application/json
required
statement
string

Statement of the rule in natural language. Example: Client code must be unique

code
string or null

External identifier of the rule (must be unique in a workspace). Example: 123_client_code_unique

versionId
string or null <guid>

Workspace version unique identifier. Example: 22b5dc8c-8a19-48fa-99e3-a3da9bfe0068

entityId
string or null

Entity unique identifier (composed of the workspace UUID and the object UUID separated by a colon). Example: bd95bbbf-16f8-4618-ab47-4ee835563304:52e35910-c3d0-45ce-b330-a9db28e5dc73

(RuleTypeEnum (string or null))

Rule type. Must be one of the seven dimensions of data quality assessment: completeness, accuracy, consistency, validity, uniqueness, integrity or timeliness

entityPath
string or null

Entity path using backslash (\) as a separator. Example: \Zoho\CRM\Client. Please note that \ must be escaped in JSON string (i.e., "\\Zoho\\CRM\\Client")

entityTypePath
string or null

Entity type path using backslash (\) as a separator. Example: \Relational\Model\Table. Please note that \ must be escaped in JSON string (i.e., "\\Relational\\Model\\Table")

fieldIds
Array of strings or null
(SeverityEnum (string or null))
category
string or null
description
string or null
externalUrl
string or null

Responses

Request samples

Content type
application/json
{
  • "statement": "Client code must be unique",
  • "code": "client_code_unique",
  • "type": "uniqueness",
  • "versionId": "4aeae8a9-0c0d-4fa9-a8af-cb529bb64fa2",
  • "entityPath": "\\Zoho\\CRM\\Client",
  • "entityTypePath": "\\Relational\\Model\\Table"
}

Response samples

Content type
application/json
{
  • "ruleId": "string"
}

Get Rule

Gets the specified data quality rule.
It returns at most the latest 1000 checks for the data quality rule.

path Parameters
ruleId
required
string <guid>

Unique rule identifier. Example: ec64748c-059e-4a6a-a9db-5f9e634a2da8

Responses

Response samples

Content type
application/json
{
  • "id": "ec64748c-059e-4a6a-a9db-5f9e634a2da8",
  • "statement": "Invoice must include reference",
  • "code": "invoice_missing_reference",
  • "type": "completeness",
  • "entityId": "bd95bbbf-16f8-4618-ab47-4ee835563304:52e35910-c3d0-45ce-b330-a9db28e5dc73",
  • "clientId": "738b9d4d-3fa5-46dd-bc9f-1c76a45a6b60",
  • "creationTime": "2024-02-13T10:11:12.13Z",
  • "userId": "00776c0e-cd9e-439f-81dd-7f58e8105aaa",
  • "fieldIds": [
    ],
  • "lastChecks": [
    ]
}

Updates a rule.

Updates the code and/or statement and/or the type and/or the fieldIds on the specified data quality rule. Other fields cannot be updated.
If code is:
- provided with an non null and non empty string value, then the code of the rule will be updated to this value. Example: { "code": "newCode" }
- provided with a null or empty string value, then the code of the rule will be reset to null. Example: { "code": null }
- not provided, then the code of the rule will not be updated. Example: { }

path Parameters
ruleId
required
string <guid>

Unique rule identifier. Example: ec64748c-059e-4a6a-a9db-5f9e634a2da8

Request Body schema: application/json
required

UpdateRuleParameter

(RuleTypeEnum (string or null))
(SeverityEnum (string or null))
code
string or null
statement
string or null
fieldIds
Array of strings or null
category
string or null
description
string or null
externalUrl
string or null

Responses

Request samples

Content type
application/json
{
  • "type": "Completeness",
  • "severity": "Low",
  • "code": "string",
  • "statement": "string",
  • "fieldIds": [
    ],
  • "category": "string",
  • "description": "string",
  • "externalUrl": "string"
}

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "extensions": {
    },
  • "property1": null,
  • "property2": null
}

Delete Rule

Deletes the specified data quality rule.

path Parameters
ruleId
required
string <guid>

Unique rule identifier. Example: ec64748c-059e-4a6a-a9db-5f9e634a2da8

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "extensions": {
    },
  • "property1": null,
  • "property2": null
}

Get Rule Checks

Gets the rule checks for the specified data quality rule.
It returns at most the latest 1000 checks.

path Parameters
ruleId
required
string <guid>

Unique rule identifier. Example: ec64748c-059e-4a6a-a9db-5f9e634a2da8

Responses

Response samples

Content type
application/json
{
  • "checks": [
    ]
}

Create Rule Checks

Creates a new rule check for the specified data quality rule.

path Parameters
ruleId
required
string <guid>

Unique rule identifier. Example: ec64748c-059e-4a6a-a9db-5f9e634a2da8

Request Body schema: application/json
required

CreateRuleCheckParameter

status
string (DataQualityStatusEnum)
Enum: "Unknown" "Passed" "Warning" "Failed"
message
string or null
detail
string or null
creationTime
string or null

Responses

Request samples

Content type
application/json
{
  • "status": "passed",
  • "message": "Everything looks good!",
  • "detail": "noop",
  • "creationTime": "2024-08-26T12:34:56.789Z"
}

Response samples

Content type
application/json
{
  • "checkId": "53768fce-c7c4-4216-bc5b-6d477abe2012"
}

Delete Rule Check

Deletes the specified data quality rule check.

path Parameters
ruleId
required
string <guid>

Unique rule identifier. Example: ec64748c-059e-4a6a-a9db-5f9e634a2da8

checkId
required
string <guid>

Unique rule check identifier. Example: 53768fce-c7c4-4216-bc5b-6d477abe2012

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "extensions": {
    },
  • "property1": null,
  • "property2": null
}

Objects

Update attributes of any object type

Edit an object.

Modifies one or more attributes of the specified object.

Authorizations:
Personal Access TokenIntegration token
path Parameters
versionId
required
string (VersionId)
Example: c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

This id determines the scope of the request.
versionId relates to a workspace's version.
It can be found in the GET /workspaces and GET /workspaces/{workspaceId}/versions endpoint's response.

objectId
required
string (DoubleUuid)
Example: 2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

Composed of 2 colon-separated stringified UUIDv4. Represents a Workspace or an Entity in DataGalaxy's context.

Request Body schema: application/json
required
owners
Array of strings (Email)
stewards
Array of strings (Email)
tags
Array of strings
description
string
summary
string
name
string
technicalName
string
status
string (EntityLifecycleStatusEnum)
Enum: "Proposed" "InRevision" "Validated" "InValidation" "Obsolete"
additional property
boolean or number or string or Array of strings or Array of Email (strings) or HyperLink (object) or DataTypePrecisionSize (object) or FormattedText (object) or TimeSeriesEntry (object) (CustomAttributeValue)

Additional custom attribute. This property's type depends on the attribute's format.

Responses

Request samples

Content type
application/json
{
  • "owners": [
    ],
  • "stewards": [
    ],
  • "tags": [
    ],
  • "description": "string",
  • "summary": "string",
  • "name": "string",
  • "technicalName": "string",
  • "status": "Proposed",
  • "property1": true,
  • "property2": true
}

Response samples

Content type
application/json
{
  • "id": "2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2",
  • "location": "string"
}

Create an object.

Create an object with the specified attributes.

Authorizations:
Personal Access TokenIntegration token
path Parameters
versionId
required
string (VersionId)
Example: c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

This id determines the scope of the request.
versionId relates to a workspace's version.
It can be found in the GET /workspaces and GET /workspaces/{workspaceId}/versions endpoint's response.

parentId
required
string (DoubleUuid)
Example: 2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

Composed of 2 colon-separated stringified UUIDv4. Represents a Workspace or an Entity in DataGalaxy's context.

Request Body schema: application/json
required
owners
Array of strings (Email)
stewards
Array of strings (Email)
tags
Array of strings
description
string
summary
string
name
string
technicalName
string
status
string (EntityLifecycleStatusEnum)
Enum: "Proposed" "InRevision" "Validated" "InValidation" "Obsolete"
type
required
string (EntityType)
Enum: "None" "All" "BusinessTerm" "Concept" "IndicatorGroup" "Indicator" "ReferenceData" "DataFlow" "DataProcessing" "Use" "DataSet" "OpenDataSet" "Process" "Report" "Algorithm" "Application" "Screen" "Dashboard" "Feature" "Table" "Column" "NonRelationalModel" "RelationalModel" "Dimension" "DimensionGroup" "File" "Field" "NoSqlModel" "Document" "BusinessDomain" "BusinessDomainGroup" "Universe" "Model" "Directory" "Equipment" "SubStructure" "TagBase" "Tag" "View" "DataProcessingItem" "ReferenceDataValue" "UsageField" "PrimaryKey" "ForeignKey" "Diagram" "DiagramNode" "FilteredView" "Project" "Organization" "UsageComponent" "FreeDiagram" "PhysicalDiagram"

Responses

Request samples

Content type
application/json
{
  • "owners": [
    ],
  • "stewards": [
    ],
  • "tags": [
    ],
  • "description": "string",
  • "summary": "string",
  • "name": "string",
  • "technicalName": "string",
  • "status": "Proposed",
  • "type": "None"
}

Response samples

Content type
application/json
{
  • "id": "2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2",
  • "location": "string"
}

Subscribe to notifications of an object.

Subscribe to notifications of the specified object.

Authorizations:
Personal Access TokenIntegration token
path Parameters
versionId
required
string (VersionId)
Example: c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

This id determines the scope of the request.
versionId relates to a workspace's version.
It can be found in the GET /workspaces and GET /workspaces/{workspaceId}/versions endpoint's response.

objectId
required
string (DoubleUuid)
Example: 2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

Composed of 2 colon-separated stringified UUIDv4. Represents a Workspace or an Entity in DataGalaxy's context.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Unsubscribe to notifications of an object.

Unsubscribe to notifications of the specified object.

Authorizations:
Personal Access TokenIntegration token
path Parameters
versionId
required
string (VersionId)
Example: c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

This id determines the scope of the request.
versionId relates to a workspace's version.
It can be found in the GET /workspaces and GET /workspaces/{workspaceId}/versions endpoint's response.

objectId
required
string (DoubleUuid)
Example: 2e21697d-e630-4459-b56a-4f4bcb996e4a:c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

Composed of 2 colon-separated stringified UUIDv4. Represents a Workspace or an Entity in DataGalaxy's context.

Responses

Response samples

Content type
application/json
{
  • "error": {
    }
}

Get an object from its URN

Gets an object from its URN.
It returns a 404 if the object does not exist. It returns a 400 if the URN is invalid.

path Parameters
versionId
required
string <guid>
urn
required
string

Responses

Response samples

Content type
application/json
{
  • "object": {
    }
}

Update an object from its URN

Updates an object from its URN.
It returns a 404 if the object does not exist. It returns a 400 if the URN is invalid.

path Parameters
versionId
required
string <guid>
urn
required
string
Request Body schema: application/json
required
name
string

Object name

technicalName
string

Object technical name

description
string

Description

summary
string

Summary

additional property
number or string or Array of arrays or object or boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "technicalName": "string",
  • "description": "string",
  • "summary": "string",
  • "property1": 0,
  • "property2": 0
}

Response samples

Content type
application/json
{
  • "object": {
    }
}

Delete an object from its URN

Deletes an object from its URN.
It returns a 404 if the object does not exist. It returns a 400 if the URN is invalid.

path Parameters
versionId
required
string <guid>
urn
required
string

Responses

Response samples

Content type
application/json
{
  • "object": {
    }
}

Create an object from its URN

Creates an object from its URN.
It returns a 400 if the URN is invalid.

path Parameters
versionId
required
string <guid>
Request Body schema: application/json
required
urn
required
string

Object URN (Uniform Resource Name)

name
string

Object name

technicalName
string

Object technical name

description
string

Description

summary
string

Summary

additional property
number or string or Array of arrays or object or boolean

Responses

Request samples

Content type
application/json

Create a Snowflake view.

{
  • "urn": "urn:snowflake-1:myaccount.eu-central-1:mydb:myschema:myview@view",
  • "query": "SELECT * FROM mytable",
  • "summary": "This is an example of a view created with its URN"
}

Response samples

Content type
application/json

Snowflake view successfully created.

{
  • "object": {
    }
}

Attributes

Retrieve all of the attributes (custom or not) defined in your client space. If you need more detail, please consult our Attributes documentation.

List of available attributes Deprecated

Deprecation warning:
This route is no longer maintained and is replaced by GET /attributes.

Return a list of attributes available for the specified dataType.

Authorizations:
Personal Access TokenIntegration token
path Parameters
versionId
required
string (VersionId)
Example: c9b33d6a-3f51-4aa7-9ff3-e64aad2d56c2

This id determines the scope of the request.
versionId relates to a workspace's version.
It can be found in the GET /workspaces and GET /workspaces/{workspaceId}/versions endpoint's response.

query Parameters
moduleName
string
limit
number <double>
Default: 20
page
number <double>
Default: 1

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "total": null,
  • "pages": 0.1,
  • "total_sum": 0.1,
  • "next_page": "string"
}

List attribute values

This route fetches available values for attributes with format:

  • ValueList,
  • Hierarchy,
  • MultiValueList,
  • ManagedTag,
  • or ClientTag.

Learn more about attributes with this article.

Authorizations:
Personal Access TokenIntegration token
query Parameters
dataType
required
string (AttributeDataTypeEnum)
Enum: "Property" "Source" "Container" "Structure" "Field" "DataProcessing" "Usage" "Common"
attributeKey
required
string (AttributeKey)

Unique attribute identifier. Can be found with GET /attributes or when creating attributes with POST /attributes

Responses

Response samples

Content type
application/json
Example
[ ]

Add attribute values

This route adds up to 100 values to attributes with format:

  • ValueList,
  • Hierarchy,
  • MultiValueList,
  • ManagedTag,
  • or ClientTag.

Attributes with format ValueList expect a list of string values.
Attributes with format Hierarchy, MultiValueList, ManagedTag and ClientTag expect a request body with TagsBody schema.

Learn more about attributes with this article.

Authorizations:
Personal Access TokenIntegration token
query Parameters
dataType
required
string (AttributeDataTypeEnum)
Enum: "Property" "Source" "Container" "Structure" "Field" "DataProcessing" "Usage" "Common"
attributeKey
required
string (AttributeKey)

Unique attribute identifier. Can be found with GET /attributes or when creating attributes with POST /attributes

Request Body schema: application/json
required
Any of
Array
label
required
string
description
string
Color (string) or string
keywords
Array of strings
isActive
boolean
isUserSuggestionEnabled
boolean

Responses

Request samples

Content type
application/json
Example
[ ]

Response samples

Content type
application/json
Example
[ ]

Update attribute values

This route updates up to 100 attribute values for attributes with format:

  • ValueList,
  • Hierarchy,
  • MultiValueList,
  • ManagedTag,
  • or ClientTag.

Attributes with format ValueList expect a request body with AttributeValue schema.
Attributes with format Hierarchy, MultiValueList, ManagedTag and ClientTag expect a request body with TagsBody schema.

Learn more about attributes with this article.

Authorizations:
Personal Access TokenIntegration token
query Parameters
dataType
required
string (AttributeDataTypeEnum)
Enum: "Property" "Source" "Container" "Structure" "Field" "DataProcessing" "Usage" "Common"
attributeKey
required
string (AttributeKey)

Unique attribute identifier. Can be found with GET /attributes or when creating attributes with POST /attributes

Request Body schema: application/json
required
Any of
Array
label
required
string
description
string
Color (string) or string
keywords
Array of strings
isActive
boolean
isUserSuggestionEnabled
boolean

Responses

Request samples

Content type
application/json
Example
[ ]

Response samples