curl --request PATCH \
--url https://api.signupbreeze.com/v1/events/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Fall Festival 2026",
"description": "Now with a bouncy castle.",
"location": "14 Main St",
"is_virtual": true,
"location_lat": -89,
"location_lng": -179,
"location_data": null,
"start_date": "2026-09-19",
"end_date": "2026-09-20",
"timezone": "America/Los_Angeles",
"is_published": true,
"theme": "midnight",
"badge_label": "g",
"notify_volunteers": false
}
'import requests
url = "https://api.signupbreeze.com/v1/events/{id}"
payload = {
"title": "Fall Festival 2026",
"description": "Now with a bouncy castle.",
"location": "14 Main St",
"is_virtual": True,
"location_lat": -89,
"location_lng": -179,
"location_data": None,
"start_date": "2026-09-19",
"end_date": "2026-09-20",
"timezone": "America/Los_Angeles",
"is_published": True,
"theme": "midnight",
"badge_label": "g",
"notify_volunteers": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Fall Festival 2026',
description: 'Now with a bouncy castle.',
location: '14 Main St',
is_virtual: true,
location_lat: -89,
location_lng: -179,
location_data: null,
start_date: '2026-09-19',
end_date: '2026-09-20',
timezone: 'America/Los_Angeles',
is_published: true,
theme: 'midnight',
badge_label: 'g',
notify_volunteers: false
})
};
fetch('https://api.signupbreeze.com/v1/events/{id}', 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.signupbreeze.com/v1/events/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => 'Fall Festival 2026',
'description' => 'Now with a bouncy castle.',
'location' => '14 Main St',
'is_virtual' => true,
'location_lat' => -89,
'location_lng' => -179,
'location_data' => null,
'start_date' => '2026-09-19',
'end_date' => '2026-09-20',
'timezone' => 'America/Los_Angeles',
'is_published' => true,
'theme' => 'midnight',
'badge_label' => 'g',
'notify_volunteers' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.signupbreeze.com/v1/events/{id}"
payload := strings.NewReader("{\n \"title\": \"Fall Festival 2026\",\n \"description\": \"Now with a bouncy castle.\",\n \"location\": \"14 Main St\",\n \"is_virtual\": true,\n \"location_lat\": -89,\n \"location_lng\": -179,\n \"location_data\": null,\n \"start_date\": \"2026-09-19\",\n \"end_date\": \"2026-09-20\",\n \"timezone\": \"America/Los_Angeles\",\n \"is_published\": true,\n \"theme\": \"midnight\",\n \"badge_label\": \"g\",\n \"notify_volunteers\": false\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.signupbreeze.com/v1/events/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Fall Festival 2026\",\n \"description\": \"Now with a bouncy castle.\",\n \"location\": \"14 Main St\",\n \"is_virtual\": true,\n \"location_lat\": -89,\n \"location_lng\": -179,\n \"location_data\": null,\n \"start_date\": \"2026-09-19\",\n \"end_date\": \"2026-09-20\",\n \"timezone\": \"America/Los_Angeles\",\n \"is_published\": true,\n \"theme\": \"midnight\",\n \"badge_label\": \"g\",\n \"notify_volunteers\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.signupbreeze.com/v1/events/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Fall Festival 2026\",\n \"description\": \"Now with a bouncy castle.\",\n \"location\": \"14 Main St\",\n \"is_virtual\": true,\n \"location_lat\": -89,\n \"location_lng\": -179,\n \"location_data\": null,\n \"start_date\": \"2026-09-19\",\n \"end_date\": \"2026-09-20\",\n \"timezone\": \"America/Los_Angeles\",\n \"is_published\": true,\n \"theme\": \"midnight\",\n \"badge_label\": \"g\",\n \"notify_volunteers\": false\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "019ff256-ecd6-73a6-9030-359475f32da1",
"title": "Quos velit et fugiat.",
"description": "Harum mollitia modi deserunt aut ab provident perspiciatis quo. Nostrum aut adipisci quidem nostrum. Commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur.\n\nEnim non facere tempora ex voluptatem laboriosam praesentium. Adipisci molestias fugit deleniti distinctio eum doloremque id. Libero aliquam veniam corporis dolorem mollitia deleniti.",
"slug": "quos-velit-et-fugiat-224",
"location": "2669 Wolff Trail\nBeierburgh, VA 78637",
"is_virtual": false,
"start_date": "2026-08-31T14:55:29+00:00",
"end_date": "2026-08-31T22:20:33+00:00",
"timezone": "UTC",
"is_published": false,
"public_url": "http://localhost/e/quos-velit-et-fugiat-224",
"slots": [
{
"id": "019ff256-ecd7-7294-8899-bc3c1bd2d97b",
"event_id": "019ff256-ecd6-73a6-9030-359475f32da1",
"title": "Clean-up Crew",
"location": null,
"is_virtual": false,
"start_time": "2026-10-16T07:52:54+00:00",
"end_time": "2026-10-16T09:52:54+00:00",
"capacity": 3,
"filled": 0,
"remaining": 3,
"created_at": "2026-08-11T19:40:10+00:00",
"updated_at": "2026-08-11T19:40:10+00:00"
}
],
"created_at": "2026-08-11T19:40:10+00:00",
"updated_at": "2026-08-11T19:40:10+00:00"
}
}{
"message": "Not found."
}{
"message": "Your plan allows a maximum of 3 active events.",
"error": "plan_limit_reached",
"limit": {
"limit_type": "active_events",
"current_count": 3,
"max_allowed": 3
}
}Update an event
Send only the fields you are changing; anything omitted keeps its current value.
Publish an event by sending is_published: true.
Changing the title, location, or dates emails confirmed volunteers about a minute
later. Pass notify_volunteers: false to correct a typo without mailing everyone.
Requires the events:write scope.
curl --request PATCH \
--url https://api.signupbreeze.com/v1/events/{id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Fall Festival 2026",
"description": "Now with a bouncy castle.",
"location": "14 Main St",
"is_virtual": true,
"location_lat": -89,
"location_lng": -179,
"location_data": null,
"start_date": "2026-09-19",
"end_date": "2026-09-20",
"timezone": "America/Los_Angeles",
"is_published": true,
"theme": "midnight",
"badge_label": "g",
"notify_volunteers": false
}
'import requests
url = "https://api.signupbreeze.com/v1/events/{id}"
payload = {
"title": "Fall Festival 2026",
"description": "Now with a bouncy castle.",
"location": "14 Main St",
"is_virtual": True,
"location_lat": -89,
"location_lng": -179,
"location_data": None,
"start_date": "2026-09-19",
"end_date": "2026-09-20",
"timezone": "America/Los_Angeles",
"is_published": True,
"theme": "midnight",
"badge_label": "g",
"notify_volunteers": False
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Fall Festival 2026',
description: 'Now with a bouncy castle.',
location: '14 Main St',
is_virtual: true,
location_lat: -89,
location_lng: -179,
location_data: null,
start_date: '2026-09-19',
end_date: '2026-09-20',
timezone: 'America/Los_Angeles',
is_published: true,
theme: 'midnight',
badge_label: 'g',
notify_volunteers: false
})
};
fetch('https://api.signupbreeze.com/v1/events/{id}', 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.signupbreeze.com/v1/events/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'title' => 'Fall Festival 2026',
'description' => 'Now with a bouncy castle.',
'location' => '14 Main St',
'is_virtual' => true,
'location_lat' => -89,
'location_lng' => -179,
'location_data' => null,
'start_date' => '2026-09-19',
'end_date' => '2026-09-20',
'timezone' => 'America/Los_Angeles',
'is_published' => true,
'theme' => 'midnight',
'badge_label' => 'g',
'notify_volunteers' => false
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.signupbreeze.com/v1/events/{id}"
payload := strings.NewReader("{\n \"title\": \"Fall Festival 2026\",\n \"description\": \"Now with a bouncy castle.\",\n \"location\": \"14 Main St\",\n \"is_virtual\": true,\n \"location_lat\": -89,\n \"location_lng\": -179,\n \"location_data\": null,\n \"start_date\": \"2026-09-19\",\n \"end_date\": \"2026-09-20\",\n \"timezone\": \"America/Los_Angeles\",\n \"is_published\": true,\n \"theme\": \"midnight\",\n \"badge_label\": \"g\",\n \"notify_volunteers\": false\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.signupbreeze.com/v1/events/{id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"title\": \"Fall Festival 2026\",\n \"description\": \"Now with a bouncy castle.\",\n \"location\": \"14 Main St\",\n \"is_virtual\": true,\n \"location_lat\": -89,\n \"location_lng\": -179,\n \"location_data\": null,\n \"start_date\": \"2026-09-19\",\n \"end_date\": \"2026-09-20\",\n \"timezone\": \"America/Los_Angeles\",\n \"is_published\": true,\n \"theme\": \"midnight\",\n \"badge_label\": \"g\",\n \"notify_volunteers\": false\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.signupbreeze.com/v1/events/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"title\": \"Fall Festival 2026\",\n \"description\": \"Now with a bouncy castle.\",\n \"location\": \"14 Main St\",\n \"is_virtual\": true,\n \"location_lat\": -89,\n \"location_lng\": -179,\n \"location_data\": null,\n \"start_date\": \"2026-09-19\",\n \"end_date\": \"2026-09-20\",\n \"timezone\": \"America/Los_Angeles\",\n \"is_published\": true,\n \"theme\": \"midnight\",\n \"badge_label\": \"g\",\n \"notify_volunteers\": false\n}"
response = http.request(request)
puts response.read_body{
"data": {
"id": "019ff256-ecd6-73a6-9030-359475f32da1",
"title": "Quos velit et fugiat.",
"description": "Harum mollitia modi deserunt aut ab provident perspiciatis quo. Nostrum aut adipisci quidem nostrum. Commodi incidunt iure odit. Et modi ipsum nostrum omnis autem et consequatur.\n\nEnim non facere tempora ex voluptatem laboriosam praesentium. Adipisci molestias fugit deleniti distinctio eum doloremque id. Libero aliquam veniam corporis dolorem mollitia deleniti.",
"slug": "quos-velit-et-fugiat-224",
"location": "2669 Wolff Trail\nBeierburgh, VA 78637",
"is_virtual": false,
"start_date": "2026-08-31T14:55:29+00:00",
"end_date": "2026-08-31T22:20:33+00:00",
"timezone": "UTC",
"is_published": false,
"public_url": "http://localhost/e/quos-velit-et-fugiat-224",
"slots": [
{
"id": "019ff256-ecd7-7294-8899-bc3c1bd2d97b",
"event_id": "019ff256-ecd6-73a6-9030-359475f32da1",
"title": "Clean-up Crew",
"location": null,
"is_virtual": false,
"start_time": "2026-10-16T07:52:54+00:00",
"end_time": "2026-10-16T09:52:54+00:00",
"capacity": 3,
"filled": 0,
"remaining": 3,
"created_at": "2026-08-11T19:40:10+00:00",
"updated_at": "2026-08-11T19:40:10+00:00"
}
],
"created_at": "2026-08-11T19:40:10+00:00",
"updated_at": "2026-08-11T19:40:10+00:00"
}
}{
"message": "Not found."
}{
"message": "Your plan allows a maximum of 3 active events.",
"error": "plan_limit_reached",
"limit": {
"limit_type": "active_events",
"current_count": 3,
"max_allowed": 3
}
}Authorizations
Create a token under Organization settings → API. Tokens are shown once, on creation. They belong to the organization, not to you, so they keep working if you leave the team. API access is included on every plan; the rate limit depends on the plan.
Body
The event's name.
"Fall Festival 2026"
A longer description.
"Now with a bouncy castle."
A street address, or a URL for a virtual event.
"14 Main St"
true
Must be between -90 and 90.
-89
Must be between -180 and 180.
-179
null
The day the event starts, as YYYY-MM-DD.
"2026-09-19"
The last day, for multi-day events.
"2026-09-20"
An IANA timezone.
"America/Los_Angeles"
Publish or unpublish the event.
true
purple-indigo, ocean-blue, sunset-orange, forest-green, rose-pink, slate-charcoal, golden-hour, midnight "midnight"
Must not be greater than 255 characters.
"g"
Email confirmed volunteers about the change. Defaults to true.
false
Response
Show child attributes
Show child attributes

