---
title: "Get Custom Agent"
method: GET
path: "/agent/custom/{custom_agent_id}"
---

# Get Custom Agent

`GET /agent/custom/{custom_agent_id}`

## Request

- Base URL: `https://api.tellers.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tellers.ai/agent/custom/{custom_agent_id}`
- Auth: none declared

## Path parameters

- `custom_agent_id` string, uuid, required

## Headers

- `x-api-key` string, nullable
- `authorization` string, nullable

## Response `200`

Successful Response

- APICustomAgent
  - `id` string, required
  - `name` string, required
  - `description` string, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `last_edit` string, date-time, nullable
  - `logo_url` string, nullable, required
  - `logo_mime_type` string, nullable
  - `logo_status` 'PROCESSING' | 'READY' | 'OPTIMIZED' | 'FAILED'
  - `demo_url` string, nullable
  - `demo_mime_type` string, nullable
  - `is_public_read` boolean
  - `publication_status` 'ORIGINAL' | 'PENDING' | 'POSTED': Where a ``ta_custom_agent`` row sits in the publication flow. An assistant is ORIGINAL and stays editable for its whole life. Publishing freezes a copy of it as PENDING; approving that copy makes it POSTED and retires whichever copy was POSTED before. An assistant can therefore have a live copy and a copy under review at the same time — which is the point, since otherwise submitting an update would mean taking the live one down.
  - `needs_changes` boolean
  - `slug_id` string, nullable
  - `created_from_custom_agent_id` string, nullable
  - `pending_custom_agent_id` string, nullable
  - `pending_needs_changes` boolean, nullable
  - `pending_reviewer_comment` string, nullable
  - `posted_custom_agent_id` string, nullable
  - `labels` string[]
  - `likes_count` integer
  - `dislikes_count` integer
  - `my_vote` boolean, nullable
  - `review` APICustomAgentReview
    - `status` 'REVIEW_PENDING' | 'REVIEW_APPROVED' | 'REVIEW_CHANGE_REQUESTED', required
    - `reviewer_comment` string, nullable
    - `requested_at` string, date-time, nullable
    - `reviewed_at` string, date-time, nullable
  - `role` CustomAgentRole[]
  - `is_owner` boolean, nullable
  - `author_email` string, nullable
  - `data` APICustomAgentData, required
    - `prompt` string
    - `preselected_tools` string[], nullable
    - `available_tools` string[], nullable
    - `demo_asset_url` string, nullable
    - `demo_asset_mime_type` string, nullable
    - `demo_asset_thumbnail_url` string, nullable
    - `demo_asset_status` 'PROCESSING' | 'READY' | 'OPTIMIZED' | 'FAILED'

## Other responses

- `422`: Validation Error

---

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