---
title: "List Shared Data Heartbeat Logs"
method: GET
path: "/api/admin/shared-data/users/{user_id}/heartbeat-logs"
tags: ["admin"]
---

# List Shared Data Heartbeat Logs

`GET /api/admin/shared-data/users/{user_id}/heartbeat-logs`

Return heartbeat scheduler runs with their content fields.

The non-consent variant ``/admin/users/{id}/heartbeat-logs`` returns
only metadata (id, action_type, channel, created_at) since #336.
For consenting users the full content surfaces here: ``message_text``
(what the agent sent on this tick), ``reasoning`` (why it sent /
skipped — often quotes the user back to themselves), and ``tasks``
(the serialized task state the LLM was deciding from). All three
columns are envelope-encrypted at rest; ORM reads decrypt
transparently and we redact PII shapes before serialization.

## Path parameters

- `user_id` string, required

## Query parameters

- `limit` integer
- `start_date` string, nullable — ISO-8601 timestamp; lower bound on created_at.
- `end_date` string, nullable — ISO-8601 timestamp; upper bound on created_at.

## Response `200`

Successful Response

- SharedDataHeartbeatLogListResponse
  - `user_id` string, required
  - `consent_at` string, nullable, required
  - `items` SharedDataHeartbeatLogItem[], required
    - `id` integer, required
    - `action_type` string, required
    - `channel` string, required
    - `message_text` string, required
    - `reasoning` string, required
    - `tasks` string, required
    - `created_at` string, nullable, required
  - `total` integer, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/mozilla-ai/apis/clawbolt.md) · [All operations](https://skmtc.net/mozilla-ai/apis/clawbolt/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mozilla-ai/clawbolt/revisions/0e52fe5f8d33/schema)
