Manage Tags

Prev Next

The following Britive API methods can be used to manage tags and perform relevant operations.


1. Create a Tag

The POST method creates a tag in the system. Enter the required name and description as parameters in this request.

POST{{url}}/api/user-tags

Request Example

An example POST request for creating a tag is shown here.

curl --location --request POST '{{url}}/api/user-tags' \
--header 'Authorization: TOKEN {{apiToken}}' \
--data-raw '{
    "name": "DocTestTag",
    "description": "DocTestTag"
}'

Response Example 

An example response of the POST request for creating a tag is shown here.

Status: 200 OK
{
  "userTagId" : "7twt0mgi0msiajm4zt5t",
  "name" : "DocTestTag",
  "status" : "Active",
  "description" : "DocTestTag",
  "created" : "2023-03-22T10:46:39Z",
  "modified" : null,
  "external" : false,
  "membershipRule" : false,
  "userTagUserBeans" : [ ],
  "userTagIdentityProviders" : [ {
    "identityProvider" : {
      "id" : "1HhvrKWjoFPXvOcbJSDx",
      "name" : "Britive",
      "description" : "Default Identity Provider",
      "type" : "DEFAULT",
      "scimProvider" : "Generic",
      "ssoProvider" : "Generic",
      "scimEnabled" : false,
      "samlMetadata" : null,
      "ssoConfig" : null,
      "mfaEnabled" : false,
      "mfaRootUserEnabled" : false,
      "apiToken" : null,
      "userAttributeScimMappings" : [ ]
    },
    "externalId" : null
  } ],
  "attributeCriteriaBeans" : [ ],
  "userCount" : 0
}

2. Update a Tag

The PATCH method updates a tag in the system, as indicated by the userTagID provided in the request. Enter the required name and description as parameters in the request. 

PATCH{{url}}/api/user-tags

Request Example

An example PATCH request for updating a tag is shown here.

curl --location --request PATCH '{{url}}/api/user-tags' \
--header 'Authorization: TOKEN {{apiToken}}' \
--data-raw '{
    "userTagId": "{{userTagID}}",
    "name": "Dev Admins",
    "description" : "Administrators"
}'

Response Example 

An example response of the PATCH request for updating a tag is shown here.

Status: 200 OK
{
  "userTagId" : "7j4uouyqnl7e1gy3fh0n",
  "name" : "Admins1",
  "status" : "Active",
  "description" : "No Description",
  "userTagIdentityProviders" : [ {
    "identityProvider" : {
      "id" : "1HhvrKWjoFPXvOcbJSDx",
      "name" : "Britive",
      "description" : "Default Identity Provider",
      "type" : "DEFAULT",
      "scimProvider" : "Generic",
      "ssoProvider" : "Generic",
      "scimEnabled" : false,
      "samlMetadata" : null,
      "ssoConfig" : null,
      "mfaEnabled" : false,
      "mfaRootUserEnabled" : false,
      "userAttributeScimMappings" : [],
      "apiToken" : null
    },
    "externalId" : null
  } ],
  "external" : false,
  "userCount" : 0
}

3. Details of all Tags   

Important Note:     
This is the latest API which replaces "Details of all Tags".

This API retrieves details of all tags available in the system. The API returns data in pages and multiple API calls have to be made to return the complete list. The API returns the total number of records that can be used to calculate the number of pages. 

GET{{url}}/api/user-tags?page=0&size=20&sort=name,asc&filter=status eq Active

Request Parameters

The request parameters used in this method are shown in the following table:

ParameterDescriptionData TypeRequired

page

The page number starting from zero.

string

Mandatory

size

The number of records that are returned. 

Note: The total number of records can be used to calculate the number of pages. For example, 20.

string

Mandatory

sort

The column used for sorting the records.

string

Optional

filter

The filter that can filter the list of tags based on name or status. The supported operators are 'eq' and 'co'. 
An example format is given here: status eq "Active"

string

Optional

Request Example

An example GET request for retrieving the details of all the tags is shown here.

curl --location --request GET '{{url}}/api/user-tags?page=0&size=20&sort=name,asc&filter=status%20eq%20Active' \
--header 'Authorization: TOKEN {{apiToken}}'

Response Example 

An example response of the GET request for retrieving the list of all tags in the system is shown here.

Status: 200 OK
{
    "count": 1064,
    "page": 0,
    "size": 20,
    "sort": "name: ASC",
    "filter": "status eq Active",
    "data": [
        {
            "userTagId": "AR7IYvLY9o6qqOEQEmLV",
            "name": "Tag1",
            "description": "No Description",
            "status": "Active",
            "userCount": 3,
            "created": null,
            "modified": null,
            "userTagIdentityProviders": [],
            "external": false
        }
    ]
}

(Deprecated) Details of all Tags

The GET method retrieves the details of all the tags available in the system.  

GET{{url}}/api/user-tags

Request Example

An example GET request for retrieving the details of all the tags is shown here.

curl --location --request GET '{{url}}/api/user-tags' \
--header 'Authorization: TOKEN {{apiToken}}'

Response Example 

An example response of the GET request for retrieving the details of all tags in the system is shown here.

Status: 200 OK
[
    {
        "userTagId": "02j4ms3nmlyv3a0hcfup",
        "name": "Admins",
        "description": "",
        "status": "Active",
        "userCount": 0,
        "userTagIdentityProviders": [
            {
                "identityProvider": {
                    "id": "1HhvrKWjoFPXvOcbJSDx",
                    "name": "Britive",
                    "type": "DEFAULT"
                },
                "externalId": null
            }
        ],
        "external": false
    }
]

4. Details of a Tag

The GET method retrieves the details of a tag, as indicated by the userTagID provided in the request.  

GET{{url}}/api/user-tags/{{userTagID}}

Request Example

An example GET request for retrieving the details of a tag is shown here.

curl --location --request GET '{{url}}/api/user-tags/{{userTagID}}' \
--header 'Authorization: TOKEN {{apiToken}}'

Response Example 

An example response of the GET request for retrieving the details of a tag is shown here.

Status: 200 OK
{
    "userTagId": "02j4ms3nmlyv3a0hcfup",
    "name": "Admins",
    "description": "",
    "status": "Active",
    "userCount": 0,
    "userTagIdentityProviders": [
        {
            "identityProvider": {
                "id": "1HhvrKWjoFPXvOcbJSDx",
                "name": "Britive",
                "type": "DEFAULT"
            },
            "externalId": null
        }
    ],
    "external": false
}

5. Details of all Users of a Tag 

Important Note:     
This is the latest API for "Details of all Users of a Tag".

This API retrieves the details of all users assigned to a tag, as indicated by tagID provided in the request. The API returns data in pages and multiple API calls have to be made to return the complete list. The API returns the total number of records that can be used to calculate the number of pages. 

GET{{url}}/api/user-tags/{{tagID}}/users?page=0&size=20

Request Parameters

The request parameters used in this method are shown in the following table:

ParameterDescriptionData TypeRequired

tagID

The ID of the tag page.

string

Mandatory

size

The number of records that are returned. 

Note: The total number of records can be used to calculate the number of pages. For example, 20.

string

Mandatory

sort

The column used for sorting the records.

string

Optional

filter

The filter that can filter the list of all users assigned to a tag (tag members) based on name or status. The supported operators are 'eq' and 'co'. 
An example format is given here: name co "Smith"

string

Optional

Request Example

An example GET request for retrieving all the users assigned to a tag is shown here.

curl --location --request GET '{{url}}/api/user-tags/o96sdb8f5181hzr2rhw1/users?page=0&size=20' \
--header 'Authorization: TOKEN {{apiToken}}'

Response Example 

An example response of the GET request for retrieving all the users assigned to a tag is shown here.

Status: 200 OK
{
    "count": 3,
    "page": 0,
    "size": 20,
    "sort": null,
    "filter": null,
    "data": [
        {
            "adminRoles": [
                {
                    "name": "TenantAdmin",
                    "displayName": "Admin"
                }
            ],
            "type": "User",
            "created": "2019-04-03T15:46:33Z",
            "modified": "2019-10-18T07:54:38Z",
            "email": "bob@britive.com",
            "username": "bob1",
            "firstName": "Bob",
            "lastName": "Smith",
            "name": "Bob Smith",
            "externalId": null,
            "mobile": null,
            "phone": null,
            "identityProvider": {
                "id": "1HhvrKWjoFPXvOcbJSDx",
                "name": "Britive",
                "type": "DEFAULT"
            },
            "mappedAccounts": [],
            "external": false,
            "status": "active",
            "userId": "tVvgWNatCHgfLbZMWEdU"
        }
    ]
}

(Deprecated) Details of all Users of a Tag

The GET method returns all the users assigned to a tag, as indicated by the userTagID provided in the request. 

GET{{url}}/api/user-tags/{{userTagID}}/users?filter=assigned

Request Example

An example GET request for retrieving all the users assigned to a tag is shown here.

curl --location --request GET '{{url}}/api/user-tags/{{userTagID}}/users?filter=assigned' \
--header 'Authorization: TOKEN {{apiToken}}'

Response Example 

An example response of the GET request for retrieving all the users assigned to a tag is shown here.

Status: 200 OK
{
    "adminRoles": null,
    "type": "User",
    "email": "user@company.com",
    "username": "user",
    "externalId": null,
    "identityProvider": null,
    "mappedAccounts": [],
    "external": false,
    "status": "active",
    "userId": "47S7Pl0mQvlqMUBulgRw"
}

6. Details of Available Users for a Tag

The GET method returns all the users available in the system and can be possibly added to a tag, as indicated by the userTagID provided in the request. The request parameter required is filter and its value is available.

GET{{url}}/api/user-tags/{{userTagID}}/users?filter=available

Request Example

An example GET request for retrieving all the available users, which can be possibly added to a tag is shown here.

curl --location --request GET '{{url}}/api/user-tags/{{userTagID}}/users?filter=available' \
--header 'Authorization: TOKEN {{apiToken}}'

Response Example 

An example response of the GET request for retrieving all the available users is shown here.

Status: 200 OK
{
    "adminRoles": null,
    "type": "User",
    "email": "user@company.com",
    "username": "user",
    "externalId": null,
    "identityProvider": null,
    "mappedAccounts": [],
    "external": false,
    "status": "active",
    "userId": "47S7Pl0mQvlqMUBulgRw"
}

7. Add a User to a Tag

The POST method adds a user to a tag, as indicated by the userTagID provided in the request.  

POST{{url}}/api/user-tags/{{userTagID}}/users/{{userID}}

Request Example

An example POST request for adding a user to a tag is shown here.

curl --location --request POST '{{url}}/api/user-tags/{{userTagId}}/users/{{userId}}' \
--header 'Authorization: TOKEN {{apiToken}}'

Response Example 

An example response of the POST request for adding a user to a tag is shown here.

Status: 200 OK
{
  "status" : "active",
  "adminRoles" : [ ],
  "type" : "User",
  "created" : "2022-05-18T13:26:41Z",
  "modified" : null,
  "email" : "user@company.com",
  "username" : "user",
  "firstName" : "User",
  "lastName" : "Test",
  "name" : "User Test",
  "externalId" : null,
  "mobile" : null,
  "phone" : null,
  "identityProvider" : {
    "id" : "1HhvrKWjoFPXvOcbJSDx",
    "name" : "Britive",
    "type" : "DEFAULT"
  },
  "mappedAccounts" : [ ],
  "external" : false,
  "userId" : "g9mbruluggn4au04vbcr"
}

8. Remove a User from a Tag

The DELETE method removes a user from a tag, as indicated by the userTagID provided in the request.   

DELETE{{url}}/api/user-tags/{{userTagID}}/users/{{userID}}

Request Example

An example DELETE request for removing a tag is shown here.

curl --location --request DELETE '{{url}}/api/user-tags/{{userTagID}}/users/{{userID}}' \
--header 'Authorization: TOKEN {{apiToken}}'

Response Example  

Status: 204 No Content 

The response only has headers.

Note:

This request does not return a response body.


9. Enable a Tag

The POST method enables a tag, as indicated by the userTagID provided in the request.     

POST{{url}}/api/user-tags/{{userTagID}}/enabled-statuses

Request Example

An example POST request for enabling a tag is shown here.

curl --location --request POST '{{url}}/api/user-tags/{{userTagID}}/enabled-statuses' \
--header 'Authorization: TOKEN {{apiToken}}'

Response Example 

An example response of POST request for enabling a tag is shown here.

Status: 200 OK
{
    "userTagId": "02j4ms3nmlyv3a0hcfup",
    "name": "Admins",
    "description": "",
    "status": "Active",
    "userCount": 0,
    "userTagIdentityProviders": [
        {
            "identityProvider": {
                "id": "1HhvrKWjoFPXvOcbJSDx",
                "name": "Company",
                "type": "DEFAULT"
            },
            "externalId": null
        }
    ],
    "external": false
}

10. Disable a Tag

The POST method disables a tag, as indicated by the userTagID provided in the request.   

POST{{url}}/api/user-tags/{{userTagID}}/disabled-statuses

Request Example

An example POST request for disabling a tag is shown here.

curl --location --request POST '{{url}}/api/user-tags/{{userTagID}}/disabled-statuses' \
--header 'Authorization: TOKEN {{apiToken}}'

Response Example 

An example response of the POST request for disabling a tag is shown here.

Status: 200 OK
{
    "userTagId": "02j4ms3nmlyv3a0hcfup",
    "name": "Admins",
    "description": "",
    "status": "Active",
    "userCount": 0,
    "userTagIdentityProviders": [
        {
            "identityProvider": {
                "id": "1HhvrKWjoFPXvOcbJSDx",
                "name": "Britive",
                "type": "DEFAULT"
            },
            "externalId": null
        }
    ],
    "external": false
}

11. Delete a Tag

The DELETE method deletes a tag in the system, as indicated by the userTagID provided in the request.   

DELETE{{url}}/api/user-tags/{{userTagID}}

Request Example

An example DELETE request for deleting a tag is shown here.

curl --location --request DELETE '{{url}}/api/user-tags/{{userTagID}}/disabled-statuses' \
--header 'Authorization: TOKEN {{apiToken}}'

Response Example 

The tag is deleted. Note that the response only has headers.

Status: 200 OK

Note:

This request does not return a response body.


12. Add Attribute Criteria

The POST method adds attribute criteria for a given tag, as indicated by the tagID provided in the request.   

POST{{url}}/api/user-tags/{{tagID}}/attribute-criteria

Request Example

curl --location --request GET '{{url}}/api/user-tags/{{tagID}}/attribute-criteria \
--header 'Authorization: TOKEN {{apiToken}}'[
{
   attributeId: "Ogetw83Ku7GI9VikKryx", 
   operator: "contains", 
   value: "Doc"
}]

Response Example

[ {
  "id" : null,
  "attributeId" : "Ogetw83Ku7GI9VikKryx",
  "operator" : "contains",
  "value" : "Doc"
} ]

Status Code

Status: 200 OK

13. Update attribute Criteria

The PATCH method updates attribute criteria for a given tag, as indicated by the tagID provided in the request.   

PATCH{{url}}/api/user-tags/{{tagID}}/attribute-criteria

Request Example

[
    {
        "id": 12,
        "attributeId": "kd05OnAwWtR0Sjkw5zcI",
        "operator": "is",
        "value": "updatedagain"
    },
    {
        "attributeId": "kd05OnAwWtR0Sjkw5zcJ",
        "operator": "is",
        "value": "test"
    }
]

Response Example

Status: 204 No Content

The response only has headers.

Note:

This request does not return a response body.

14. Details of all users matching a particular criteria

This API retrieves the details of all users matching a particular criteria assigned to a tag, as indicated by tagID provided in the request. 

GET{{url}}/api/user-tags/{{tagID}}/matched-users?page=0&size=20

Request Parameters

The request parameters used in this method are shown in the following table:

ParameterDescriptionData TypeRequired

tagID

The ID of the tag page.

string

Mandatory

size

The number of records that are returned. 

Note: The total number of records can be used to calculate the number of pages. For example, 20.

string

Mandatory

sort

The column used for sorting the records.

string

Optional

filter

The filter that can filter the list of all users assigned to a tag (tag members) based on name or status. The supported operators are 'eq' and 'co'. 
An example format is given here: name co "Smith"

string

Optional

Request Example

An example GET request for retrieving all the users assigned to a tag is shown here.

Response Example

{
  "count" : 1,
  "page" : 0,
  "size" : 20,
  "sort" : null,
  "filter" : null,
  "data" : [ {
    "status" : "active",
    "adminRoles" : [ ],
    "type" : "User",
    "created" : "2022-04-20T10:01:06Z",
    "modified" : null,
    "userTags" : [ ],
    "email" : "user@company.com",
    "username" : "docapprover",
    "firstName" : "Doc",
    "lastName" : "Approver",
    "name" : "Doc Approver",
    "externalId" : null,
    "mobile" : null,
    "phone" : null,
    "identityProvider" : {
      "id" : "1HhvrKWjoFPXvOcbJSDx",
      "name" : "CoName",
      "type" : "DEFAULT"
    },
    "mappedAccounts" : [ ],
    "rootUser" : false,
    "external" : false,
    "userId" : "855hx1okg1y9t6d4pi19"
  } ]
}

Status Code

Status: 200 OK