---
title: "Get list of agents"
method: GET
path: "/dashboards"
tags: ["Custom Agents"]
---

# Get list of agents

`GET /dashboards`

> 🚧 Alpha: Custom Agents is a new capability and still under active development. Endpoints, fields, and behavior may change without notice.

Returns every Threat Intelligence Agent — Custom Agents as well as the built-in TTP, Cyberattacks, Brand Monitoring, Vulnerability, and Credential Leaks agents.

To find your team's Custom Agents, filter the response for items where `type` is `customAgent`, then pass each one's `id` to `GET /custom-agents/{id}` to fetch that agent's rows.

## Response `200`

A list of agents for the enterprise team.

- union[]
  - union
    - CustomAgentDashboard — Fields present on every item returned by `GET /dashboards`, regardless of `type`.
      - `id` string, required — Unique identifier for this dashboard/agent. For `customAgent` items, this is the value you pass as `id` to `GET /custom-agents/{id}`.
      - `type` 'customAgent', required — The kind of dashboard/agent this item represents. Feedly Threat Intelligence currently supports `customAgent`, `ttp`, `cyberAttack`, `brandMonitoring`, `vulnerability`, and `credentialLeaks`.
      - `name` string, required — Display name of the dashboard/agent, as set by the person who created it.
      - `created` integer, required — EPOCH timestamp, in milliseconds, of when this dashboard/agent was created.
      - `createdBy` string, required — Feedly user ID of the person who created this dashboard/agent.
      - `pir` string, required — The Priority Intelligence Requirement (natural-language question) this Custom Agent was built to answer.
      - `pirMentions` PirMention[] — Intel Profiles or entity lists `@`-mentioned in `pir`, used to scope the agent. Empty when the PIR doesn't reference one.
        - `id` string
        - `type` string
        - `mention` string — The literal `@`-mention text as typed in the PIR.
      - `schema` CustomAgentSchema, required — Defines the shape of the table a Custom Agent produces: the entity type it tracks, and the columns that show up as `cells` on each row returned by `GET /custom-agents/{id}`.
        - `idFunction` string — Internal prompt Feedly AI uses to decide which entities belong in this agent's table (e.g. which APT groups or malware families are relevant). Included for reference; not needed to consume the agent's data.
        - `entityType` string, required — The Feedly entity type this agent tracks one row per instance of.
        - `entityTypeLabel` string — Human-readable label for `entityType`, used as a column header in Feedly's UI.
        - `columns` DashboardColumn[], required — The columns of this agent's table, in display order. Each row returned by `GET /custom-agents/{id}` has one cell per column here, matched by `cell.column` equal to `column.name`.
          - `id` string, nullable — Stable identifier for built-in (`predefined`) columns. `null` for user-defined (`userProvided`) columns — match those on `name` instead.
          - `name` string, required — Column header, as shown in Feedly's UI. This is the value that shows up in `column` on each cell returned by `GET /custom-agents/{id}`.
          - `type` 'predefined' | 'userProvided', required — Whether this column ships with every Custom Agent (`predefined`) or was added by the person who built this agent (`userProvided`).
          - `description` string — Explanation of what this column captures, shown when building the agent.
          - `prompt` string — For `userProvided` columns, the instructions given to Feedly AI to populate this column for every row. Not present on `predefined` columns.
    - DashboardSummary — Fields present on every item returned by `GET /dashboards`, regardless of `type`.
      - `id` string, required — Unique identifier for this dashboard/agent. For `customAgent` items, this is the value you pass as `id` to `GET /custom-agents/{id}`.
      - `type` 'ttp' | 'cyberAttack' | 'brandMonitoring' | 'vulnerability' | 'credentialLeaks', required — The kind of dashboard/agent this item represents. Feedly Threat Intelligence currently supports `customAgent`, `ttp`, `cyberAttack`, `brandMonitoring`, `vulnerability`, and `credentialLeaks`.
      - `name` string, required — Display name of the dashboard/agent, as set by the person who created it.
      - `created` integer, required — EPOCH timestamp, in milliseconds, of when this dashboard/agent was created.
      - `createdBy` string, required — Feedly user ID of the person who created this dashboard/agent.

## Other responses

- `401` — Missing or invalid Authorization header.
- `429` — Rate limit exceeded. See [Request Limits](https://developers.feedly.com/reference/request-limits).

---

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