API ReferenceView as MarkdownOpenAPI

Events

View as Markdown

Events are ticketed events: dates, ticket tiers with prices, a venue and, optionally, a seating plan with seats to choose from. Venues and seating plans are set up once and reused across events.

Endpoints that need a token: the site owner creates it in their admin (Developers > API reference). AI assistants: how to ask the user for one.

27 endpoints in 5 parts: Event, Seating Plan, Ticket, Venue, AI builder.

List all events

Returns the site's events, newest first unless a sort is given.

Optional user

Works without a token; with a user token the answer is personal.

Returns

Returns a list of Event objects.

Status codes

200 500

GET/events
curl -X GET 'http://kanokonlit.com/events?ionic=true'
Response
[
  {
    "name": "Example",
    "venue": "6543210fedcba98765432100",
    "description": "Text shown on the site.",
    "medias": [
      {
        "media": "6543210fedcba98765432100",
        "gcs_url": "example-item",
        "gcs_480_30_url": "example-item",
        "gcs_720_30_url": "example-item",
        "gcs_1080_30_url": "example-item",
        "duration": 1,
        "vimeo_uri": "example",
        "vimeo_picture": "example",
        "vimeo_url": "example-item",
        "youtube_url": "example-item",
        "youtube_picture": "example",
        "thumbnail": "example",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "dates": [
      {
        "date": "2026-11-04T12:00:00.000Z",
        "_id": "6543210fedcba98765432100",
        "seating_plan": {
          "id": "example",
          "sections": "example"
        }
      }
    ],
    "owner_id": "6543210fedcba98765432100",
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z",
    "tier_1": {
      "name": "Example",
      "price": 0
    },
    "tier_2": {
      "name": "Example",
      "price": 0
    },
    "tier_3": {
      "name": "Example",
      "price": 0
    },
    "tier_4": {
      "name": "Example",
      "price": 0
    },
    "tier_5": {
      "name": "Example",
      "price": 0
    },
    "tier_6": {
      "name": "Example",
      "price": 0
    }
  }
]

Create an event

Creates an event from the fields sent.

User token

Needs the token of a signed-in user.

Returns

Returns the Event object.

Status codes

201 400 401 500

POST/events
curl -X POST 'http://kanokonlit.com/events?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "venue": "6543210fedcba98765432100",
  "description": "Text shown on the site.",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "dates": [
    {
      "date": "2026-11-04T12:00:00.000Z",
      "_id": "6543210fedcba98765432100",
      "seating_plan": {
        "id": "example",
        "sections": "example"
      }
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "tier_1": {
    "name": "Example",
    "price": 0
  },
  "tier_2": {
    "name": "Example",
    "price": 0
  },
  "tier_3": {
    "name": "Example",
    "price": 0
  },
  "tier_4": {
    "name": "Example",
    "price": 0
  },
  "tier_5": {
    "name": "Example",
    "price": 0
  },
  "tier_6": {
    "name": "Example",
    "price": 0
  }
}

Retrieve an event

Returns one event, found by its ID.

Optional user

Works without a token; with a user token the answer is personal.

Path parameters
idstringRequired

The ID of the event.

Returns

Returns the Event object.

Status codes

200 404 500

GET/events/:id
curl -X GET 'http://kanokonlit.com/events/{id}?ionic=true'
Response
{
  "name": "Example",
  "venue": "6543210fedcba98765432100",
  "description": "Text shown on the site.",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "dates": [
    {
      "date": "2026-11-04T12:00:00.000Z",
      "_id": "6543210fedcba98765432100",
      "seating_plan": {
        "id": "example",
        "sections": "example"
      }
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "tier_1": {
    "name": "Example",
    "price": 0
  },
  "tier_2": {
    "name": "Example",
    "price": 0
  },
  "tier_3": {
    "name": "Example",
    "price": 0
  },
  "tier_4": {
    "name": "Example",
    "price": 0
  },
  "tier_5": {
    "name": "Example",
    "price": 0
  },
  "tier_6": {
    "name": "Example",
    "price": 0
  }
}

Update an event

Changes the fields sent; the others stay as they are.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the event.

Returns

Returns the Event object.

Status codes

200 400 401 404 500

PATCH/events/:id
curl -X PATCH 'http://kanokonlit.com/events/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "venue": "6543210fedcba98765432100",
  "description": "Text shown on the site.",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "dates": [
    {
      "date": "2026-11-04T12:00:00.000Z",
      "_id": "6543210fedcba98765432100",
      "seating_plan": {
        "id": "example",
        "sections": "example"
      }
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "tier_1": {
    "name": "Example",
    "price": 0
  },
  "tier_2": {
    "name": "Example",
    "price": 0
  },
  "tier_3": {
    "name": "Example",
    "price": 0
  },
  "tier_4": {
    "name": "Example",
    "price": 0
  },
  "tier_5": {
    "name": "Example",
    "price": 0
  },
  "tier_6": {
    "name": "Example",
    "price": 0
  }
}

Delete an event

Deletes the event. This cannot be undone.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the event.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/events/:id
curl -X DELETE 'http://kanokonlit.com/events/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

List all seating plans

Returns the site's seating plans, newest first unless a sort is given.

Public

Public - no token needed.

Returns

Returns a list of SeatingPlan objects.

Status codes

200 500

GET/seating-plans
curl -X GET 'http://kanokonlit.com/seating-plans?ionic=true'
Response
[
  {
    "name": "Example",
    "sections": [
      {
        "subsections": [],
        "section_type": "example",
        "name": "Example",
        "top": 1,
        "left": 1,
        "color": "#3557c4",
        "premium_color": "#3557c4",
        "rotation": 1,
        "max_seats": 1
      }
    ],
    "venue": "6543210fedcba98765432100",
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z"
  }
]

Create a seating plan

Creates a seating plan from the fields sent.

User token

Needs the token of a signed-in user.

Returns

Returns the SeatingPlan object.

Status codes

201 400 401 500

POST/seating-plans
curl -X POST 'http://kanokonlit.com/seating-plans?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "sections": [
    {
      "subsections": [],
      "section_type": "example",
      "name": "Example",
      "top": 1,
      "left": 1,
      "color": "#3557c4",
      "premium_color": "#3557c4",
      "rotation": 1,
      "max_seats": 1
    }
  ],
  "venue": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Retrieve a seating plan

Returns one seating plan, found by its ID.

Public

Public - no token needed.

Path parameters
idstringRequired

The ID of the seating plan.

Returns

Returns the SeatingPlan object.

Status codes

200 404 500

GET/seating-plans/:id
curl -X GET 'http://kanokonlit.com/seating-plans/{id}?ionic=true'
Response
{
  "name": "Example",
  "sections": [
    {
      "subsections": [],
      "section_type": "example",
      "name": "Example",
      "top": 1,
      "left": 1,
      "color": "#3557c4",
      "premium_color": "#3557c4",
      "rotation": 1,
      "max_seats": 1
    }
  ],
  "venue": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Update a seating plan

Changes the fields sent; the others stay as they are.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the seating plan.

Returns

Returns the SeatingPlan object.

Status codes

200 400 401 404 500

PATCH/seating-plans/:id
curl -X PATCH 'http://kanokonlit.com/seating-plans/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "sections": [
    {
      "subsections": [],
      "section_type": "example",
      "name": "Example",
      "top": 1,
      "left": 1,
      "color": "#3557c4",
      "premium_color": "#3557c4",
      "rotation": 1,
      "max_seats": 1
    }
  ],
  "venue": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Delete a seating plan

Deletes the seating plan. This cannot be undone.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the seating plan.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/seating-plans/:id
curl -X DELETE 'http://kanokonlit.com/seating-plans/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Retrieve an events date

Returns one events date, found by its ID.

Optional user

Works without a token; with a user token the answer is personal.

Path parameters
idstringRequired

The ID of the events date.

date_indexstringRequired

The events date's date index.

Status codes

200 404 500

GET/events-date/:id/:date_index
curl -X GET 'http://kanokonlit.com/events-date/{id}/{date_index}?ionic=true'
Response
{
  "name": "Example",
  "venue": "6543210fedcba98765432100",
  "description": "Text shown on the site.",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "dates": [
    {
      "date": "2026-11-04T12:00:00.000Z",
      "_id": "6543210fedcba98765432100",
      "seating_plan": {
        "id": "example",
        "sections": "example"
      }
    }
  ],
  "owner_id": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "tier_1": {
    "name": "Example",
    "price": 0
  },
  "tier_2": {
    "name": "Example",
    "price": 0
  },
  "tier_3": {
    "name": "Example",
    "price": 0
  },
  "tier_4": {
    "name": "Example",
    "price": 0
  },
  "tier_5": {
    "name": "Example",
    "price": 0
  },
  "tier_6": {
    "name": "Example",
    "price": 0
  }
}

Retrieve a ticket

Returns one ticket, found by its ID.

Optional user

Works without a token; with a user token the answer is personal.

Path parameters
idstringRequired

The ID of the ticket.

Returns

Returns the Ticket object.

Status codes

200 404 500

GET/ticket/:id
curl -X GET 'http://kanokonlit.com/ticket/{id}?ionic=true'
Response
{
  "event": "6543210fedcba98765432100",
  "date": 1,
  "section": 1,
  "subsection": 1,
  "row": 1,
  "seat": 1,
  "row_index_formated": 1,
  "seat_index_formated": 1,
  "lead_id": "6543210fedcba98765432100",
  "socket_id": "example",
  "status": "frozen",
  "expiration_time": "2026-11-04T12:00:00.000Z",
  "qr_code": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "tier": {
    "name": "Example",
    "price": 0
  }
}

Create a ticket

Creates a ticket from the fields sent.

Optional user

Works without a token; with a user token the answer is personal.

Parameters
findIndexstring

The ticket's find index.

splicestring

The ticket's splice.

pushstring

The ticket's push.

ticketsstring

The ticket's tickets.

freeze_actionstring

The ticket's freeze action.

bought_by_adminstring

The ticket's bought by admin.

freezestring

The ticket's freeze.

Returns

Returns the Ticket object.

Status codes

201 400 500

POST/tickets
curl -X POST 'http://kanokonlit.com/tickets?ionic=true' \
  -H 'Content-Type: application/json' \
  -d '{ "findIndex": "...", "splice": "...", "push": "...", "tickets": "...", "freeze_action": "..." }'
Response
{
  "event": "6543210fedcba98765432100",
  "date": 1,
  "section": 1,
  "subsection": 1,
  "row": 1,
  "seat": 1,
  "row_index_formated": 1,
  "seat_index_formated": 1,
  "lead_id": "6543210fedcba98765432100",
  "socket_id": "example",
  "status": "frozen",
  "expiration_time": "2026-11-04T12:00:00.000Z",
  "qr_code": "6543210fedcba98765432100",
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "tier": {
    "name": "Example",
    "price": 0
  }
}

List all venues

Returns the site's venues, newest first unless a sort is given.

Public

Public - no token needed.

Returns

Returns a list of Venue objects.

Status codes

200 500

GET/venues
curl -X GET 'http://kanokonlit.com/venues?ionic=true'
Response
[
  {
    "name": "Example",
    "origin_address": "6543210fedcba98765432100",
    "address": "example",
    "medias": [
      {
        "media": "6543210fedcba98765432100",
        "gcs_url": "example-item",
        "gcs_480_30_url": "example-item",
        "gcs_720_30_url": "example-item",
        "gcs_1080_30_url": "example-item",
        "duration": 1,
        "vimeo_uri": "example",
        "vimeo_picture": "example",
        "vimeo_url": "example-item",
        "youtube_url": "example-item",
        "youtube_picture": "example",
        "thumbnail": "example",
        "_id": "6543210fedcba98765432100"
      }
    ],
    "_id": "6543210fedcba98765432100",
    "updatedAt": "2026-11-04T12:00:00.000Z",
    "createdAt": "2026-11-04T12:00:00.000Z"
  }
]

Create a venue

Creates a venue from the fields sent.

User token

Needs the token of a signed-in user.

Returns

Returns the Venue object.

Status codes

201 400 401 500

POST/venues
curl -X POST 'http://kanokonlit.com/venues?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "origin_address": "6543210fedcba98765432100",
  "address": "example",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Retrieve a venue

Returns one venue, found by its ID.

Public

Public - no token needed.

Path parameters
idstringRequired

The ID of the venue.

Returns

Returns the Venue object.

Status codes

200 404 500

GET/venues/:id
curl -X GET 'http://kanokonlit.com/venues/{id}?ionic=true'
Response
{
  "name": "Example",
  "origin_address": "6543210fedcba98765432100",
  "address": "example",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Update a venue

Changes the fields sent; the others stay as they are.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the venue.

Returns

Returns the Venue object.

Status codes

200 400 401 404 500

PATCH/venues/:id
curl -X PATCH 'http://kanokonlit.com/venues/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'
Response
{
  "name": "Example",
  "origin_address": "6543210fedcba98765432100",
  "address": "example",
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gcs_480_30_url": "example-item",
      "gcs_720_30_url": "example-item",
      "gcs_1080_30_url": "example-item",
      "duration": 1,
      "vimeo_uri": "example",
      "vimeo_picture": "example",
      "vimeo_url": "example-item",
      "youtube_url": "example-item",
      "youtube_picture": "example",
      "thumbnail": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z"
}

Delete a venue

Deletes the venue. This cannot be undone.

User token

Needs the token of a signed-in user.

Path parameters
idstringRequired

The ID of the venue.

Returns

Returns an empty answer on success.

Status codes

200 401 404 500

DELETE/venues/:id
curl -X DELETE 'http://kanokonlit.com/venues/{id}?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>'

Create an event with AI

Create an event from a prompt, written by the AI builder.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the event, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

item_idstring

The ID of the event to change.

Status codes

200 401 500

POST/create-new-event
curl -X POST 'http://kanokonlit.com/create-new-event?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'
Response
{
  "chat_id": "6543210fedcba98765432100",
  "role": "user",
  "text": "Text shown on the site.",
  "target_url": "example-item",
  "action": "RESPONSE",
  "options": [
    "example"
  ],
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gemini_uri": "example",
      "gemini_interaction_id": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "products": [
    "6543210fedcba98765432101"
  ],
  "services": [
    "6543210fedcba98765432101"
  ],
  "blogposts": [
    "6543210fedcba98765432101"
  ],
  "programs": [
    "6543210fedcba98765432101"
  ],
  "suggestions": [
    {
      "text": "Text shown on the site.",
      "route": "example",
      "item_id": "6543210fedcba98765432100",
      "medias": [],
      "picture": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "is_system": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data": {
    "object": "example",
    "object_type": "example",
    "edit_summary": "example",
    "edit_diff": "example",
    "undo_record": "example",
    "hero_animation_offer": "example",
    "preview_state": "example",
    "pending_credit_cost": 0,
    "target_restore": "example",
    "media_request": "example",
    "item_request": "example",
    "reference_request": "example"
  }
}

Create a seating plan with AI

Create a seating plan from a prompt, written by the AI builder.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the seating plan, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

item_idstring

The ID of the seating plan to change.

Status codes

200 401 500

POST/create-new-seating-plan
curl -X POST 'http://kanokonlit.com/create-new-seating-plan?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'

Create a venue with AI

Create a venue from a prompt, written by the AI builder.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the venue, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

aiVersionstring

Which version of the AI builder to use; leave it out for the current one.

item_idstring

The ID of the venue to change.

Status codes

200 401 500

POST/create-new-venue
curl -X POST 'http://kanokonlit.com/create-new-venue?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "...", "aiVersion": "...", "item_id": "..." }'
Response
{
  "chat_id": "6543210fedcba98765432100",
  "role": "user",
  "text": "Text shown on the site.",
  "target_url": "example-item",
  "action": "RESPONSE",
  "options": [
    "example"
  ],
  "medias": [
    {
      "media": "6543210fedcba98765432100",
      "gcs_url": "example-item",
      "gemini_uri": "example",
      "gemini_interaction_id": "example",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "products": [
    "6543210fedcba98765432101"
  ],
  "services": [
    "6543210fedcba98765432101"
  ],
  "blogposts": [
    "6543210fedcba98765432101"
  ],
  "programs": [
    "6543210fedcba98765432101"
  ],
  "suggestions": [
    {
      "text": "Text shown on the site.",
      "route": "example",
      "item_id": "6543210fedcba98765432100",
      "medias": [],
      "picture": "6543210fedcba98765432100",
      "_id": "6543210fedcba98765432100"
    }
  ],
  "is_system": false,
  "_id": "6543210fedcba98765432100",
  "updatedAt": "2026-11-04T12:00:00.000Z",
  "createdAt": "2026-11-04T12:00:00.000Z",
  "data": {
    "object": "example",
    "object_type": "example",
    "edit_summary": "example",
    "edit_diff": "example",
    "undo_record": "example",
    "hero_animation_offer": "example",
    "preview_state": "example",
    "pending_credit_cost": 0,
    "target_restore": "example",
    "media_request": "example",
    "item_request": "example",
    "reference_request": "example"
  }
}

Generate an event with AI

Use it to create a new ticketed event with dates, ticket tiers, and a venue.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the event, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Status codes

200 401 500

POST/generate-event
curl -X POST 'http://kanokonlit.com/generate-event?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "..." }'

Generate a seating plan with AI

Use it to create a new seating plan or seat map layout for an event venue.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the seating plan, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Status codes

200 401 500

POST/generate-seating-plan
curl -X POST 'http://kanokonlit.com/generate-seating-plan?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "..." }'

Generate a venue with AI

Use it to create a new event venue (name, address, and origin/region).

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the venue, in plain words - any language.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Status codes

200 401 500

POST/generate-venue
curl -X POST 'http://kanokonlit.com/generate-venue?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "chatId": "..." }'

Modify an event with AI

Use it to edit or update an existing event.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the event, in plain words - any language.

item_datastring

The current event, as JSON - the AI changes it and returns the result.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

item_idstring

The ID of the event to change.

item_idsstring

The event's item ids.

Status codes

200 401 500

POST/modify-event
curl -X POST 'http://kanokonlit.com/modify-event?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "item_data": "...", "chatId": "...", "item_id": "...", "item_ids": "..." }'

Modify a seating plan with AI

Use it to edit or update an existing seating plan.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the seating plan, in plain words - any language.

item_datastring

The current seating plan, as JSON - the AI changes it and returns the result.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

Status codes

200 401 500

POST/modify-seating-plan
curl -X POST 'http://kanokonlit.com/modify-seating-plan?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "item_data": "...", "chatId": "..." }'

Modify a venue with AI

Use it to edit or update an existing venue.

User token

Needs the token of a signed-in user.

Parameters
promptstring

What the AI should do with the venue, in plain words - any language.

item_datastring

The current venue, as JSON - the AI changes it and returns the result.

chatIdstring

The AI chat this request belongs to; its history and language carry over. Leave it out to start a new chat.

item_idstring

The ID of the venue to change.

item_idsstring

The venue's item ids.

Status codes

200 401 500

POST/modify-venue
curl -X POST 'http://kanokonlit.com/modify-venue?ionic=true' \
  -H 'Authorization: Bearer <TOKEN>' \
  -H 'Content-Type: application/json' \
  -d '{ "prompt": "...", "item_data": "...", "chatId": "...", "item_id": "...", "item_ids": "..." }'
↑↓ Navigate↵ GoEsc Close