Skip to main content

Labels

The canonical transaction labels, each with its transaction type and tax treatment. Fetch this rather than hard-coding a label list — the set grows over time.

Base URL: https://api-v2.kryptos.io

Endpoint
GET/v1/labels

Shared reference data, not workspace-specific — it needs a valid token, but no workspace parameter.

Request

curl -X GET "https://api-v2.kryptos.io/v1/labels" \
-H "Authorization: Bearer ACCESS_TOKEN"

Query Parameters

ParameterTypeDescription
typestringReturn only labels valid for this transaction type: deposit, withdrawal, trade, transfer or payment

Filtering by type also prepends the common labelsIgnore, Failed, Unknown and Spam — because those apply to every type. The filtered lists therefore overlap, and concatenating all five will duplicate them.

Response

{
"success": true,
"data": [
{ "label": "Buy", "type": "trade", "taxEvent": "CAPITAL_GAIN", "description": "Purchase of an asset" },
{ "label": "Airdrop", "type": "deposit", "taxEvent": "INCOME", "description": "Tokens received from an airdrop" },
{ "label": "Ignore", "type": null, "taxEvent": null, "description": "Exclude from all calculations" }
]
}
FieldTypeDescription
labelstringThe value that appears as a transaction's label
typestring | nullCanonical transaction type. null for the common labels that apply to every type
taxEventstring | nullCAPITAL_GAIN, INCOME, LOST, VAULT, or null when the label triggers no tax event
descriptionstring | nullHuman-readable explanation

How labels work

A transaction's type is derived from its label, not stored independently — so the label is what classifies the transaction. Buy makes it a trade; Airdrop makes it an income deposit. That is why GET /v1/transactions lets you filter on either: ?labels=Buy is specific, ?types=trade is the whole category.

Two labels change whether a transaction is counted at all:

  • Ignore excludes it from every calculation — balances, gains, reports.
  • Spam marks it as unwanted.

Both are filtered out by default from GET /v1/transactions; pass includeIgnored=true or includeSpam=true to see them. See Spam.