Watt Data Logo

Browse available traits by entity type, with optional filtering by domain, trait ID, or name.

Quick Example

{
  "entity_type": "person",
  "domains": ["demographic"]
}

Input Parameters

ParameterTypeRequiredDefaultConstraintsDescription
entity_typestringYes-"person" or "business"Type of entity to list traits for
domainsarrayNo-See available domainsFilter by trait domains
trait_idsarrayNo-String arrayFilter by specific trait IDs
trait_hashesarrayNo-String arrayFilter by specific trait hashes
trait_namesarrayNo-String arrayFilter by trait names (exact match)
include_allbooleanNofalse-Retrieve all traits (for initial discovery)
limitnumberNo505-10000Maximum traits to return
offsetnumberNo0>= 0Pagination offset
workflow_idstringNo-Valid UUIDWorkflow session identifier

Parameter Details:

entity_type:

  • Required. Use "person" for individual traits or "business" for company traits.

domains:

  • Available domains: purchase, demographic, intent, interest, financial, firmographic, affinity, content, employment, household, lifestyle, political
  • Example: ["demographic", "interest"]

include_all:

  • Set to true to retrieve all available traits without filtering
  • Useful for initial discovery and exploration
  • If false, at least one filter (domains, trait_ids, trait_hashes, or trait_names) must be provided

Request Schema:

interface TraitListParams {
  entity_type: "person" | "business";
  domains?: Array<"purchase" | "demographic" | "intent" | "interest" | "financial" | "firmographic" | "affinity" | "content" | "employment" | "household" | "lifestyle" | "political">;
  trait_ids?: string[];
  trait_hashes?: string[];
  trait_names?: string[];
  include_all?: boolean;
  limit?: number;
  offset?: number;
  workflow_id?: string;
}

Output Format

{
  traits: Array<{
    trait_id: string;
    trait_hash: string;
    name: string;
    value: string;
    domain: string;
    size: number;
    prevalence: number;
    skew: number;
  }>,
  total: number,
  returned: number,
  has_more: boolean,
  next_offset?: number,
  tool_trace_id: string,
  workflow_id: string
}

Response Fields:

FieldTypeDescription
traitsarrayArray of trait metadata
traits[].trait_idstringNumeric trait identifier (may change across rebuilds)
traits[].trait_hashstringStable hash identifier (persists across rebuilds)
traits[].namestringTrait name (e.g., "income_range")
traits[].valuestringTrait value (e.g., "150000_plus")
traits[].domainstringDomain category
traits[].sizenumberNumber of entities with this trait
traits[].prevalencenumberProportion of total population (0-1)
traits[].skewnumberStatistical skew measure
totalnumberTotal matching traits
returnednumberNumber returned in this page
has_morebooleanWhether more results exist
tool_trace_idstringOpenTelemetry trace ID
workflow_idstringWorkflow session identifier

Example Response:

{
  "traits": [
    {
      "trait_id": "1000000001",
      "trait_hash": "abc123def456",
      "name": "income_range",
      "value": "150000_plus",
      "domain": "demographic",
      "size": 2500000,
      "prevalence": 0.08,
      "skew": 1.2
    },
    {
      "trait_id": "1000000002",
      "trait_hash": "ghi789jkl012",
      "name": "education",
      "value": "graduate_degree",
      "domain": "demographic",
      "size": 4200000,
      "prevalence": 0.14,
      "skew": 0.9
    }
  ],
  "total": 45,
  "returned": 2,
  "has_more": true,
  "next_offset": 2,
  "tool_trace_id": "a1b2c3d4e5f6",
  "workflow_id": "550e8400-e29b-41d4-a716-446655440000"
}

Usage Examples

Example 1: Browse demographic traits

{
  "entity_type": "person",
  "domains": ["demographic"]
}

Example 2: Browse multiple domains

{
  "entity_type": "person",
  "domains": ["demographic", "interest", "affinity"],
  "limit": 100
}

Example 3: Look up specific trait hashes

{
  "entity_type": "person",
  "trait_hashes": ["abc123def456", "ghi789jkl012"]
}

Example 4: Discover all traits

{
  "entity_type": "person",
  "include_all": true,
  "limit": 10000
}

Example 5: Paginated browsing

{
  "entity_type": "person",
  "domains": ["interest"],
  "limit": 50,
  "offset": 50
}

On this page