Skip to main content
PATCH
Update an event

Authorizations

Authorization
string
header
required

Organization-scoped bearer credential: a customer API key (1club_sk_live_...) or an MCP OAuth access token.

Headers

Idempotency-Key
string

Retry-safe key; a repeat of the same request replays the first response

Maximum string length: 255

Path Parameters

id
integer
required

1club event id

Body

application/json

Fields accepted when updating an event. Send only what changes. Unknown fields are refused.

title
string

Changing it changes the slug, and with it the public URL.

Required string length: 1 - 200
summary
string | null

Plain-text teaser shown on cards and in notifications.

Maximum string length: 500
description

Plain text (a blank line starts a new paragraph) or an Editor.js document. null clears it.

Maximum string length: 20000
coverImage
string<uri> | null

Image URL, e.g. from the media library.

location
string | null

Free text; the event may take place away from any club.

Maximum string length: 300
clubId
integer | null

The club it belongs to; null for an organization-wide or off-site event. Decides the timezone wall-clock times are read in, and on create must still be taking events.

startTime
string

Start. With an offset or Z it is an exact instant; without one (2026-06-01T18:00:00) it is the wall clock at the event's club, in the club's timezone - or the organization's when the event names no club.

Example:

"2026-06-01T18:00:00"

endTime
string

End, after the start. With an offset or Z it is an exact instant; without one (2026-06-01T18:00:00) it is the wall clock at the event's club, in the club's timezone - or the organization's when the event names no club.

Example:

"2026-06-01T18:00:00"

visibility
enum<string>

Who sees it once live: anyone, signed-in members only, or nobody (reachable by staff only). Defaults to Public.

Available options:
Public,
Member_only,
Private

Promote it on the website and portal.

bookable
boolean

Whether places can be booked. An event with tickets always is, and a bookable event must have at least one ticket.

paymentCollection
enum<string>

How paid tickets are paid: online at booking, at the desk on arrival, or the buyer chooses. Free tickets never charge.

Available options:
online,
on_arrival,
member_choice
sports
string[]

Sport ids, e.g. padel, tennis.

translations
object | null

Per-locale wording, as { "es": { "title": "...", "summary": "..." } }. Replaces the whole map when sent; null clears it.

instructorIds
integer[]

Coaches running it. Each must belong to the organization. Replaces the whole list when sent.

areaIds
integer[]

Areas (courts, rooms) it occupies for its whole window while live. Each must belong to the organization. Replaces the whole list when sent.

tickets
object[]

Every ticket the event should sell. Replaces the set: resend each ticket you keep with its id; one without an id is new; one left out is retired (deactivated if it has bookings, deleted if not).

Maximum array length: 50
notifyStaff
boolean

Email admins and managers when a booking for this event is confirmed.

Response

The updated event

A one-off occasion a club puts on, sold through tickets. Counts only: who booked is not part of an event.

id
integer
slug
string

The last part of the public URL; follows the title.

title
string
summary
string | null
description
object | null

An Editor.js document: { blocks: [{ type, data }] }.

descriptionText
string | null

description as plain text.

coverImage
string | null
location
string | null
clubId
integer | null
club
object | null
startTime
string<date-time>
endTime
string<date-time>
status
enum<string>

draft: members see nothing. live: published. cancelled: called off, its bookings cancelled.

Available options:
draft,
live,
cancelled
visibility
enum<string>
Available options:
Public,
Member_only,
Private
bookable
boolean
paymentCollection
enum<string>
Available options:
online,
on_arrival,
member_choice
sports
string[]
notifyStaff
boolean
translations
object | null

Per-locale wording, as { "es": { "title": "..." } }. Replaces the whole map when sent.

publishedAt
string<date-time> | null

When it was first published.

publicUrl
string | null

The member-facing page. null unless the event is live, or when the organization publishes neither a website nor a member portal.

instructors
object[]
areas
object[]
tickets
object[]

Active tickets, in display order.

bookedCount
integer

Active bookings (confirmed, pending, checked in) across all tickets.

createdAt
string<date-time>
updatedAt
string<date-time>