> For the complete documentation index, see [llms.txt](https://docs.gem-suite.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.gem-suite.com/api-reference/resources/punch.md).

# Punch

This page includes all endpoints available for the categories of Logiciel Actif.

## List all punch

<mark style="color:blue;">`GET`</mark> `https://app.gem-books.com/api/punch`

This endpoint allows you to get the list of your categories.

#### Headers

| Name                                             | Type   | Description                  |
| ------------------------------------------------ | ------ | ---------------------------- |
| Authentication<mark style="color:red;">\*</mark> | string | Bearer Token                 |
| Accept                                           | string | Should be `application/json` |

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "data": [
    {
      "id": 2504,
      "appointment_id": 909,
      "user_id": 205,
      "date": "2026-08-18",
      "start_time": "08:43:20",
      "end_time": null,
      "ptotal": "0.00",
      "note": null,
      "system_id": 99125
    },
  "success": true
}
```

{% endtab %}
{% endtabs %}

## Retrieve a specific sale product

<mark style="color:blue;">`GET`</mark> `https://app.gem-books.com/api/categories/:id`

This endpoint allows you to get one specific category.&#x20;

#### Path Parameters

| Name | Type    | Description                         |
| ---- | ------- | ----------------------------------- |
| id   | integer | The ID of the category to retrieve. |

#### Headers

| Name                                             | Type   | Description                  |
| ------------------------------------------------ | ------ | ---------------------------- |
| Authentication<mark style="color:red;">\*</mark> | string | Bearer Token                 |
| Accept                                           | string | Should be `application/json` |

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "data": [
    {
      "id": 2504,
      "appointment_id": 909,
      "user_id": 205,
      "date": "2026-08-18",
      "start_time": "08:43:20",
      "end_time": null,
      "ptotal": "0.00",
      "note": null,
      "system_id": 99125
    },
  "success": true
}
```

{% endtab %}
{% endtabs %}

## Create a punch

<mark style="color:green;">`POST`</mark> `https://app.gem-books.com/api/punch`

#### Headers

| Name           | Type   | Description                  |
| -------------- | ------ | ---------------------------- |
| Authentication | string | Bearer Token                 |
| Content-type   | string | Should be application/json   |
| Accept         | string | Should be `application/json` |

#### Request Body

| Name        | Type | Description            |
| ----------- | ---- | ---------------------- |
| user\_id    | int  | User id                |
| date        | date | Date of the punch      |
| start\_time | time | Start of punch (HH:MM) |
| end\_time   | time | End of punch (HH:MM)   |

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "data": [
    {
      "id": 2504,
      "appointment_id": 909,
      "user_id": 205,
      "date": "2026-08-18",
      "start_time": "08:43:20",
      "end_time": null,
      "ptotal": "0.00",
      "note": null,
      "system_id": 99125
    },
  "success": true
}
```

{% endtab %}
{% endtabs %}

#### Body Example

```json
{
    "code": "005",
    "name_fr": "La Franchise",
    "name_en": "Franchise"
}
```

## Update a punch

<mark style="color:orange;">`PUT`</mark> `https://app.gem-books.com/api/punch/:id`

This endpoint allows you to update a specific punch. \
Returns the updated punch.

#### Path Parameters

| Name | Type    | Description         |
| ---- | ------- | ------------------- |
| id   | integer | Punch ID to update. |

#### Headers

| Name           | Type   | Description                  |
| -------------- | ------ | ---------------------------- |
| Authentication | string | Bearer Token                 |
| Content-Type   | string | Should be `application/json` |
| Accept         | string | Should be `application/json` |

{% tabs %}
{% tab title="200: OK " %}

```json
{
  "data": [
    {
      "id": 2504,
      "appointment_id": 909,
      "user_id": 205,
      "date": "2026-08-18",
      "start_time": "08:43:20",
      "end_time": null,
      "ptotal": "0.00",
      "note": null,
      "system_id": 99125
    },
  "success": true
}
```

{% endtab %}
{% endtabs %}

#### Body Example

```json
{
"id": 2504,
"appointment_id": 909,
"user_id": 205,
"date": "2026-08-18",
"start_time": "08:43:20",
"end_time": null,
"ptotal": "0.00",
"note": null,
"system_id": 99125
}
```
