For the complete documentation index, see llms.txt. This page is also available as Markdown.

ManualEntries

Introduction

ManualEntries contain the Manual content organized by ManualChapters. An entry can belong directly to a chapter or to another entry, and its visibility is constrained by every parent in that hierarchy.

Entries can be published immediately or scheduled, support translations and reactions, and expose seen and read tracking.

The text field uses the shared Rich Text HTML format.

Model Definition

Alias

manualEntry

Relations

Key
Relation
Type
Relation Field(s)

user

Belongs to

user_id

manualChapter

Belongs to

manual_chapter_id

parent

Belongs to

parent_id

children

Has many

parent_id

icon

Belongs to

icon_id

entityPermissions

Morph many

entity_permissions.restrictable_type, entity_permissions.restrictable_id

seenUsers

Has many

manual_entry_seen_users.manual_entry_id

readUsers

Has many

manual_entry_read_users.manual_entry_id

reactions

Morph many

reactions.reactable_type, reactions.reactable_id

currentReaction

Morph one

reactions.reactable_type, reactions.reactable_id, reactions.user_id

tags

Belongs to many

tag_taggable.taggable_type, tag_taggable.taggable_id

Computed Properties

  • hash - Hashed representation of the entry id.

Capabilities

  • Targetables - Eligible users and departments are derived from the intersecting view grants of the entry, its parent entries, and its root chapter.

  • Entity Permissions - Entries own direct view and administrate grants and inherit additional constraints from parent entries and their chapter.

  • URL Context - Entry URLs resolve to access-checked context information.

  • Translations - The title and text fields are translatable.

  • Notifications - Publishing and relevant content or confirmation changes can notify eligible users.

  • Reactions - Entries accept reactions when reactions_forbidden is false.

  • Seen and Read Tracking - Seen records track views, read records capture explicit confirmations, and reading_confirmation tells clients whether confirmation is required.

List

List ManualEntries visible to the current authenticated User.

Definition

GET /api/manual/entries

Behavior

  • The Restricted Scope applies the entry's direct Entity Permissions together with every parent entry and chapter constraint.

  • Scheduled entries are visible to their owner and to users with applicable administration access; other users see them only after publication.

Example Request

Example Response

Show

Show a single ManualEntry by ID, hash, or slug.

Definition

GET /api/manual/entries/{manualEntry}

Route Parameters

Parameter
Type
Description

manualEntry

integer | string

ManualEntry ID, hash, or slug.

Behavior

  • Access is checked recursively against the entry, its parent entries, and its chapter.

  • A scheduled entry is visible before publication only to its owner or a user with applicable administration access.

Example Request

Example Response

Admin: List

List ManualEntries available in the administration scope.

Definition

GET /api/administration/manual/entries

Behavior

  • Administration permissions determine whether the result is unrestricted or limited to owned and permitted entries.

  • Soft-deleted and scheduled entries are included when they satisfy the administration scope.

Example Request

Example Response

Admin: Show

Show a single ManualEntry in the administration scope.

Definition

GET /api/administration/manual/entries/{manualEntry}

Route Parameters

Parameter
Type
Description

manualEntry

integer | string

ManualEntry ID, hash, or slug.

Behavior

  • The user must have unrestricted entry administration access, own the entry, or receive an applicable administrate grant through its entry and chapter hierarchy.

  • Scheduled entries remain available in this scope.

Example Request

Example Response

Admin: Create

Create a new ManualEntry.

Definition

POST /api/administration/manual/entries

Request Keys

Key
Type
Default
Description

parent_id

integer | null

null

ID of the parent ManualEntry. Required when manual_chapter_id is omitted.

manual_chapter_id

integer | null

null

ID of the containing ManualChapter. Required when parent_id is omitted.

lang_id

string

system language

Language key for the translatable content.

icon_id

integer

configured entry icon

ID of the Icon used by the entry.

title*

string

-

Entry title, unique across the selected chapter hierarchy.

slug

string

slugged title

Entry slug, unique across the selected chapter hierarchy.

text*

string

-

Entry content, which can contain HTML.

reading_confirmation

boolean

false

Whether users must explicitly confirm reading.

planned_publish_at

datetime | null

null

Future publication date. Relative dates are accepted.

sort_number

integer

end of parent

Position among entries with the same manual_chapter_id and parent_id.

entity_permissions

array

-

Direct EntityPermissions assigned to the entry.

Keys with * are required.

Behavior

  • The authenticated user becomes the owner; a client-provided user_id is ignored.

  • At least one of parent_id and manual_chapter_id is required. When both are supplied, parent_id takes precedence and manual_chapter_id becomes null.

  • The slug is normalized from slug or title, and missing, invalid, or out-of-range sort_number values are normalized within the selected parent.

  • A future planned_publish_at stores published_at as null. A missing, current, or past value publishes immediately and stores planned_publish_at as null; clients cannot set published_at independently.

  • Creating an immediately published entry can notify eligible users. The notification requests confirmation when reading_confirmation is true.

Example Request

Example Response

Admin: Reset Relations

Reset selected tracking and reaction relations of an existing ManualEntry.

Definition

POST /api/administration/manual/entries/{manualEntry}/reset

Route Parameters

Parameter
Type
Description

manualEntry

integer | string

ManualEntry ID, hash, or slug.

Request Keys

Key
Type
Description

seenUsers

boolean

Delete all ManualEntrySeenUsers when true.

readUsers

boolean

Delete all ManualEntryReadUsers when true.

reactions

boolean

Delete all Reactions when true.

Behavior

  • Only the three resettable relation keys are retained from the request.

  • At least one relation must be set to true; an empty request or all-false request returns an error.

  • Resetting relations is idempotent with respect to already absent records.

Example Request

Example Response

Admin: Update

Update an existing ManualEntry.

Definition

PUT /api/administration/manual/entries/{manualEntry}

Route Parameters

Parameter
Type
Description

manualEntry

integer | string

ManualEntry ID, hash, or slug.

Request Keys

Key
Type
Description

parent_id

integer | null

New parent ManualEntry ID.

manual_chapter_id

integer | null

lang_id

string

New language key for the translatable content.

icon_id

integer

New Icon ID.

title

string

New title, unique across the resulting chapter hierarchy.

slug

string

New slug, unique across the resulting chapter hierarchy.

text

string

New content, which can contain HTML.

reading_confirmation

boolean

Whether users must explicitly confirm reading.

planned_publish_at

datetime | null

New future publication date, or null to publish immediately. Relative dates are accepted.

sort_number

integer

New position among entries with the resulting parent.

entity_permissions

array

Complete direct EntityPermissions state to synchronize.

Behavior

  • A client-provided user_id is ignored. Changing the parent, chapter, title, slug, or text transfers ownership to the authenticated user.

  • When neither parent key is supplied, the current hierarchy is retained. When both are supplied, parent_id takes precedence; supplying one sets the other to null.

  • Changing the parent or sort position normalizes both affected sibling orders. The slug is normalized from an explicitly supplied slug or the updated title.

  • A changed future planned_publish_at schedules the entry and clears published_at. Setting it to null, the current time, or a past time publishes immediately. An already published entry cannot be assigned an earlier published_at value.

  • Changing title or text removes stored translations for the previous content. Publishing or changing content or reading-confirmation state can trigger notifications.

Example Request

Example Response

Admin: Delete

Delete an existing ManualEntry.

Definition

DELETE /api/administration/manual/entries/{manualEntry}

Route Parameters

Parameter
Type
Description

manualEntry

integer | string

ManualEntry ID, hash, or slug.

Behavior

  • The entry is soft-deleted, its position is removed from the sibling order, and its notifications are deleted.

  • Descendant entries are deleted recursively.

Example Request

Example Response

Last updated