TrustWixDocs
Core concepts

Tags

Your own labels on verifications and on the people behind them

A tag is your own word for something, put on a verification or on an applicant. It means whatever your team decides it means, we never interpret one, and your applicants never see them.

They exist because the alternative is a free-text note. A note is fine for one case and useless across a thousand: you cannot filter by it, two people write the same thing three ways, and a month later nobody can answer "how many of these did we see". A tag is the same sentence fragment made countable.

They are not a manual-review feature

You can tag any verification, including every one the engine approved or rejected on its own. That is most of them, and it is usually the interesting case: you go back to something that was auto-approved, decide you disagree, and want that recorded somewhere your team will find it.

Tagging during a review is also supported, from the decision screen in your console, and the tags are written in the same transaction as the decision.

Two things you can tag

A verification is one attempt. A tag here describes what happened on that run: manual id check, document from a country we do not usually see.

An applicant is the person, and a tag there is waiting on them the next time they come back: known good, watch this one. Applicant records are created once a face has been matched, so a verification that has just started may not have one yet.

Names are matched loosely on purpose

"High Risk", "high risk" and "high-risk" are the same tag. Each name is reduced to a normalised form, lowercased with runs of anything that is not a letter or digit collapsed to a single hyphen, and two names that reduce to the same thing resolve to the same tag.

That is what keeps a tag filter trustworthy. Without it your list grows a near-duplicate every time somebody types quickly, and no error is ever raised to tell you.

The normalised form is published as slug on the tag, so you can predict it:

{
  "id": "tag_9f2c1a7b40de",
  "object": "tag",
  "name": "High Risk",
  "slug": "high-risk",
  "color": "red",
  "description": "Watch this one. Escalate anything unusual next time"
}

Tag straight from your own rules

You do not have to look a tag up before using it. Send a name and it resolves to the tag you already have, or creates it:

curl -X POST https://api.trustwix.com/v1/verifications/vs_.../tags \
  -H "Authorization: Bearer $TRUSTWIX_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{"names": ["suspected mule account"]}'

Applying a tag that is already there is a no-op rather than an error, so this is safe to retry.

Reading them back

Every verification carries its tags, with no extra permission and nothing to opt into:

{
  "id": "vs_...",
  "object": "verification",
  "verdict": "approve",
  "tags": [
    { "id": "tag_9f2c1a7b40de", "name": "High Risk", "color": "red" }
  ]
}

tags is always present and is an empty array when nothing is tagged, so you never have to tell "untagged" from "this response does not carry tags".

Retiring a tag does not erase it

Removing a tag from your list stops it being offered on new records. Everything already carrying it keeps showing the label, because a decision you took six months ago has to keep meaning what it meant. The name becomes free to create again afterwards.

Permissions

Reading tags rides on verification:read. Creating, renaming, retiring and applying them need verification:create, the same write capability that starts a verification.

One thing worth knowing before you rename: a rename is retroactive. The new name shows on every verification already carrying that tag, including decisions already sent to your applicants.

On this page