Tag Domains Resource

Waterline Data tags are maintained in a tag glossary that is organized into tag domains. Endpoints under /tagdomain provide access to TagDomain objects.
All tags must belong to a domain. One tag domain, "Built-in Tags", is dedicated to system tags. Users with admin privileges can create additional tag domains.

POST /v2/tagdomain

A POST request to the /tagdomain endpoint creates a new TagDomain. The user making the call must be assigned an administrator role in Waterline Data.

Request Body
media type data type description
application/json TagDomain (JSON) A JSON object containing at least the "name" and "description" fields.
  • The "name" value is a label string, limited to 2048 characters.
  • The "description" value is a string of up to 2048 characters that describes the purpose of the domain.
Response Body
media type data type description
application/json TagDomain (JSON) The new TagDomain object in JSON format, containing the assigned unique identifying "key" value.

Example

Request
POST /v2/tagdomain
Content-Type: application/json
Accept: application/json

                
{
  "name" : "...",
  "description" : "...",
  "createTags" : true,
  "deleteTags" : true,
  "readTags" : true,
  "color" : "...",
  "semantic" : "BUILT_IN",
  "key" : "...",
  "type" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
}
                
              
Response
HTTP/1.1 201 Created
Content-Type: application/json

                
{
  "name" : "...",
  "description" : "...",
  "createTags" : true,
  "deleteTags" : true,
  "readTags" : true,
  "color" : "...",
  "semantic" : "USER_CREATED",
  "key" : "...",
  "type" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
}
                
              

GET /v2/tagdomain/all

A GET request to the tagdomain/all endpoint retrieves a list of all tag domains. The list includes details for all tags and all domains.

Response Body
media type data type description
application/json array of TagDomainContainer (JSON) A list of tag domains and all contained tags in a TagDomainContainer object in JSON format.

Example

Request
GET /v2/tagdomain/all
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
[ {
  "domain" : {
    "name" : "...",
    "description" : "...",
    "createTags" : true,
    "deleteTags" : true,
    "readTags" : true,
    "color" : "...",
    "semantic" : "BUILT_IN",
    "key" : "...",
    "type" : "...",
    "timeOfLastChange" : 12345,
    "timeOfCreation" : 12345,
    "restricted" : [ "...", "..." ],
    "updateable" : [ "...", "..." ],
    "viewAble" : [ "...", "..." ],
    "customProperties" : [ {
      "displayName" : "...",
      "value" : { },
      "description" : "...",
      "facetAble" : true,
      "name" : "...",
      "type" : "..."
    }, {
      "displayName" : "...",
      "value" : { },
      "description" : "...",
      "facetAble" : true,
      "name" : "...",
      "type" : "..."
    } ]
  },
  "tags" : [ {
    "children" : [ { }, { } ],
    "domainKey" : "...",
    "parentKey" : "...",
    "name" : "...",
    "tagState" : "REGEX",
    "minScore" : 12345.0,
    "regEx" : "...",
    "regexMinLen" : 12345,
    "regexMaxLen" : 12345,
    "regexFilterClass" : "...",
    "learningEnabled" : true,
    "immutable" : true,
    "enable" : true,
    "fullName" : "...",
    "state" : "ACCEPTED",
    "externalId" : "...",
    "externalSourceName" : "...",
    "synonyms" : [ "...", "..." ],
    "key" : "...",
    "type" : "...",
    "description" : "...",
    "timeOfLastChange" : 12345,
    "timeOfCreation" : 12345,
    "restricted" : [ "...", "..." ],
    "updateable" : [ "...", "..." ],
    "viewAble" : [ "...", "..." ],
    "customProperties" : [ {
      "displayName" : "...",
      "value" : { },
      "description" : "...",
      "facetAble" : true,
      "name" : "...",
      "type" : "..."
    }, {
      "displayName" : "...",
      "value" : { },
      "description" : "...",
      "facetAble" : true,
      "name" : "...",
      "type" : "..."
    } ]
  }, {
    "children" : [ { }, { } ],
    "domainKey" : "...",
    "parentKey" : "...",
    "name" : "...",
    "tagState" : "REGEX",
    "minScore" : 12345.0,
    "regEx" : "...",
    "regexMinLen" : 12345,
    "regexMaxLen" : 12345,
    "regexFilterClass" : "...",
    "learningEnabled" : true,
    "immutable" : true,
    "enable" : true,
    "fullName" : "...",
    "state" : "REJECTED",
    "externalId" : "...",
    "externalSourceName" : "...",
    "synonyms" : [ "...", "..." ],
    "key" : "...",
    "type" : "...",
    "description" : "...",
    "timeOfLastChange" : 12345,
    "timeOfCreation" : 12345,
    "restricted" : [ "...", "..." ],
    "updateable" : [ "...", "..." ],
    "viewAble" : [ "...", "..." ],
    "customProperties" : [ {
      "displayName" : "...",
      "value" : { },
      "description" : "...",
      "facetAble" : true,
      "name" : "...",
      "type" : "..."
    }, {
      "displayName" : "...",
      "value" : { },
      "description" : "...",
      "facetAble" : true,
      "name" : "...",
      "type" : "..."
    } ]
  } ]
} ]
                
              

GET /v2/tagdomain/alldomains

A GET request to the /tagdomain/alldomains endpoint retrieves all tag domains.

Response Body
media type data type description
application/json array of TagDomain (JSON) A list of TagDomain objects in JSON format.

Example

Request
GET /v2/tagdomain/alldomains
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
[ {
  "name" : "...",
  "description" : "...",
  "createTags" : true,
  "deleteTags" : true,
  "readTags" : true,
  "color" : "...",
  "semantic" : "IMPORTED",
  "key" : "...",
  "type" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
} ]
                
              

POST /v2/tagdomain/list

A POST request to the /tagdomain/list endpoint creates a set of TagDomains.

Request Body
media type data type description
application/json array of TagDomain (JSON) A JSON list containing a set of TagDomain objects, specifying at least the "name" and "description" fields.
  • The "name" value is a label string, limited to 2048 characters.
  • The "description" value is a string of up to 2048 characters that describes the purpose of the domain.

Example

Request
POST /v2/tagdomain/list
Content-Type: application/json

                
[ {
  "name" : "...",
  "description" : "...",
  "createTags" : true,
  "deleteTags" : true,
  "readTags" : true,
  "color" : "...",
  "semantic" : "BUILT_IN",
  "key" : "...",
  "type" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
} ]
                
              
Response
HTTP/1.1 201 Created

              

PUT /v2/tagdomain/list

A PUT request to the /tagdomain/list endpoint updates a set of tag.

Request Body
media type data type description
application/json array of TagDomain (JSON) The body of the request is a JSON list containing a set of TagDomain objects, with the fields to change and their new values. Fields that are not present are not changed.

Example

Request
PUT /v2/tagdomain/list
Content-Type: application/json

                
[ {
  "name" : "...",
  "description" : "...",
  "createTags" : true,
  "deleteTags" : true,
  "readTags" : true,
  "color" : "...",
  "semantic" : "USER_CREATED",
  "key" : "...",
  "type" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
} ]
                
              
Response
HTTP/1.1 204 No Content

              

DELETE /v2/tagdomain/{key}

A DELETE request to the /tagdomain/{key} endpoint deletes an empty tag domain. If the domain includes tags with associations, you can delete the domain by providing an additional parameter to override the domain protection.

Request Parameters
name type description default constraints
key path The unique identifier the tag domain.    
deleteDependencies query True to override the call's protections and delete all the tags included in a domain. Note that this will remove the tags and any tag associations created with those tags. true boolean

Example

Request
DELETE /v2/tagdomain/{key}
Content-Type: */*

                
...
                
              
Response
HTTP/1.1 204 No Content

              

GET /v2/tagdomain/{key}

A GET request to the /tagdomain/{key} endpoint retrieves a tag domain object.

Request Parameters
name type description
key path The unique identifier of the tag domain.
Response Body
media type data type description
application/json TagDomain (JSON) The TagDomain object in JSON format. The object contains domain properties including the access permissions for the current user.

Example

Request
GET /v2/tagdomain/{key}
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "name" : "...",
  "description" : "...",
  "createTags" : true,
  "deleteTags" : true,
  "readTags" : true,
  "color" : "...",
  "semantic" : "USER_CREATED",
  "key" : "...",
  "type" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
}
                
              

PUT /v2/tagdomain/{key}

A PUT request to the /tagdomain/{key} endpoint updates an existing TagDomain.

Request Parameters
name type description
key path The unique identifier of the tag domain.
Request Body
media type data type description
application/json TagDomain (JSON) A JSON object containing the fields to be updated and their new values. Fields that are not present are not changed.
Response Body
media type data type description
application/json TagDomain (JSON) The updated TagDomain object in JSON format.

Example

Request
PUT /v2/tagdomain/{key}
Content-Type: application/json
Accept: application/json

                
{
  "name" : "...",
  "description" : "...",
  "createTags" : true,
  "deleteTags" : true,
  "readTags" : true,
  "color" : "...",
  "semantic" : "USER_CREATED",
  "key" : "...",
  "type" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
}
                
              
Response
HTTP/1.1 204 No Content
Content-Type: application/json

                
{
  "name" : "...",
  "description" : "...",
  "createTags" : true,
  "deleteTags" : true,
  "readTags" : true,
  "color" : "...",
  "semantic" : "USER_CREATED",
  "key" : "...",
  "type" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
}
                
              

DELETE /v2/tagdomain/name/{name}

A DELETE request to the /tagdomain/name/{name} endpoint deletes an empty tag domain.

Request Parameters
name type description default constraints
name path The name of the tag domain.    
deleteDependencies query true boolean

Example

Request
DELETE /v2/tagdomain/name/{name}
Content-Type: */*

                
...
                
              
Response
HTTP/1.1 204 No Content

              

GET /v2/tagdomain/name/{name}

A GET request to the /tagdomain/name/{name} endpoint retrieves a tag domain by name.

Request Parameters
name type description
name path The tag domain name.
Response Body
media type data type description
application/json TagDomain (JSON) The TagDomain object in JSON format.

Example

Request
GET /v2/tagdomain/name/{name}
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "name" : "...",
  "description" : "...",
  "createTags" : true,
  "deleteTags" : true,
  "readTags" : true,
  "color" : "...",
  "semantic" : "DISCOVERY_CREATED",
  "key" : "...",
  "type" : "...",
  "timeOfLastChange" : 12345,
  "timeOfCreation" : 12345,
  "restricted" : [ "...", "..." ],
  "updateable" : [ "...", "..." ],
  "viewAble" : [ "...", "..." ],
  "customProperties" : [ {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  }, {
    "displayName" : "...",
    "value" : { },
    "description" : "...",
    "facetAble" : true,
    "name" : "...",
    "type" : "..."
  } ]
}
                
              

GET /v2/tagdomain/{domainKey}/alltags

A GET request to the /tagdomain/{domainKey}/alltags endpoint retrieves all tags in a given tag domain.

Request Parameters
name type description
domainKey path The unique identifier of the tag domain.
Response Body
media type data type description
application/json TagDomainContainer (JSON) A tag domains and all contained tags in a TagDomainContainer object in JSON format.

Example

Request
GET /v2/tagdomain/{domainKey}/alltags
Content-Type: */*
Accept: application/json

                
...
                
              
Response
HTTP/1.1 200 OK
Content-Type: application/json

                
{
  "domain" : {
    "name" : "...",
    "description" : "...",
    "createTags" : true,
    "deleteTags" : true,
    "readTags" : true,
    "color" : "...",
    "semantic" : "USER_CREATED",
    "key" : "...",
    "type" : "...",
    "timeOfLastChange" : 12345,
    "timeOfCreation" : 12345,
    "restricted" : [ "...", "..." ],
    "updateable" : [ "...", "..." ],
    "viewAble" : [ "...", "..." ],
    "customProperties" : [ {
      "displayName" : "...",
      "value" : { },
      "description" : "...",
      "facetAble" : true,
      "name" : "...",
      "type" : "..."
    }, {
      "displayName" : "...",
      "value" : { },
      "description" : "...",
      "facetAble" : true,
      "name" : "...",
      "type" : "..."
    } ]
  },
  "tags" : [ {
    "children" : [ { }, { } ],
    "domainKey" : "...",
    "parentKey" : "...",
    "name" : "...",
    "tagState" : "REGEX",
    "minScore" : 12345.0,
    "regEx" : "...",
    "regexMinLen" : 12345,
    "regexMaxLen" : 12345,
    "regexFilterClass" : "...",
    "learningEnabled" : true,
    "immutable" : true,
    "enable" : true,
    "fullName" : "...",
    "state" : "ACCEPTED",
    "externalId" : "...",
    "externalSourceName" : "...",
    "synonyms" : [ "...", "..." ],
    "key" : "...",
    "type" : "...",
    "description" : "...",
    "timeOfLastChange" : 12345,
    "timeOfCreation" : 12345,
    "restricted" : [ "...", "..." ],
    "updateable" : [ "...", "..." ],
    "viewAble" : [ "...", "..." ],
    "customProperties" : [ {
      "displayName" : "...",
      "value" : { },
      "description" : "...",
      "facetAble" : true,
      "name" : "...",
      "type" : "..."
    }, {
      "displayName" : "...",
      "value" : { },
      "description" : "...",
      "facetAble" : true,
      "name" : "...",
      "type" : "..."
    } ]
  }, {
    "children" : [ { }, { } ],
    "domainKey" : "...",
    "parentKey" : "...",
    "name" : "...",
    "tagState" : "REGEX",
    "minScore" : 12345.0,
    "regEx" : "...",
    "regexMinLen" : 12345,
    "regexMaxLen" : 12345,
    "regexFilterClass" : "...",
    "learningEnabled" : true,
    "immutable" : true,
    "enable" : true,
    "fullName" : "...",
    "state" : "SUGGESTED",
    "externalId" : "...",
    "externalSourceName" : "...",
    "synonyms" : [ "...", "..." ],
    "key" : "...",
    "type" : "...",
    "description" : "...",
    "timeOfLastChange" : 12345,
    "timeOfCreation" : 12345,
    "restricted" : [ "...", "..." ],
    "updateable" : [ "...", "..." ],
    "viewAble" : [ "...", "..." ],
    "customProperties" : [ {
      "displayName" : "...",
      "value" : { },
      "description" : "...",
      "facetAble" : true,
      "name" : "...",
      "type" : "..."
    }, {
      "displayName" : "...",
      "value" : { },
      "description" : "...",
      "facetAble" : true,
      "name" : "...",
      "type" : "..."
    } ]
  } ]
}