Metadata Type Operators

This reference shows which operators are available for each metadata type in filter conditions.

Available Operators

Metadata Type Available Operators Notes
tag value, is, equal, not_equal, is_null, is_not_null Can use external_id with _id suffix on field name
flag value, is, equal, not_equal, is_null, is_not_null Value should be boolean
integer value, is, equal, not_equal, greater_than, less_than, greater_than_or_equal_to, less_than_or_equal_to, between, is_null, is_not_null  
float value, is, equal, not_equal, greater_than, less_than, greater_than_or_equal_to, less_than_or_equal_to, between, is_null, is_not_null  
string value, is, equal, not_equal, is_null, is_not_null Case-insensitive matching
text value, is_null, is_not_null Full-text search with PostgreSQL text search operators
date value, is, equal, not_equal, greater_than, less_than, greater_than_or_equal_to, less_than_or_equal_to, between, is_null, is_not_null Date format: YYYY-MM-DD
range value, between For numeric ranges like BPM and duration. Value represents exact match, between for range
vector value For lyrical theme searches using embeddings

Examples

// Tag example
{
    "genre": {
        "value": "Rock"
    }
}

// Tag with external ID
{
    "genre_id": {
        "value": 123
    }
}

// Flag example
{
    "active": {
        "value": true
    }
}

// Integer with between
{
    "pro_id": {
        "between": [100, 200]
    }
}

// Float with greater than
{
    "rating": {
        "greater_than": 4.5
    }
}

// String equality
{
    "title": {
        "equal": "Song Name"
    }
}

// Text search
{
    "description": {
        "value": "guitar solo"
    }
}

// Text search for exact phrase
{
    "description": {
        "value": "\"guitar solo\""
    }
}

// Date range
{
    "release_date": {
        "between": ["2020-01-01", "2020-12-31"]
    }
}

// BPM range
{
    "bpm": {
        "between": [120, 130]
    }
}

// Lyrical theme
{
    "lyrical_theme": {
        "value": "songs about summer love"
    }
}

Operator Aliases

Some operators have multiple names for convenience:

  • value, is, equal all perform equality comparison
  • not_equal is equivalent to using the not operator with equal