---
title: "A peer's profile and derived facts"
method: GET
path: "/v1/peers/{peer_id}"
tags: ["Memory"]
---

# A peer's profile and derived facts

`GET /v1/peers/{peer_id}`

## Request

- Base URL: `https://api.1claw.co`
- URL: `https://api.1claw.co/v1/peers/{peer_id}`
- Auth: HTTP bearer

A peer is a shared model of one human, across the agents serving them.

**An agent reaches a peer only by being named in its observer list.**
Being in the same organisation, the same platform connection, or holding
a broad scope grants nothing. A peer with no observers is readable by no
agent at all — forgetting to set observers must not expose someone's
behavioural profile to every agent in the org.

A peer in another organisation returns 404, the same as an unknown id:
whether one exists elsewhere is not something a caller should learn.

Each fact carries `provenance` — why it is believed. Entries for events
that have since expired become tombstones keeping the shape of what was
seen without the content, so a belief about a person always has a
recoverable basis.

## Path parameters

- `peer_id` string, uuid, required

## Response `200`

Peer and facts

- object
  - `peer` Peer
    - `id` string, uuid, required
    - `peer_type` 'user' | 'platform_connection' | 'external', required
    - `peer_ref` string, required
    - `display_name` string, nullable
    - `profile` object, required
    - `status` 'active' | 'archived', required: Archived when a connection is disconnected. Agents lose observation; the person keeps export and delete.
    - `observer_count` integer, required: How many agents observe this peer. The list itself is not returned here.
    - `created_at` string, date-time, required
  - `facts` PeerFact[]
    - `fact_key` string, required
    - `fact_value` object, required
    - `confidence` string, nullable: 0..1, capped below certainty — no history makes the next decision certain.
    - `provenance` object[], required: Why this is believed. Entries are `event`, `tombstone` (the event has expired; kind and decision are kept, content is not) or `human`.
    - `edited_by_human` boolean, required: A person corrected this. The processor will not overwrite it.
    - `updated_at` string, date-time, required

## Other responses

- `403`: Insufficient permissions
- `404`: Resource not found

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/5fa0918f3b41?raw)
