Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.koulis.ai/llms.txt

Use this file to discover all available pages before exploring further.

The tables endpoints give you programmatic control over your restaurant’s table inventory. You can list all tables, create new ones, update existing ones, delete them, and bulk-update their positions on the floor plan. All requests require a valid JWT Bearer token.

List tables

Returns all tables for your restaurant.

Endpoint

GET https://api.lakreme.fr/api/v1/restaurant/me/tables
curl https://api.lakreme.fr/api/v1/restaurant/me/tables \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
[
  {
    "id": "tbl_001",
    "name": "Table 1",
    "seats": 4,
    "is_active": true,
    "display_order": 1,
    "room_id": "room_main",
    "pos_x": 100,
    "pos_y": 80,
    "width": 80,
    "height": 80,
    "shape": "rect",
    "rotation": 0
  },
  {
    "id": "tbl_002",
    "name": "Bar 2",
    "seats": 2,
    "is_active": true,
    "display_order": 2,
    "room_id": "room_main",
    "pos_x": 220,
    "pos_y": 80,
    "width": 60,
    "height": 60,
    "shape": "circle",
    "rotation": 0
  }
]

Create a table

Creates a new table. name and seats are required; all other fields are optional and default to sensible values.

Endpoint

POST https://api.lakreme.fr/api/v1/restaurant/me/tables

Request body

name
string
required
Display name of the table — for example, "Table 5" or "Terrace 1".
seats
number
required
Number of seats at this table. Must be greater than zero.
display_order
number
Ordering position in list views. Lower values appear first.
room_id
string
The ID of the room this table belongs to. If your restaurant has only one room, you can omit this field.
pos_x
number
Horizontal position on the floor plan canvas, in pixels.
pos_y
number
Vertical position on the floor plan canvas, in pixels.
width
number
Width of the table shape on the canvas, in pixels.
height
number
Height of the table shape on the canvas, in pixels.
shape
string
Shape of the table on the floor plan. Accepted values: "rect" (rectangle) or "circle".
rotation
number
Rotation angle of the table in degrees. For example, 45 rotates the table 45 degrees clockwise.
curl -X POST https://api.lakreme.fr/api/v1/restaurant/me/tables \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Terrace 3",
    "seats": 6,
    "shape": "rect",
    "pos_x": 340,
    "pos_y": 200,
    "width": 100,
    "height": 60,
    "room_id": "room_terrace"
  }'
{
  "id": "tbl_003",
  "name": "Terrace 3",
  "seats": 6,
  "is_active": true,
  "display_order": 3,
  "room_id": "room_terrace",
  "pos_x": 340,
  "pos_y": 200,
  "width": 100,
  "height": 60,
  "shape": "rect",
  "rotation": 0
}

Update a table

Updates one or more fields on an existing table. Only include the fields you want to change.

Endpoint

PATCH https://api.lakreme.fr/api/v1/restaurant/me/tables/{id}
id
string
required
The ID of the table to update.
curl -X PATCH https://api.lakreme.fr/api/v1/restaurant/me/tables/tbl_003 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "seats": 8,
    "name": "Terrace 3 (large)"
  }'
{
  "id": "tbl_003",
  "name": "Terrace 3 (large)",
  "seats": 8,
  "is_active": true,
  "display_order": 3,
  "room_id": "room_terrace",
  "pos_x": 340,
  "pos_y": 200,
  "width": 100,
  "height": 60,
  "shape": "rect",
  "rotation": 0
}

Delete a table

Permanently deletes a table. Returns 204 No Content on success.

Endpoint

DELETE https://api.lakreme.fr/api/v1/restaurant/me/tables/{id}
id
string
required
The ID of the table to delete.
curl -X DELETE https://api.lakreme.fr/api/v1/restaurant/me/tables/tbl_003 \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"

Bulk update table positions

Updates the floor plan positions of multiple tables in a single request. Useful after a drag-and-drop repositioning session in a floor plan editor.

Endpoint

POST https://api.lakreme.fr/api/v1/restaurant/me/tables/bulk-positions

Request body

updates
object[]
required
Array of position update objects. Each object identifies a table by id and provides its new position.
curl -X POST https://api.lakreme.fr/api/v1/restaurant/me/tables/bulk-positions \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "updates": [
      { "id": "tbl_001", "pos_x": 120, "pos_y": 90 },
      { "id": "tbl_002", "pos_x": 240, "pos_y": 90, "rotation": 45 }
    ]
  }'
{
  "updated": 2
}