---
title: "List Expert Templates"
method: GET
path: "/api/experts/templates"
tags: ["v2", "experts", "experts"]
---

# List Expert Templates

`GET /api/experts/templates`

Roster templates, narrowed by a search term and/or a marketplace category.

Unpaginated: the roster is small, and every caller reads the whole list.

## Query parameters

- `search_query` string, nullable
- `category` string, nullable

## Response `200`

Successful Response

- ExpertTemplate[]
  - `id` string, required
  - `name` string, required
  - `avatar_url` string, nullable, required
  - `color` string
  - `role` string, required
  - `tagline` string, nullable, required
  - `bio` string, nullable, required
  - `skills` string[], required
  - `categories` string[]
  - `identity` string, required
  - `voice_preferences` string, required
  - `voice_samples` VoiceSample[]
    - `label` string, required
    - `text` string, required
  - `day_one` ExpertDayOneItem[]
    - `title` string, required
    - `description` string
    - `timing` string
  - `boundaries` string, required
  - `protected_soul_rules` string[], required
  - `is_template` boolean, required
  - `source_template_id` string, nullable, required
  - `is_archived` boolean, required
  - `workflows` ExpertWorkflowRef[], required
    - `id` string, required
    - `store_listing_version_id` string, nullable, required
    - `library_agent_id` string, nullable, required
    - `graph_id` string, nullable, required
    - `name` string, nullable, required
    - `description` string, nullable, required
    - `schedule_cron` string, nullable
    - `schedule_id` string, nullable
    - `chain` ExpertWorkflowChainItem[]
      - `kind` 'integration' | 'input' | 'output' | 'trigger' | 'agent' | 'ai' | 'mcp' | 'human', required
      - `provider` string, nullable
    - `integration_providers` string[]
  - `credential_count` integer
  - `credential_providers` string[]
  - `last_run_at` string, date-time, nullable
  - `last_run_status` string, nullable
  - `weekly_budget` integer, nullable
  - `weekly_spend` integer
  - `schedules_paused_at` string, date-time, nullable
  - `pod_id` string, nullable
  - `bundled_skills` ExpertBundledSkill[]
    - `id` string, required
    - `slug` string, required
    - `title` string, required
    - `description` string, required

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-16** `35b5057b080e` — 1 breaking, 1 info
  - removed the required property `items/bundled_skills/items/name` from the response with the `200` status
  - added the required property `items/bundled_skills/items/title` to the response with the `200` status
- **2026-09-12** `b5f46c742fe0` — 2 info
  - the endpoint scheme security `HTTPBearer` was added to the API
  - added the optional property `items/bundled_skills` to the response with the `200` status
- **2026-09-11** `505bcf724618` — 4 info
  - added the new optional `query` request parameter `category`
  - added the new optional `query` request parameter `search_query`
  - added the non-success response with the status `422`
  - added the optional property `items/categories` to the response with the `200` status
- **2026-09-11** `d0ab5162cf6e` — 1 info
  - added the optional property `items/day_one` to the response with the `200` status
- **2026-09-11** `55ff31eb7c7f` — 1 info
  - added the optional property `items/workflows/items/integration_providers` to the response with the `200` status

[Full history](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/changes/api/experts/templates/get.md)

---

[API](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server.md) · [All operations](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/llms.txt) · [OpenAPI document](https://skmtc.dev/significant-gravitas/apis/autogpt-agent-server/revisions/5f27fa9d6c03?raw)
