# Get one of the caller's saved agents at its current or a named revision.

`GET /o/{org}/agents/{agent}`

Archived agents are still readable. Another user's agent is `404`.

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `org` | path | string | yes | The org's slug or id. A caller with no role in the org gets `404`. |
| `agent` | path | string | yes | The saved agent's id (UUID). Handles are not accepted here. |
| `revision` | query | integer | no | Revision to read; defaults to the current one. |

## Example request

```bash
curl "https://api.prix.dev/o/$RUSH_ORG/agents/$AGENT" \
  -H "Authorization: Bearer $RUSH_TOKEN"
```

```typescript
const org = process.env.RUSH_ORG;
const agent = process.env.AGENT;

const res = await fetch(`https://api.prix.dev/o/${org}/agents/${agent}`, {
  headers: {
    Authorization: `Bearer ${process.env.RUSH_TOKEN}`,
  },
});

console.log(res.status, await res.json());
```

```python
import os

import requests

org = os.environ["RUSH_ORG"]
agent = os.environ["AGENT"]

res = requests.get(
    f"https://api.prix.dev/o/{org}/agents/{agent}",
    headers={"Authorization": f"Bearer {os.environ['RUSH_TOKEN']}"},
)

print(res.status_code, res.json())
```

## Responses

### 200

The agent with the requested revision's name, description and config.

- `id` (string, required)
- `name` (string, required)
- `handle` (string, required)
- `description` (string, required)
- `harness` (string, required, one of `claude`, `codex`, `opencode`): Launch-boundary managed harnesses.
- `revision` (integer, required)
- `archived` (boolean, required)
- `source` (object | object | null, required)
- `config` (SavedAgentConfig, required): The desired configuration stored with one revision.
  - `harness` (string, required, one of `claude`, `codex`, `opencode`): Launch-boundary managed harnesses.
  - `catalog_revision` (string, required)
  - `runtime` (object | object, required)
  - `defaults` (object, required)
    - `model` (SavedAgentModel, required)
      - `selection` (string, required)
      - `id` (string, required): A model id the harness lists in `GET /o/{org}/agents/available`.
    - `effort` (string | null, required)
    - `speed` (string, required, one of `standard`, `fast`)
  - `instructions` (string, required)
  - `connection_refs` (array of SavedAgentConnectionRef, required)
    - `kind` (string, required, one of `oauth`, `mcp`)
    - `id` (string, required)
  - `capabilities` (object, required)
    - `browser` (boolean, required)
    - `computer` (boolean, required)
  - `tools` (object | object, required)
  - `network` (object | object, required)
  - `plugins` (array of object, required)
    - `catalog_id` (string, required)
- `resolved_at_save` (SavedAgentResolved, required): What the config resolved to against the catalog when this revision was saved.
  - `model` (string, required)
  - `effort` (string | null, required)
  - `speed` (string, required, one of `standard`, `fast`)
  - `harness_version` (string | null, required)
  - `tool_ids` (array of string | null, required)
  - `plugins` (array of object, required)
    - `catalog_id` (string, required)
    - `version` (string, required)
    - `digest` (string, required)
  - `runtime_id` (string | null, required)
  - `catalog_revision` (string, required)
  - `pin_guarantee` (boolean, required)
- `created_at` (string, required)
- `updated_at` (string, required)

### 400

`revision` is not a positive integer (`INVALID_REVISION`).

### 401

No bearer, an unknown, revoked or expired one, or an API key on a route keys cannot call.

### 404

No such agent or revision for the caller (`NOT_FOUND`).

## Example response (200)

```json
{
  "id": "3f6c1e2a-8b4d-4c1e-9a7f-2d5b6e8c0a14",
  "name": "string",
  "handle": "string",
  "description": "string",
  "harness": "claude",
  "revision": 1,
  "archived": true,
  "source": {
    "profile_id": "string",
    "revision": 1
  },
  "config": {
    "harness": "claude",
    "catalog_revision": "string",
    "runtime": {
      "selection": "latest_verified"
    },
    "defaults": {
      "model": {
        "selection": "pinned",
        "id": "string"
      },
      "effort": "none",
      "speed": "standard"
    },
    "instructions": "string",
    "connection_refs": [
      {
        "kind": "oauth",
        "id": "string"
      }
    ],
    "capabilities": {
      "browser": true,
      "computer": true
    },
    "tools": {
      "mode": "default"
    },
    "network": {
      "mode": "public"
    },
    "plugins": [
      {
        "catalog_id": "string"
      }
    ]
  },
  "resolved_at_save": {
    "model": "string",
    "effort": "none",
    "speed": "standard",
    "harness_version": "string",
    "tool_ids": [
      "string"
    ],
    "plugins": [
      {
        "catalog_id": "string",
        "version": "string",
        "digest": "string"
      }
    ],
    "runtime_id": "string",
    "catalog_revision": "string",
    "pin_guarantee": true
  },
  "created_at": "2026-10-06T12:00:00Z",
  "updated_at": "2026-10-06T12:00:00Z"
}
```
