Know-How tags
Users can configure (add or remove) tags shown on their know-how. This is in contrast to the users' expertise, which is not configurable but determined by the AI.
Get Know-How
GET /users/:id/tag-labels/know-how
Get the know-how of a user.
Example request
GET /users/123/tag-labels/know-how
Response
HTTP 200 OK
with payload:
{
"tags": [
{
"label": "Data",
"score": 1.0,
"confirmed": true
},
{
"label": "Software",
"score": 0.78,
"confirmed": true
},
{
"label": "Software Architecture",
"score": 0.3,
"confirmed": true
}
],
"total": 3,
"user_defined": true
}
If the Set Know-How endpoint was never called for this user, then
- The tags that are returned are based on the user's expertise profile that is automatically generated by Starmind's AI (see also
GET /users/:id/expertise
). - Each tag will have the flag
confirmed
set totrue
. - The flag
user_defined
will befalse
.
If on the other hand the Set Know-How endpoint was called at some point for this user, then
- The tags that are returned are those tags that were submitted with the most recent "Set Know-How" request for the user.
- The flag
confirmed
of a tag is only set totrue
if the Starmind's AI also considered this user to be an expert on this tag. - The flag
user_defined
will betrue
.
Set Know-How
PUT /users/:id/tag-labels/know-how
Set the know-how of a user.
Example request
PUT /users/123/tag-labels/know-how
{
"tags": [
"Data",
"Software"
],
"remove_tags": [
"IT Support"
]
}
Tags that don't yet exist will be created.
tags
are the tags that the user wants to have shown on their know-how profile.
Whatever tags the user had set before will be replaced with the ones specified here.
remove_tags
are the tags that the user does not want to have shown.
These are accumulated, so there's no need to pass all the tags to remove, but only those that weren't removed before.
If a tag needs to be restored, it can be specified in tags
with another call.
If a tag appears in both tags
and remove_tags
, its presence in remove_tags
will be ignored.
Response
HTTP 200 OK
with payload:
{
"tags": [
{
"label": "Data",
"score": 1.0,
"confirmed": true
},
{
"label": "Software",
"score": 0.78,
"confirmed": true
}
],
"total": 2,
"user_defined": true
}
HTTP 400 BAD REQUEST
if the number of tags exceeds the maximum number of tags to be set.