Update a ticket tier
curl --request PATCH \
--url http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "VIP",
"price": 150,
"currency": "<string>",
"capacity": 100,
"min_tickets_per_order": 1,
"max_tickets_per_order": 5,
"group_booking_enabled": false,
"group_discount_enabled": false,
"sale_start": 1783882800000,
"sale_end": 1784487600000,
"inclusions": "Free drinks, Front row seating",
"sold_out": false,
"group_min_tickets": 10,
"discount_type": "PERCENTAGE",
"service_fee_rate": 0.05,
"discount_value": 15,
"show_remaining_tickets": true
}
'import requests
url = "http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey}"
payload = {
"name": "VIP",
"price": 150,
"currency": "<string>",
"capacity": 100,
"min_tickets_per_order": 1,
"max_tickets_per_order": 5,
"group_booking_enabled": False,
"group_discount_enabled": False,
"sale_start": 1783882800000,
"sale_end": 1784487600000,
"inclusions": "Free drinks, Front row seating",
"sold_out": False,
"group_min_tickets": 10,
"discount_type": "PERCENTAGE",
"service_fee_rate": 0.05,
"discount_value": 15,
"show_remaining_tickets": True
}
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({
name: 'VIP',
price: 150,
currency: '<string>',
capacity: 100,
min_tickets_per_order: 1,
max_tickets_per_order: 5,
group_booking_enabled: false,
group_discount_enabled: false,
sale_start: 1783882800000,
sale_end: 1784487600000,
inclusions: 'Free drinks, Front row seating',
sold_out: false,
group_min_tickets: 10,
discount_type: 'PERCENTAGE',
service_fee_rate: 0.05,
discount_value: 15,
show_remaining_tickets: true
})
};
fetch('http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey}",
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([
'name' => 'VIP',
'price' => 150,
'currency' => '<string>',
'capacity' => 100,
'min_tickets_per_order' => 1,
'max_tickets_per_order' => 5,
'group_booking_enabled' => false,
'group_discount_enabled' => false,
'sale_start' => 1783882800000,
'sale_end' => 1784487600000,
'inclusions' => 'Free drinks, Front row seating',
'sold_out' => false,
'group_min_tickets' => 10,
'discount_type' => 'PERCENTAGE',
'service_fee_rate' => 0.05,
'discount_value' => 15,
'show_remaining_tickets' => true
]),
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 := "http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey}"
payload := strings.NewReader("{\n \"name\": \"VIP\",\n \"price\": 150,\n \"currency\": \"<string>\",\n \"capacity\": 100,\n \"min_tickets_per_order\": 1,\n \"max_tickets_per_order\": 5,\n \"group_booking_enabled\": false,\n \"group_discount_enabled\": false,\n \"sale_start\": 1783882800000,\n \"sale_end\": 1784487600000,\n \"inclusions\": \"Free drinks, Front row seating\",\n \"sold_out\": false,\n \"group_min_tickets\": 10,\n \"discount_type\": \"PERCENTAGE\",\n \"service_fee_rate\": 0.05,\n \"discount_value\": 15,\n \"show_remaining_tickets\": true\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("http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"VIP\",\n \"price\": 150,\n \"currency\": \"<string>\",\n \"capacity\": 100,\n \"min_tickets_per_order\": 1,\n \"max_tickets_per_order\": 5,\n \"group_booking_enabled\": false,\n \"group_discount_enabled\": false,\n \"sale_start\": 1783882800000,\n \"sale_end\": 1784487600000,\n \"inclusions\": \"Free drinks, Front row seating\",\n \"sold_out\": false,\n \"group_min_tickets\": 10,\n \"discount_type\": \"PERCENTAGE\",\n \"service_fee_rate\": 0.05,\n \"discount_value\": 15,\n \"show_remaining_tickets\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"VIP\",\n \"price\": 150,\n \"currency\": \"<string>\",\n \"capacity\": 100,\n \"min_tickets_per_order\": 1,\n \"max_tickets_per_order\": 5,\n \"group_booking_enabled\": false,\n \"group_discount_enabled\": false,\n \"sale_start\": 1783882800000,\n \"sale_end\": 1784487600000,\n \"inclusions\": \"Free drinks, Front row seating\",\n \"sold_out\": false,\n \"group_min_tickets\": 10,\n \"discount_type\": \"PERCENTAGE\",\n \"service_fee_rate\": 0.05,\n \"discount_value\": 15,\n \"show_remaining_tickets\": true\n}"
response = http.request(request)
puts response.read_body{
"eventId": "evt_techconf2025",
"tierKey": "tier_general_admission",
"tier": {
"key": "tier_general_admission",
"name": "General Admission",
"price": 55,
"currency": "USD",
"capacity": 120,
"min_tickets_per_order": 1,
"max_tickets_per_order": 20,
"sold_out": false,
"group_booking_enabled": true,
"group_discount_enabled": false,
"discount_type": "PERCENTAGE",
"discount_value": 10,
"service_fee_rate": 0.05,
"show_remaining_tickets": true,
"sale_start": 1735651200000,
"sale_end": 1735665600000
},
"message": "Ticket tier updated"
}events-consumer
Update a ticket tier
PATCH
/
partners
/
events
/
{eventId}
/
ticket-tiers
/
{tierKey}
Update a ticket tier
curl --request PATCH \
--url http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "VIP",
"price": 150,
"currency": "<string>",
"capacity": 100,
"min_tickets_per_order": 1,
"max_tickets_per_order": 5,
"group_booking_enabled": false,
"group_discount_enabled": false,
"sale_start": 1783882800000,
"sale_end": 1784487600000,
"inclusions": "Free drinks, Front row seating",
"sold_out": false,
"group_min_tickets": 10,
"discount_type": "PERCENTAGE",
"service_fee_rate": 0.05,
"discount_value": 15,
"show_remaining_tickets": true
}
'import requests
url = "http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey}"
payload = {
"name": "VIP",
"price": 150,
"currency": "<string>",
"capacity": 100,
"min_tickets_per_order": 1,
"max_tickets_per_order": 5,
"group_booking_enabled": False,
"group_discount_enabled": False,
"sale_start": 1783882800000,
"sale_end": 1784487600000,
"inclusions": "Free drinks, Front row seating",
"sold_out": False,
"group_min_tickets": 10,
"discount_type": "PERCENTAGE",
"service_fee_rate": 0.05,
"discount_value": 15,
"show_remaining_tickets": True
}
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({
name: 'VIP',
price: 150,
currency: '<string>',
capacity: 100,
min_tickets_per_order: 1,
max_tickets_per_order: 5,
group_booking_enabled: false,
group_discount_enabled: false,
sale_start: 1783882800000,
sale_end: 1784487600000,
inclusions: 'Free drinks, Front row seating',
sold_out: false,
group_min_tickets: 10,
discount_type: 'PERCENTAGE',
service_fee_rate: 0.05,
discount_value: 15,
show_remaining_tickets: true
})
};
fetch('http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "3000",
CURLOPT_URL => "http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey}",
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([
'name' => 'VIP',
'price' => 150,
'currency' => '<string>',
'capacity' => 100,
'min_tickets_per_order' => 1,
'max_tickets_per_order' => 5,
'group_booking_enabled' => false,
'group_discount_enabled' => false,
'sale_start' => 1783882800000,
'sale_end' => 1784487600000,
'inclusions' => 'Free drinks, Front row seating',
'sold_out' => false,
'group_min_tickets' => 10,
'discount_type' => 'PERCENTAGE',
'service_fee_rate' => 0.05,
'discount_value' => 15,
'show_remaining_tickets' => true
]),
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 := "http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey}"
payload := strings.NewReader("{\n \"name\": \"VIP\",\n \"price\": 150,\n \"currency\": \"<string>\",\n \"capacity\": 100,\n \"min_tickets_per_order\": 1,\n \"max_tickets_per_order\": 5,\n \"group_booking_enabled\": false,\n \"group_discount_enabled\": false,\n \"sale_start\": 1783882800000,\n \"sale_end\": 1784487600000,\n \"inclusions\": \"Free drinks, Front row seating\",\n \"sold_out\": false,\n \"group_min_tickets\": 10,\n \"discount_type\": \"PERCENTAGE\",\n \"service_fee_rate\": 0.05,\n \"discount_value\": 15,\n \"show_remaining_tickets\": true\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("http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"VIP\",\n \"price\": 150,\n \"currency\": \"<string>\",\n \"capacity\": 100,\n \"min_tickets_per_order\": 1,\n \"max_tickets_per_order\": 5,\n \"group_booking_enabled\": false,\n \"group_discount_enabled\": false,\n \"sale_start\": 1783882800000,\n \"sale_end\": 1784487600000,\n \"inclusions\": \"Free drinks, Front row seating\",\n \"sold_out\": false,\n \"group_min_tickets\": 10,\n \"discount_type\": \"PERCENTAGE\",\n \"service_fee_rate\": 0.05,\n \"discount_value\": 15,\n \"show_remaining_tickets\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:3000/partners/events/{eventId}/ticket-tiers/{tierKey}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"VIP\",\n \"price\": 150,\n \"currency\": \"<string>\",\n \"capacity\": 100,\n \"min_tickets_per_order\": 1,\n \"max_tickets_per_order\": 5,\n \"group_booking_enabled\": false,\n \"group_discount_enabled\": false,\n \"sale_start\": 1783882800000,\n \"sale_end\": 1784487600000,\n \"inclusions\": \"Free drinks, Front row seating\",\n \"sold_out\": false,\n \"group_min_tickets\": 10,\n \"discount_type\": \"PERCENTAGE\",\n \"service_fee_rate\": 0.05,\n \"discount_value\": 15,\n \"show_remaining_tickets\": true\n}"
response = http.request(request)
puts response.read_body{
"eventId": "evt_techconf2025",
"tierKey": "tier_general_admission",
"tier": {
"key": "tier_general_admission",
"name": "General Admission",
"price": 55,
"currency": "USD",
"capacity": 120,
"min_tickets_per_order": 1,
"max_tickets_per_order": 20,
"sold_out": false,
"group_booking_enabled": true,
"group_discount_enabled": false,
"discount_type": "PERCENTAGE",
"discount_value": 10,
"service_fee_rate": 0.05,
"show_remaining_tickets": true,
"sale_start": 1735651200000,
"sale_end": 1735665600000
},
"message": "Ticket tier updated"
}Authorizations
access-tokenpartner-api-key
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Event ID
Example:
"evt_xyz789"
Ticket tier key
Example:
"tier_abc123"
Body
application/json
The name of the ticket tier
Example:
"VIP"
Example:
150
Example:
100
Example:
1
Example:
5
Example:
false
Example:
false
Unix Timestamp (milliseconds)
Example:
1783882800000
Unix Timestamp (milliseconds)
Example:
1784487600000
Optional inclusions for this tier
Example:
"Free drinks, Front row seating"
Example:
false
Example:
10
Available options:
FIXED, PERCENTAGE Example:
"PERCENTAGE"
Decimal fee rate. If empty, the global default is used.
Example:
0.05
Example:
15
Show remaining ticket count to customers
Example:
true

