---
title: "List behaviors"
method: GET
path: "/api/request-logs/behavior-columns/"
tags: ["Behaviors"]
---

# List behaviors

`GET /api/request-logs/behavior-columns/`

## Request

- Base URL: `https://api.respan.ai`
- URL: `https://api.respan.ai/api/request-logs/behavior-columns/`
- Auth: HTTP bearer

Lists every behavior turned on for your organization, built-in and custom, with the key it's counted under. Use the keys with the other behavior endpoints. Returns an empty list instead of an error when behaviors are off.

## Response `200`

The behaviors.

- BehaviorCatalog
  - `columns` BehaviorCatalogEntry[], required: Built-in behaviors, then custom behaviors oldest first. Turned-off behaviors are left out. Empty when behaviors are off for the organization.
    - `id` string, required: Column ID, `behavior__<key>`. Spans list filters accept it as a filter key.
    - `key` string, required: Behavior key: a built-in behavior's name (for example `refusal`) or a custom behavior's `id`.
    - `name` string, required: Display name. For a built-in behavior, its key in title case (`Instruction Miss`). For a custom behavior, its `name`, else its `description`, else its `id`.
    - `polarity` 'negative' | 'positive' | 'neutral', required: Whether the behavior firing is good or bad: `negative` (an Issue), `positive` (a Win) or `neutral` (Info). Display metadata only; it does not change how spans are scored.
    - `type` 'boolean', required: Always `boolean`.
    - `source` 'builtin' | 'custom', required: `builtin` or `custom`.
  - `is_span_behaviors_enabled` boolean, required: Whether behaviors are turned on for the organization.
  - `max_selected_columns` integer, required: Most behaviors one spans list or summary request can ask counts for in `behavior_columns`.
  - `true_probability_threshold` number, required: A behavior fires on a span when its latest score is at or above this value.

## Other responses

- `403`: Forbidden: the API key is missing, invalid or expired; the key doesn't grant `logs:read` (Read access does).
- `429`: Rate limited. This endpoint allows 60 requests per minute per organization.

## Changes

- **2026-10-21** `c30bcb383ee8`: 1 breaking, 3 info
  - the `true_probability_threshold` response's property format changed from `double` to no format for status `200`
  - api operation id `behaviors_listBehaviors` removed and replaced with `listBehaviors`
  - api tag `Behaviors` added
  - api tag `behaviors` removed
- **2026-10-02** `b830b79cfd52`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/respan/apis/respan-api/changes/api/request-logs/behavior-columns/get.md)

---

[API](https://skmtc.dev/respan/apis/respan-api.md) - [All operations](https://skmtc.dev/respan/apis/respan-api/llms.txt) - [OpenAPI document](https://skmtc.dev/respan/apis/respan-api/revisions/900841387635?raw)
