---
title: "List org-scoped bot profiles"
---

> Documentation Index
> Fetch the complete documentation index at: https://tryshiba.dev/llms.txt
> Use this file to discover all available pages before exploring further.

Path: Shiba public API

`GET /org-agents`

## Authentication

- `bearerAuth`, http, header `Authorization`, format `API key`

## Query parameters

- `archived` (`get/org-agents.query.archived`; string, optional)
  - one of `"true"`, `"false"`

## Code samples

### cURL

```bash
curl --request GET \
  --url '<base-url>/api/v1/org-agents' \
  --header 'Authorization: Bearer <token>'
```

### TypeScript

```typescript
const url = '<base-url>/api/v1/org-agents';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch(url, options)
  .then(res => res.json())
  .then(json => console.log(json))
  .catch(err => console.error(err));
```

### Python

```python
import requests

url = "<base-url>/api/v1/org-agents"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
```

## Responses

### 200

Bot profiles

#### Example

```json
{
  "ok": true,
  "agents": [
    {
      "id": "string",
      "orgId": "string",
      "slug": "string",
      "version": 1,
      "config": {
        "name": "string",
        "emoji": "string",
        "mascotPreset": "hero",
        "instructions": "string",
        "harness": "string",
        "codingModel": "string",
        "connectionId": "string",
        "sandboxProvider": "cloudflare",
        "defaultRepoUrl": "string",
        "expectedDeliverables": [
          "string"
        ],
        "approvalPolicy": "standard",
        "toolScopes": [
          "string"
        ]
      },
      "createdAt": 0,
      "updatedAt": 0,
      "archivedAt": 0
    }
  ]
}
```

- `ok` (`get/org-agents.response.200.ok`; boolean, optional)
- `agents` (`get/org-agents.response.200.agents`; array<object>, optional)
  - `id` (`get/org-agents.response.200.agents.id`; string, required)
  - `orgId` (`get/org-agents.response.200.agents.orgId`; string, required)
  - `slug` (`get/org-agents.response.200.agents.slug`; string, required)
  - `version` (`get/org-agents.response.200.agents.version`; integer, required)
    - min 1
  - `config` (`get/org-agents.response.200.agents.config`; object, required)
    - `name` (`get/org-agents.response.200.agents.config.name`; string, required)
      - minLength 1; maxLength 120
    - `instructions` (`get/org-agents.response.200.agents.config.instructions`; string, required)
      - minLength 1; maxLength 32000
    - `harness` (`get/org-agents.response.200.agents.config.harness`; string, required)
      - minLength 1; maxLength 64
    - `emoji` (`get/org-agents.response.200.agents.config.emoji`; string, optional)
      - minLength 1; maxLength 16
    - `mascotPreset` (`get/org-agents.response.200.agents.config.mascotPreset`; string, optional)
      - one of `"hero"`, `"climbing"`, `"riding"`, `"sleeping"`, `"sunglasses"`
    - `codingModel` (`get/org-agents.response.200.agents.config.codingModel`; string, optional)
      - minLength 1; maxLength 200
    - `connectionId` (`get/org-agents.response.200.agents.config.connectionId`; string, optional)
      - minLength 1; maxLength 120
    - `sandboxProvider` (`get/org-agents.response.200.agents.config.sandboxProvider`; string, optional)
      - one of `"cloudflare"`, `"docker-local"`, `"computesdk"`, `"e2b"`
    - `defaultRepoUrl` (`get/org-agents.response.200.agents.config.defaultRepoUrl`; string, optional)
      - minLength 1; maxLength 500
    - `expectedDeliverables` (`get/org-agents.response.200.agents.config.expectedDeliverables`; array<string>, optional) — Optional approval-frozen workspace output paths, in delivery order. Paths are unique ignoring case; relative, non-hidden ASCII segments only (letters/digits, dot, underscore, hyphen, internal spaces), no empty/dot/parent/absolute segments or leading/trailing spaces. Only md/txt/json/csv. Requested complete UTF-8 nonempty files are capped at 16384 bytes each and 65536 bytes total; JSON must parse. Collection checks do not assess semantic quality.
      - minLength 1; maxLength 240; pattern `^(?!.* (?:/|$))(?:[A-Za-z0-9][A-Za-z0-9._ -]*/)*[A-Za-z0-9][A-Za-z0-9._ -]*\.(?:[mM][dD]|[tT][xX][tT]|[jJ][sS][oO][nN]|[cC][sS][vV])$`
    - `approvalPolicy` (`get/org-agents.response.200.agents.config.approvalPolicy`; string, optional) — Legacy auto_approve configuration does not bypass human run approval.
      - one of `"standard"`, `"auto_approve"`
    - `toolScopes` (`get/org-agents.response.200.agents.config.toolScopes`; array<string>, optional) — Legacy values are readable; create/update reject nonempty scopes until execution enforces them.
      - maxLength 64
  - `createdAt` (`get/org-agents.response.200.agents.createdAt`; number, required)
  - `updatedAt` (`get/org-agents.response.200.agents.updatedAt`; number, required)
  - `archivedAt` (`get/org-agents.response.200.agents.archivedAt`; number, optional)


Source: https://tryshiba.dev/reference/api/get/org-agents/index.md
