curl --request POST \
--url https://api.1club.ai/v1/platform/events/{id}/unpublish \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.1club.ai/v1/platform/events/{id}/unpublish"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.1club.ai/v1/platform/events/{id}/unpublish', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.1club.ai/v1/platform/events/{id}/unpublish",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.1club.ai/v1/platform/events/{id}/unpublish"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.1club.ai/v1/platform/events/{id}/unpublish")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.1club.ai/v1/platform/events/{id}/unpublish")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 123,
"slug": "<string>",
"title": "<string>",
"summary": "<string>",
"description": {
"blocks": [
{
"type": "paragraph",
"data": {},
"id": "<string>",
"tunes": {}
}
],
"time": 123,
"version": "<string>"
},
"descriptionText": "<string>",
"coverImage": "<string>",
"location": "<string>",
"clubId": 123,
"club": {
"id": 123,
"name": "<string>"
},
"startTime": "2023-11-07T05:31:56Z",
"endTime": "2023-11-07T05:31:56Z",
"status": "draft",
"visibility": "Public",
"featured": true,
"bookable": true,
"paymentCollection": "online",
"sports": [
"<string>"
],
"notifyStaff": true,
"translations": {},
"publishedAt": "2023-11-07T05:31:56Z",
"publicUrl": "<string>",
"instructors": [
{
"id": 123,
"name": "<string>"
}
],
"areas": [
{
"id": 123,
"name": "<string>"
}
],
"tickets": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"price": 123,
"capacity": 123,
"revenueAccountId": 123,
"sortOrder": 123,
"translations": {},
"soldCount": 123
}
],
"bookedCount": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}Unpublish an event
Takes a live event back to draft, hiding it from members. Only a live event, and only while nobody holds an active booking for it: an event people have booked must be cancelled instead, which tells them. Both refusals are a 409 with code EVENT_TRANSITION_REFUSED.
curl --request POST \
--url https://api.1club.ai/v1/platform/events/{id}/unpublish \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.1club.ai/v1/platform/events/{id}/unpublish"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.1club.ai/v1/platform/events/{id}/unpublish', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.1club.ai/v1/platform/events/{id}/unpublish",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.1club.ai/v1/platform/events/{id}/unpublish"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.1club.ai/v1/platform/events/{id}/unpublish")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.1club.ai/v1/platform/events/{id}/unpublish")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 123,
"slug": "<string>",
"title": "<string>",
"summary": "<string>",
"description": {
"blocks": [
{
"type": "paragraph",
"data": {},
"id": "<string>",
"tunes": {}
}
],
"time": 123,
"version": "<string>"
},
"descriptionText": "<string>",
"coverImage": "<string>",
"location": "<string>",
"clubId": 123,
"club": {
"id": 123,
"name": "<string>"
},
"startTime": "2023-11-07T05:31:56Z",
"endTime": "2023-11-07T05:31:56Z",
"status": "draft",
"visibility": "Public",
"featured": true,
"bookable": true,
"paymentCollection": "online",
"sports": [
"<string>"
],
"notifyStaff": true,
"translations": {},
"publishedAt": "2023-11-07T05:31:56Z",
"publicUrl": "<string>",
"instructors": [
{
"id": 123,
"name": "<string>"
}
],
"areas": [
{
"id": 123,
"name": "<string>"
}
],
"tickets": [
{
"id": 123,
"name": "<string>",
"description": "<string>",
"price": 123,
"capacity": 123,
"revenueAccountId": 123,
"sortOrder": 123,
"translations": {},
"soldCount": 123
}
],
"bookedCount": 123,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}{
"error": "<string>",
"code": "<string>",
"details": {}
}Authorizations
Organization-scoped bearer credential: a customer API key (1club_sk_live_...) or an MCP OAuth access token.
Headers
Retry-safe key; a repeat of the same request replays the first response
255Path Parameters
1club event id
Response
The event, back to draft
A one-off occasion a club puts on, sold through tickets. Counts only: who booked is not part of an event.
The last part of the public URL; follows the title.
An Editor.js document: { blocks: [{ type, data }] }.
Show child attributes
Show child attributes
description as plain text.
Show child attributes
Show child attributes
draft: members see nothing. live: published. cancelled: called off, its bookings cancelled.
draft, live, cancelled Public, Member_only, Private online, on_arrival, member_choice Per-locale wording, as { "es": { "title": "..." } }. Replaces the whole map when sent.
Show child attributes
Show child attributes
When it was first published.
The member-facing page. null unless the event is live, or when the organization publishes neither a website nor a member portal.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Active tickets, in display order.
Show child attributes
Show child attributes
Active bookings (confirmed, pending, checked in) across all tickets.
Was this page helpful?