---
title: "Get an AI Agent (v2)"
method: GET
path: "/v2/agents/{idOrAddress}"
tags: ["Agents"]
---

# Get an AI Agent (v2)

`GET /v2/agents/{idOrAddress}`

## Request

- Base URL: `https://api.chat.ethora.com`
- URL: `https://api.chat.ethora.com/v2/agents/{idOrAddress}`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

Returns one Agent. Supports `User JWT` and `B2B Server JWT`.

A `private` agent is readable by its owner and platform readers
(`isSuperAdmin.read`) only. `unlisted` and `public` agents are readable
by any authenticated caller, including platform-owned agents such as
the Support Agent template (`ownerId: 'system'`).

## Path parameters

- `idOrAddress` string, required

## Response `200`

```
{
  ok: true,
  agent: {
    id: string,
    address: string,              // EOA-style, 0x + 40 hex
    ownerId: string,              // user id, tenant App id (B2B), or 'system'
    ownerAppId: string|null,      // home App
    originAppId: string|null,     // alias of ownerAppId
    originAppName: string|null,   // list/get only, null on write responses
    botInstancesCount: number|null, // list/get only, null on write responses
    displayName: string,
    avatarUrl: string,
    bio: string,
    prompt: string,
    llmProvider: string,
    llmModel: string,
    embeddingModel: string,
    contextSize: number,
    responseMode: 'always'|'mentioned'|'smart'|'probability',
    responseProbability: number,
    cooldownSec: number,
    greetingMessage: string,
    isRAG: boolean,
    ragTags: string[],
    categories: string[],         // customer-support | persona | entertainment | worker
    soulMd: string,               // "Memory" in the admin UI
    soulMdUpdatedAt: ISODate|null,
    soulMdUpdatedBy: 'operator'|'agent'|null,
    heartbeat: { enabled: boolean, schedule: string, prompt: string },
    flowsYaml: string,
    flows: object[],              // compiled flows
    visibility: 'private'|'unlisted'|'public',
    totalSiteSourceSize: number,  // indexed knowledge, bytes
    createdAt: ISODate,
    updatedAt: ISODate
  }
}
```

## Other responses

- `400`: Bad Request
- `401`: Unauthorized
- `403`: Private agent of another owner. ``` { error: 'Forbidden', code: 'FORBIDDEN' } ```
- `404`: ``` { error: 'Agent not found', code: 'AGENT_NOT_FOUND' } ```
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/ethora/apis/platform-api.md) · [All operations](https://skmtc.dev/ethora/apis/platform-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ethora/apis/platform-api/revisions/01b6e64378ee?raw)
