Zum Inhalt springen
Leadtime
Deutsch
Esc
↑↓navigieren↵öffnen⌘Jvorschau

Get journal entries

Returns a paginated list of journal entries for the current user.

What is a Journal? The journal is a personal note-taking system where users can document:

  • Personal notes and observations
  • Feedback and conversations
  • Goal agreements and reminders
  • Mood tracking (Happy, Neutral, Sad)

What is returned:

  • Entry content (formatted as HTML)
  • Creation date and creator
  • Mood indicator
  • Reminder date (if set)

Note: Available for both employees and organization members. Supports server-side pagination, sorting, and filtering via grid query parameters.

GET/account/journal
Authorization
AuthorizationOAuth2 access token · headerrequired
Scopes:api:read
or
AuthorizationBearer token (JWT) · headerrequired
Query parameters
pagenumber

Page number (1-based)

pageSizenumber

Number of items per page

viewIdstring

View identifier for saved grid configurations

filtersstring

JSON string containing filter configuration.

Available Fields:

  • id (string): Journal entry ID
  • createdAt (date): Journal entry creation timestamp
  • createdBy (string): Creator user ID
  • mood (set): Journal entry mood
  • reminder (date): Reminder date

Filter Structure:

[
  {
    "type": "string|number|date|set|boolean|array|task_status|task_type",
    "fieldName": "field_name",
    "value": {
      "comparison": "comparison_type",
      "value": "filter_value"
    }
  }
]

Group Filters (AND/OR Combinations):

[
  {
    "type": "group",
    "fieldName": "group0.18807479823070028",
    "value": {
      "type": "or",
      "filters": [
        {
          "type": "string",
          "fieldName": "fileName",
          "value": {
            "comparison": "contain",
            "value": "aa"
          }
        },
        {
          "type": "number",
          "fieldName": "rowCount",
          "value": {
            "comparison": ">=",
            "value": 33
          }
        }
      ]
    }
  }
]

Available Comparison Operators:

  • id (string): Journal entry ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
  • createdAt (date): Journal entry creation timestamp (date filter). Available comparisons: equal, not_equal, >, <, >=, <=, between, lastMonth, thisMonth, is_empty, is_not_empty
  • createdBy (string): Creator user ID (string filter). Available comparisons: contain, not_contain, equal, starts_with, ends_with, is_empty, is_not_empty
  • mood (set): Journal entry mood (set filter). Available comparisons: in, not_in, is_empty, is_not_empty
  • reminder (date): Reminder date (date filter). Available comparisons: equal, not_equal, >, <, >=, <=, between, lastMonth, thisMonth, is_empty, is_not_empty

Note: Use quickSearch parameter for simple text search instead of adding it to filters.

sortstring

JSON array of sort objects.

Sortable Fields:

  • id: Journal entry ID
  • createdAt: Journal entry creation timestamp
  • createdBy: Creator user ID
  • mood: Journal entry mood
  • reminder: Reminder date

Sort Structure:

[
  {
    "field": "field_name",
    "direction": "asc|desc"
  }
]

Default Sort: createdAt (desc)

fieldsToReturnstring[]

Comma-separated list of field names to include in response items. If not provided, all fields are returned.

Available Fields: id, createdAt, createdBy, mood, reminder, body

Responses
200
itemsJournalEntryResponse[]required

Array of journal entries

Show properties
Array of JournalEntryResponse
bodystringrequired

Accepts Markdown or HTML for complex formatting. This content is rendered by the Leadtime rich editor, not by a plain Markdown viewer.

For quick/simple text, Markdown is acceptable. For polished user-facing content from an agent or integration, prefer structured HTML because it preserves editor blocks, links, and layout more predictably.

Use only the nodes and marks documented below for this field. Supported editor features differ by endpoint and field. Choose formatting for readability, not decoration: use headings for real sections, paragraphs for narrative text, lists or tables for structured facts, blockquotes for quoted context, callouts for important outcomes/risks/notes when supported, and explicit anchors for links. Do not rely on bare URLs or Markdown links when the link must be clickable; use explicit anchors such as <a href="https://example.com" target="_blank" rel="noopener noreferrer nofollow">link text</a>.

In HTML you can use:

Node Types and Marks

Nodes

paragraph Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Default paragraph. extraPlaceholder is an internal structure for the editor to show a ghost placeholder in empty “template” lines (ProseMirror JSON fragment or null). For normal agent output leave extraPlaceholder as null. Only set it if you are intentionally mirroring a field placeholder the user already has in the open editor; do not set random placeholder data for free-form answers. Atts:

  • extraPlaceholder: null
<p class="paragraph-base" extraplaceholder="null/some-value"></p>

heading Type: block Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Atts:

  • level: 1
<h1 class="heading-base"></h1>

bulletList Type: block list Content: listItem+ Atts: none

<ul class="list-base"><li></li></ul>

hardBreak Type: inline Atts: none

<br>

horizontalRule Type: block Atts: none

<hr class="hr-base">

orderedList Type: block list Content: listItem+ Atts:

  • start: 1
  • type: null
<ol class="order-list-base" type="null/some-value"><li></li></ol>

listItem Content: (paragraph|list)* (paragraphs and/or lists, in any order) Atts: none

<li></li>

blockquote Type: block Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Atts: none

<blockquote class="blockquote-base"><p class="paragraph-base"></p></blockquote>

table Type: block Content: tableRow+ Atts: none

<table style="width: 0px;"><colgroup></colgroup><tbody><tr></tr></tbody></table>

tableRow Content: (tableCell | tableHeader)* Atts: none

<tr></tr>

tableHeader Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Atts:

  • colspan: 1
  • rowspan: 1
  • colwidth: null
  • align: null
<th colspan="1" rowspan="1" colwidth="null/some-value" style="text-align: null/some-value;"><p class="paragraph-base"></p></th>

tableCell Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Atts:

  • colspan: 1
  • rowspan: 1
  • colwidth: null
  • align: null
<td colspan="1" rowspan="1" colwidth="null/some-value" style="text-align: null/some-value;"><p class="paragraph-base"></p></td>

callout Type: block Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Callout / info box. The icon attr is an emoji shortcode (e.g. :information_source:, :warning:); it appears on the callout. Body is block content (paragraphs, lists, etc.) — use normal block HTML such as <p class="paragraph-base"> inside the callout <div>. data-type is "callout". Atts:

  • icon: :information_source:
<div data-type="callout" icon=":information_source:"><p class="paragraph-base"></p></div>

appImage Type: block Block for an image file already uploaded in Leadtime.

  • fileId: Id of the stored image. Must be a real uploaded file; do not invent.
  • filename: Display name; should match the file.
  • width, align, size: Layout as in the editor. If no file id is available, obtain one via upload/API before outputting this node with a fake id. Atts:
  • fileId:
  • filename:
  • width: 500
  • align: left
  • size: 0
<div data-type="appImage" fileid="" filename="" width="500" align="left" size="0"></div>

collapse Type: block Content: collapseTitle collapseBody (a collapse title node, then a collapse body) Expandable/collapsible section. Required structure: one collapseTitle (summary, inline) then one collapseBody (blocks) as direct children, matching data-type= collapseTitle / collapseBody tags under <collapse>. Do not use title/body nodes outside of a collapse. Atts: none

<collapse><collapse-title></collapse-title><collapse-body><p class="paragraph-base"></p></collapse-body></collapse>

collapseBody Content: block+ (one or more block child nodes (e.g. paragraph, list, …)) Expandable body of a collapse. Only use as sibling of collapseTitle inside a collapse; holds the block content that shows when expanded. Atts: none

<collapse-body><p class="paragraph-base"></p></collapse-body>

collapseTitle Content: inline* (inline only — do not use block tags such as <p> inside; use e.g. <br>, <strong>, <em>, <span>…) Clickable title row of a collapse block. Only use inside a collapse that also has collapseBody; content is the summary line shown when collapsed. Atts: none

<collapse-title></collapse-title>

emoji Type: inline Inline emoji. icon is a colon shortcode (e.g. :thumbsup:, :white_check_mark:) stored in data-icon; body is often empty. Use names your emoji set supports; avoid inventing invalid shortcodes in final HTML if you need them to render. Atts:

  • icon: :smile:
<span data-type="emoji" data-icon=":smile:"></span>

Marks

link Atts:

  • href: null
  • target: _blank
  • rel: noopener noreferrer nofollow
  • class: null
  • title: null
<a target="_blank" rel="noopener noreferrer nofollow" href="">link text example</a>

bold Atts: none

<strong>bold text example</strong>

code Atts: none

<code>code text example</code>

italic Atts: none

<em>italic text example</em>

strike Atts: none

<s>strike text example</s>

underline Atts: none

<u>underline text example</u>
createdAtstringrequired
createdBystringrequired

ID of the user who created the journal entry

idstringrequired
moodobject

Mood of the journal entry

reminderobject

Reminder date

pagenumberrequired

Current page number

pageSizenumberrequired

Number of items per page

totalnumberrequired

Total number of journal entries

viewIdstring

View ID for the grid

401

Unauthorized - Invalid or missing authentication token

403

Forbidden - Insufficient API scopes or permissions

Try it
Server
Authorization
Parameters
Request
curl -X GET "https://leadtime.app/api/public/account/journal" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"
Response
{
  "items": [
    {
      "body": "string",
      "createdAt": "2024-06-01T10:30:00.000Z",
      "createdBy": "123e4567-e89b-12d3-a456-426614174001",
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "mood": "Happy",
      "reminder": "2024-06-15T09:00:00.000Z"
    }
  ],
  "page": 1,
  "pageSize": 20,
  "total": 150,
  "viewId": "default"
}