# ManualEntries

## Introduction

`ManualEntries` are the content of a [ManualChapter](/api-reference/manual/manual-chapters.md).

## Model Definition

### Alias

`ManualEntry`

### Relations

| Key               | Relation                                                                 | Type       | Relation Field(s)                                                         |
| ----------------- | ------------------------------------------------------------------------ | ---------- | ------------------------------------------------------------------------- |
| `user`            | [User](/api-reference/users.md)                                          | Belongs to | `user_id`                                                                 |
| `chapter`         | [ManualChapter](/api-reference/manual/manual-chapters.md)                | Belongs to | `chapter_id`                                                              |
| `seenUsers`       | [ManualEntrySeenUsers](/api-reference/manual/manual-entry-seen-users.md) | Has many   | `manual_entry_seen_users.entry_id`                                        |
| `notifications`   | [Notifications](/api-reference/notifications.md)                         | Has many   | `notifications.event_id`, `notifications.event_source`                    |
| `reactions`       | [Reactions](/api-reference/reactions.md)                                 | Morph many | `reactions.reactable_type`, `reactions.reactable_id`                      |
| `currentReaction` | [CurrentReaction](/api-reference/reactions.md)                           | Morph one  | `reactions.reactable_type`, `reactions.reactable_id`, `reactions.user_id` |

### Computed properties

* `hash` - The hashed `id` of the `ManualEntry`.
* `seen` - Whether the `ManualEntry` is seen by the current authenticated [User](/api-reference/users.md).

### Traits

* `Sortable`
* `TriggersNotifications`

## List

Get a list of all `ManualEntries` the current authenticated [User](/api-reference/users.md) is allowed to view.

**Definition**

<mark style="color:green;">`GET`</mark> `/api/manual/entries`

**Example Request**

{% tabs %}
{% tab title="PHP" %}

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/manual/chapters/entries', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
```

{% endtab %}
{% endtabs %}

**Example Response Body**

```json
[
  {
    "id": 1,
    "user_id": 3,
    "chapter_id": 1,
    "title": "Entry 1",
    "slug": "entry-1",
    "text": "<p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. </p>\n<p><br></p>\n<p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. </p>",
    "reactions_forbidden": false,
    "sort_number": 1,
    "created_at": "2019-01-22 09:00:11",
    "updated_at": "2019-01-22 09:00:11",
    "hash": "zn7m24owk63qolxryge8pj05",
    "seen": false
  },
  {
    "id": 2,
    "user_id": 3,
    "chapter_id": 2,
    "title": "Entry 2",
    "slug": "entry-2",
    "text": "<ul>\n<li>Sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. </li>\n<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. </li>\n<li>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. </li>\n</ul>",
    "reactions_forbidden": false,
    "sort_number": 2,
    "created_at": "2019-01-22 09:00:55",
    "updated_at": "2019-01-22 09:00:55",
    "hash": "6o8m0kz5yw10x1pr9e4vxj27",
    "seen": false
  }
]
```

## List by chapter

Get a list of all `ManualEntries` the current authenticated [User](/api-reference/users.md) is allowed to view by [ManualChapter](/api-reference/manual/manual-chapters.md).

**Definition**

<mark style="color:green;">`GET`</mark> `/api/manual/chapters/{chapterId}/entries`

**Example Request**

{% tabs %}
{% tab title="PHP" %}

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/manual/chapters/1/entries', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
```

{% endtab %}
{% endtabs %}

**Example Response Body**

```json
[
  {
    "id": 1,
    "user_id": 3,
    "chapter_id": 1,
    "title": "Entry 1",
    "slug": "entry-1",
    "text": "<p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. </p>\n<p><br></p>\n<p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. </p>",
    "reactions_forbidden": false,
    "sort_number": 1,
    "created_at": "2019-01-22 09:00:11",
    "updated_at": "2019-01-22 09:00:11",
    "hash": "zn7m24owk63qolxryge8pj05",
    "seen": false
  }
]
```

## Count

Get the count of all `ManualEntries` the current authenticated [User](/api-reference/users.md) is allowed to view.

**Definition**

<mark style="color:green;">`GET`</mark> `/manual/chapters/entries/count`

**Example Request**

{% tabs %}
{% tab title="PHP" %}

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/manual/chapters/entries/count', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
```

{% endtab %}
{% endtabs %}

**Example Response Body**

```json
2
```

## Count by chapter

Get the count of all `ManualEntries` the current authenticated [User](/api-reference/users.md) is allowed to view by [ManualChapter](/api-reference/manual/manual-chapters.md).

**Definition**

<mark style="color:green;">`GET`</mark> `/api/manual/chapters/{chapterId}/entries/count`

**Example Request**

{% tabs %}
{% tab title="PHP" %}

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/manual/chapters/1/entries/count', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
```

{% endtab %}
{% endtabs %}

**Example Response Body**

```json
1
```

## Show

Show a single `ManualEntry` by `id` or `hash`.

**Definition**

<mark style="color:green;">`GET`</mark> `/api/manual/chapters/entries/{idOrHash}`

**Example Request**

{% tabs %}
{% tab title="PHP" %}

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('GET', '/api/manual/chapters/entries/1', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
```

{% endtab %}
{% endtabs %}

**Example Response Body**

```json
{
  "id": 1,
  "user_id": 3,
  "chapter_id": 1,
  "title": "Entry 1",
  "slug": "entry-1",
  "text": "<p>Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euismod tincidunt ut laoreet dolore magna aliquam erat volutpat. </p>\n<p><br></p>\n<p>Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. </p>",
  "reactions_forbidden": false,
  "sort_number": 1,
  "created_at": "2019-01-22 09:00:11",
  "updated_at": "2019-01-22 09:00:11",
  "hash": "zn7m24owk63qolxryge8pj05",
  "seen": false
}
```

## Create

Create a new `ManualEntry` by [ManualChapter](/api-reference/manual/manual-chapters.md).

**Definition**

<mark style="color:green;">`GET`</mark> `/api/manual/chapters/{chapterId}/entries`

**Request Keys**

| Key                   | Type    | Default            | Description                                                                                                     |
| --------------------- | ------- | ------------------ | --------------------------------------------------------------------------------------------------------------- |
| `chapter_id`\*\*      | integer | -                  | The related [ManualChapter](/api-reference/manual/manual-chapters.md).                                          |
| `title`\*             | string  | -                  | The title of the `ManualEntry`.                                                                                 |
| `slug`                | string  | Slugged `title`    | The slugged `title` of the `ManualEntry` (unique by [ManualChapter](/api-reference/manual/manual-chapters.md)). |
| `text`\*              | string  | -                  | The text of the `ManualEntry`.                                                                                  |
| `reactions_forbidden` | boolean | `false`            | Whether [Reactions](/api-reference/reactions.md) for the `ManualEntry` are forbidden.                           |
| `sort_number`         | integer | Current highest +1 | The index of the `ManualEntry` related to the [ManualChapter](/api-reference/manual/manual-chapters.md).        |

Keys with `*` are required.\
Keys with `**` are normalized to the information given by the route.

**Example Request**

{% tabs %}
{% tab title="PHP" %}

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('POST', '/api/manual/chapters/1/entries', [
    'headers' => ['Authorization' => "Bearer {accessToken}"],
    'json' => [
        'user_id' => 3,
        'chapter_id' => 1,
        'title' => 'Entry 3',
        'text' => '<p>Quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.</p>'
    ]
]);
```

{% endtab %}
{% endtabs %}

**Example Response Body**

```json
{
  "status": "success",
  "data": {
    "user_id": 3,
    "chapter_id": 1,
    "title": "Entry 3",
    "text": "<p>Quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. </p>",
    "reactions_forbidden": false,
    "slug": "entry-3",
    "sort_number": 3,
    "updated_at": "2019-01-25 16:56:34",
    "created_at": "2019-01-25 16:56:34",
    "id": 3,
    "hash": "d54q7g6wnj1eylm8k9e0xpz2",
    "seen": false
  }
}
```

## Update

Update an existing `ManualEntry` by `id`.

**Definition**

<mark style="color:blue;">`PUT`</mark> `/api/manual/chapters/entries/{id}`

**Request Keys**

| Key                   | Type    | Description                                                                                                     |
| --------------------- | ------- | --------------------------------------------------------------------------------------------------------------- |
| `chapter_id`          | integer | The related [ManualChapter](/api-reference/manual/manual-chapters.md).                                          |
| `title`               | string  | The title of the `ManualEntry`.                                                                                 |
| `slug`                | string  | The slugged `title` of the `ManualEntry` (unique by [ManualChapter](/api-reference/manual/manual-chapters.md)). |
| `text`                | string  | The text of the `ManualEntry`.                                                                                  |
| `reactions_forbidden` | boolean | Whether [Reactions](/api-reference/reactions.md) for the `ManualEntry` are forbidden.                           |
| `sort_number`         | integer | The index of the `ManualEntry` related to the [ManualChapter](/api-reference/manual/manual-chapters.md).        |

**Example Request**

{% tabs %}
{% tab title="PHP" %}

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('PUT', '/api/manual/chapters/entries/3', [
    'headers' => ['Authorization' => "Bearer {accessToken}"],
    'json' => [
        'title' => 'Entry3',
        'reactions_forbidden' => true,
        'sort_number' => 1
    ]
]);
```

{% endtab %}
{% endtabs %}

**Example Response Body**

```json
{
  "status": "success",
  "data": {
    "user_id": 3,
    "chapter_id": 1,
    "title": "Entry3",
    "text": "<p>Quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo consequat. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi. </p>",
    "reactions_forbidden": true,
    "slug": "entry3",
    "sort_number": 1,
    "updated_at": "2019-01-25 16:56:34",
    "created_at": "2019-01-25 16:58:10",
    "id": 3,
    "hash": "d54q7g6wnj1eylm8k9e0xpz2",
    "seen": false
  }
}
```

## Delete

Delete an existing `ManualEntry` by `id`.

**Definition**

<mark style="color:green;">`GET`</mark> `/api/manual/chapters/entries/{id}`

**Example Request**

{% tabs %}
{% tab title="PHP" %}

```php
$client = new GuzzleHttp\Client(['base_uri' => 'https://{tenant}.intratool.de']);
$response = $client->request('DELETE', '/api/manual/chapters/entries/3', [
    'headers' => ['Authorization' => "Bearer {accessToken}"]
]);
```

{% endtab %}
{% endtabs %}

**Example Response Body**

```json
{
  "status": "success",
  "data": null
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.api.intratool.de/api-reference/manual/manual-entries.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
