---
title: "List custom behaviors"
method: GET
path: "/api/pulses/behaviors/custom/"
tags: ["Behaviors"]
---

# List custom behaviors

`GET /api/pulses/behaviors/custom/`

## Request

- Base URL: `https://api.respan.ai`
- URL: `https://api.respan.ai/api/pulses/behaviors/custom/`
- Auth: HTTP bearer

Lists your organization's custom behaviors, most recently updated first.

## Query parameters

- `page` integer
- `page_size` integer
- `tags` string

## Response `200`

A page of custom behaviors.

- CustomBehaviorList
  - `results` CustomBehaviorWithTags[], required: Custom behaviors, most recently updated first.
    - `id` string, required: Custom behavior ID. It is also the behavior's key in analytics, filters and span verdicts.
    - `name` string, nullable, required: Display name. Optional and not unique; behaviors are identified by `id`.
    - `description` string, required: The plain-language definition span-01 scores each span against. Say what counts and what doesn't. At least 3 characters after trimming.
    - `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.
    - `created_at` string, date-time, required
    - `updated_at` string, date-time, required
    - `tags` BehaviorTag[], required: Tags on the behavior.
      - `id` string, required: Tag ID.
      - `name` string, required: Tag name.
      - `color` string, required: Tag color.
      - `created_at` string, date-time, required
      - `updated_at` string, date-time, required
  - `count` integer, required: Number of behaviors on this page (not the total).
  - `next` string, uri, nullable, required: URL of the next page, or `null` on the last page.
  - `previous` string, uri, nullable, required: URL of the previous page, or `null` on the first page.
  - `current_filters` object: Always empty for this endpoint.

## Other responses

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

## Changes

- **2026-10-21** `c30bcb383ee8`: 10 breaking, 4 info
  - the response property `next` became nullable for the status `200`
  - the response property `previous` became nullable for the status `200`
  - the `results/items/` response's property type changed from `object` to no type for status `200`
  - removed the required property `results/items/created_at` from the response with the `200` status
  - …10 more
- **2026-10-02** `b830b79cfd52`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/respan/apis/respan-api/changes/api/pulses/behaviors/custom/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)
