> ## Documentation Index
> Fetch the complete documentation index at: https://docs-restapi.wplimit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Events Overview

> Manage LatePoint events, their dates, categories, registrations, e-tickets and waiting lists through the API.

The Events endpoints give you access to LatePoint's events module: events and their dates, event categories, registrations, and the LatePoint Pro e-tickets and waiting list.

All Events endpoints live under `/wp-json/latepoint-api/v1/events` and use the same [authentication](https://docs-restapi.wplimit.com/authentication.md) and response format as the rest of the API.

## Requirements

* **LatePoint 5.7 or newer.** On older versions every Events endpoint returns `503 feature_not_available`.
* **"Enable Events" setting.** Write operations (create, update, delete, cancel, check-in and waiting list actions) return `503 feature_disabled` when Events is turned off in LatePoint settings. Read operations keep working.
* **LatePoint Pro Features** for ticket types, e-tickets and the waiting list (see [Pro features](#pro-features)).

## Endpoints

| Resource | Endpoints |
| - | - |
| Events | [List](https://docs-restapi.wplimit.com/api-reference/events/list.md), [Get](https://docs-restapi.wplimit.com/api-reference/events/get.md), [Create](https://docs-restapi.wplimit.com/api-reference/events/create.md), [Update](https://docs-restapi.wplimit.com/api-reference/events/update.md), [Delete](https://docs-restapi.wplimit.com/api-reference/events/delete.md) |
| Event dates | [List](https://docs-restapi.wplimit.com/api-reference/events/dates-list.md), [Create](https://docs-restapi.wplimit.com/api-reference/events/dates-create.md), [Update](https://docs-restapi.wplimit.com/api-reference/events/dates-update.md), [Delete](https://docs-restapi.wplimit.com/api-reference/events/dates-delete.md) |
| Event categories | [List](https://docs-restapi.wplimit.com/api-reference/events/categories-list.md), [Get](https://docs-restapi.wplimit.com/api-reference/events/categories-get.md), [Create](https://docs-restapi.wplimit.com/api-reference/events/categories-create.md), [Update](https://docs-restapi.wplimit.com/api-reference/events/categories-update.md), [Delete](https://docs-restapi.wplimit.com/api-reference/events/categories-delete.md) |
| Registrations | [List](https://docs-restapi.wplimit.com/api-reference/events/registrations-list.md), [Get](https://docs-restapi.wplimit.com/api-reference/events/registrations-get.md), [Cancel](https://docs-restapi.wplimit.com/api-reference/events/registrations-cancel.md) |
| E-Tickets (Pro) | [List](https://docs-restapi.wplimit.com/api-reference/events/tickets-list.md), [Get](https://docs-restapi.wplimit.com/api-reference/events/tickets-get.md), [Check-in](https://docs-restapi.wplimit.com/api-reference/events/tickets-check-in.md) |
| Waiting list (Pro) | [List](https://docs-restapi.wplimit.com/api-reference/events/waiting-list-list.md), [Get](https://docs-restapi.wplimit.com/api-reference/events/waiting-list-get.md), [Invite](https://docs-restapi.wplimit.com/api-reference/events/waiting-list-invite.md), [Promote](https://docs-restapi.wplimit.com/api-reference/events/waiting-list-promote.md), [Remove](https://docs-restapi.wplimit.com/api-reference/events/waiting-list-remove.md) |

## Dates and times

Event dates and times follow one rule:

* **Request values** and the response fields `start`, `end`, `registration_start` and `registration_end` are in the **site timezone** (the timezone configured in WordPress), formatted as `YYYY-MM-DD HH:MM`. Seconds are optional, and a date alone (`YYYY-MM-DD`) means `00:00`.
* Fields ending in **`_utc`** (`start_utc`, `end_utc`) are in **UTC**.
* Every event includes a `timezone` field with the site timezone name, for example `America/Montevideo`.

```json theme={null}
{
  "start": "2026-12-05 09:00:00",
  "start_utc": "2026-12-05 12:00:00",
  "timezone": "America/Montevideo"
}
```

An event can have several dates (for example a two-day retreat). The event's overall `start` and `end` are calculated from its dates: `start` is the earliest date start and `end` is the latest date end. They are recalculated every time a date is added, changed or removed.

> [!NOTE]
>
> The `created_after` and `created_before` filters of [List Registrations](https://docs-restapi.wplimit.com/api-reference/events/registrations-list.md) are an exception: they compare against the stored `created_at` value and are expressed in UTC (`YYYY-MM-DD HH:MM:SS`).

## Registrations

Registrations are created by customers through LatePoint's booking form and checkout, not through the API. The API lets you read registrations and cancel them.

Cancelling a registration works like the **Cancel** action in the LatePoint admin. It does **not** cancel or refund the order the registration belongs to. Manage the order separately with the [Orders](https://docs-restapi.wplimit.com/api-reference/orders/get.md) and [Payments](https://docs-restapi.wplimit.com/api-reference/payments/list.md) endpoints.

Order items for events have `variant: "event_registration"`. [Get Order](https://docs-restapi.wplimit.com/api-reference/orders/get.md) includes the related registration in each of those items.

## Pro features

Some event features come from **LatePoint Pro Features** and must also be enabled in LatePoint settings:

| Feature | Where it appears in the API |
| - | - |
| Ticket types | `use_ticket_types` and `ticket_types` fields on events; `ticket_types` on registrations |
| E-Tickets | `/events/tickets` endpoints; `tickets` on registration details |
| Waiting list | `/events/waiting-list` endpoints; `waiting_list` settings on events |

Pro fields are only included in event responses when the feature is enabled, and Pro request fields are ignored when it is not. Pro endpoints return one of these errors when the feature is unavailable:

```json theme={null}
{
  "code": "feature_not_available",
  "message": "E-Tickets requires LatePoint Pro Features",
  "data": {
    "status": 503
  }
}
```

```json theme={null}
{
  "code": "feature_disabled",
  "message": "Waiting List is disabled in LatePoint settings",
  "data": {
    "status": 503
  }
}
```

## Availability Errors

| Status | Code | When |
| - | - | - |
| `503` | `feature_not_available` | LatePoint is older than 5.7 (`Events require LatePoint 5.7 or newer`), or a Pro endpoint is called without LatePoint Pro Features |
| `503` | `feature_disabled` | A write operation is called while Events is disabled, or a Pro endpoint is called while that Pro feature is disabled |

## Event Object

**id** `integer`

Unique identifier for the event

**name** `string`

Event name

**slug** `string`

URL slug

**summary** `string`

Short summary

**description** `string`

Full description (HTML)

**status** `string`

One of `draft`, `published`, `cancelled`, `completed`

**event\_type** `string`

`in_person` or `online`

**online\_url** `string`

Meeting URL for online events

**category\_id** `integer`

Event category ID, or `null`

**category** `object`

Category summary (`id`, `name`), or `null`

**featured\_image\_id** `integer`

WordPress media attachment ID of the featured image, or `null`

**featured\_image\_url** `string`

Featured image URL, or `null`

**location\_text** `string`

Location shown for the event

**organizer\_name** `string`

Organizer shown for the event

**price** `number`

Price per ticket (`0` = free)

**formatted\_price** `string`

Price formatted with the site currency

**is\_paid** `boolean`

Whether the event is paid

**charge\_per\_ticket** `boolean`

Whether the price is multiplied by the number of tickets

**ask\_ticket\_quantity** `boolean`

Whether the booking form asks for a ticket quantity

**start** `string`

Overall start, site timezone

**end** `string`

Overall end, site timezone

**start\_utc** `string`

Overall start, UTC

**end\_utc** `string`

Overall end, UTC

**registration\_start** `string`

When registration opens, site timezone. `null` = opens immediately

**registration\_end** `string`

When registration closes, site timezone. `null` = closes when the event starts

**registration\_open** `boolean`

Whether registration is currently open

**capacity** `object`

Capacity summary

**properties**

**unlimited** `boolean`

`true` when the event has no capacity limit

**total** `integer`

Total places (`null` when unlimited)

**booked** `integer`

Places booked

**available** `integer`

Places left (`null` when unlimited)

**sold\_out** `boolean`

Whether the event is sold out

**timezone** `string`

Site timezone name

**order\_number** `integer`

Display order

**created\_at** `string`

Creation timestamp

**updated\_at** `string`

Last update timestamp

**dates** `array`

Event dates (`id`, `event_id`, `start`, `end`, `start_utc`, `end_utc`). Only included when getting a single event.

**use\_ticket\_types** `boolean`

**Pro.** Whether the event sells ticket types. Only present when Ticket Types is enabled.

**ticket\_types** `array`

**Pro.** Ticket types (`id`, `event_id`, `name`, `price`, `formatted_price`, `capacity`, `booked`, `available`, `sold_out`, `status`, `order_number`). A `capacity` or `available` of `null` means unlimited. Only present when Ticket Types is enabled.

**waiting\_list** `object`

**Pro.** Waiting list settings: `enabled`, `capacity` (`null` = unlimited) and `queue_count` (people currently in the queue). Only present when Waiting List is enabled.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.