---
title: "Read an entry (optionally a historical version via ?versionId)"
method: GET
path: "/entries/{entryId}"
tags: ["Entries"]
---

# Read an entry (optionally a historical version via ?versionId)

`GET /entries/{entryId}`

## Request

- Base URL: `https://whatareyoudo.ing/api/v1`
- URL: `https://whatareyoudo.ing/api/v1/entries/{entryId}`
- Auth: HTTP bearer

## Path parameters

- `entryId` string, uuid, required

## Query parameters

- `versionId` string, uuid

## Response `200`

OK

- object
  - `data` EntryDetail, required
    - `id` string, uuid, required
    - `diaryId` string, uuid, required
    - `createdBy` string, uuid, required
    - `occurredAt` string, date-time, required
    - `headCommitId` string, uuid, nullable, required
    - `viewingCommitId` string, uuid, nullable, required
    - `isLocked` boolean, required
    - `unlockAt` string, date-time, nullable, required
    - `items` EntryItem[], required
      - `id` string, uuid, required
      - `itemKey` string, required
      - `type` string, required
      - `position` integer, required
      - `text` object
        - `format` 'plain' | 'markdown' | 'poll_decision', required
        - `content` string, required
      - `media` object
        - `mediaAssetId` string, uuid, required
        - `caption` string, nullable, required
        - `altText` string, nullable, required
        - `storageKey` string, required
      - `meal` object
        - `title` string, nullable, required
        - `memo` string, nullable, required
        - `eatenAt` string, nullable, required
      - `transaction` object
        - `transactionType` string, required
        - `amount` string, required
        - `currency` string, required
        - `sourceAccountId` string, uuid, nullable, required
        - `destinationAccountId` string, uuid, nullable, required
        - `categoryId` string, uuid, nullable, required
        - `counterparty` string, nullable, required
        - `memo` string, nullable, required
        - `transactedAt` string, nullable, required
      - `tracker` object
        - `trackerId` string, uuid, required
        - `valueNumber` number, nullable, required
        - `valueText` string, nullable, required
    - `body` string, required
    - `title` string, nullable, required
    - `mood` string, nullable, required
    - `location` string, nullable, required
    - `locationLat` number, nullable, required
    - `locationLng` number, nullable, required
    - `tags` string[], required
    - `coverUrl` string, nullable, required
    - `coverMediaAssetId` string, uuid, nullable, required
    - `editors` DiaryMember[], required
      - `id` string, uuid, required
      - `username` string, nullable, required
      - `displayName` string, nullable, required
      - `avatarUrl` string, nullable, required
    - `prompt` string, nullable, required: The diary's writing prompt for the day this entry is filed under (its diary-local day), or null when that day has none. Always null for a sealed Time Capsule.
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
  - `meta` object, required
    - `requestId` string, required

## Other responses

- `403`: PLAN_LIMIT_REACHED -- Free plan can't view entries older than 30 days (issue #84)
- `404`: Not found

## Changes

- **2026-10-20** `5babd76752f2`: 1 info
  - added the required property `data/prompt` to the response with the `200` status

[Operation history](https://skmtc.dev/whatareyoudo/apis/whatcha-api/changes/entries/:entryId/get.md)

---

[API](https://skmtc.dev/whatareyoudo/apis/whatcha-api.md) · [All operations](https://skmtc.dev/whatareyoudo/apis/whatcha-api/llms.txt) · [OpenAPI document](https://skmtc.dev/whatareyoudo/apis/whatcha-api/revisions/48dd8a54abea?raw)
