---
title: "Get the segment filter catalog"
method: GET
path: "/api/v1/segments/catalog"
tags: ["Segments"]
---

# Get the segment filter catalog

`GET /api/v1/segments/catalog`

Everything filterable in your organization — person attributes, related data, and computed variables — with the token and operators to use for each. Read this first when building a filter.

## Response `200`

Success

- object
  - `personAttributes` object[], required — Person columns and custom person attributes.
    - `attr` string, required — The exact token to place in a predicate's `attr` field.
    - `type` 'STRING' | 'NUMBER' | 'BOOLEAN' | 'DATE' | 'JSON' | 'ARRAY', required
    - `operators` string[], required — Operators valid for this type. Empty for JSON/ARRAY containers — drill into a leaf with `path` first.
    - `description` string, nullable, required
  - `computedVariables` object[], required
    - `attr` string, required — The exact token to place in a predicate's `attr` field.
    - `type` 'STRING' | 'NUMBER' | 'BOOLEAN' | 'DATE' | 'JSON' | 'ARRAY', required
    - `operators` string[], required — Operators valid for this type. Empty for JSON/ARRAY containers — drill into a leaf with `path` first.
    - `description` string, nullable, required
    - `label` string, required — Human-readable label.
    - `group` string, nullable, required — Grouping label for display.
  - `customObjectTypes` object[], required
    - `name` string, required
    - `displayName` string, nullable, required
    - `attributes` object[], required
      - `attr` string, required — The exact token to place in a predicate's `attr` field.
      - `type` 'STRING' | 'NUMBER' | 'BOOLEAN' | 'DATE' | 'JSON' | 'ARRAY', required
      - `operators` string[], required — Operators valid for this type. Empty for JSON/ARRAY containers — drill into a leaf with `path` first.
      - `description` string, nullable, required
  - `reachableObjects` object[], required
    - `typeName` string, required
    - `paths` array[], required
      - object[]
        - `customObjectType` string, required
        - `direction` 'parent_to_child' | 'child_to_parent'
        - `relationshipType` string
        - `attributeFilters` unknown[], required — Conditions on this hop, in the same shape as a `has_relationship` `attributeFilters` entry.
          - unknown
  - `operatorReference` object[], required
    - `operator` string, required
    - `takesValue` boolean, required — Whether the operator expects a `value`.
    - `valueShape` 'none' | 'scalar' | 'list' | 'date' | 'dateRange' | 'relativeWindow' | 'dateOffset', required — The shape the operator's `value` must take.
    - `description` string, required

## Other responses

- `400` — Validation failed or the request cannot proceed.
- `401` — Missing, malformed, or revoked API key.
- `404` — The resource does not exist in this organization.
- `409` — Conflicts with the current state (duplicates, wrong lifecycle state).
- `422` — The request is well-formed but semantically invalid.
- `429` — Rate limit exceeded — retry after `Retry-After`.
- `500` — Internal server error.
- `503` — Transient error — retry with a narrower request.

---

[API](https://skmtc.net/useboom/apis/boom-api.md) · [All operations](https://skmtc.net/useboom/apis/boom-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/useboom/boom-api/revisions/00f873e07076/schema)
