Create an event
curl --request POST \
--url https://ticketspotapp.com/api/api/v2/events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Developer Conference",
"start_date": "2026-11-15",
"end_date": "2026-11-15",
"timezone": "America/Los_Angeles"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Developer Conference',
start_date: '2026-11-15',
end_date: '2026-11-15',
timezone: 'America/Los_Angeles'
})
};
fetch('https://ticketspotapp.com/api/api/v2/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://ticketspotapp.com/api/api/v2/events"
payload = {
"title": "Developer Conference",
"start_date": "2026-11-15",
"end_date": "2026-11-15",
"timezone": "America/Los_Angeles"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"success": true,
"event": {
"id": "<string>",
"title": "<string>",
"description": "<string>",
"start_date": "2023-11-07T05:31:56Z",
"end_date": "2023-11-07T05:31:56Z",
"timezone": "<string>",
"venue": {},
"venue_name": "<string>",
"latitude": "<string>",
"longitude": "<string>",
"image_url": "<string>",
"hostName": "<string>",
"subdomain": "<string>",
"url": "<string>",
"status": "<string>",
"is_demo": true,
"created_at": "2023-11-07T05:31:56Z"
},
"tickets": [
{
"id": "<string>",
"name": "<string>",
"price": 123,
"quantity": 123,
"currency": "<string>"
}
],
"warnings": [
{
"code": "<string>",
"ticket_name": "<string>",
"message": "<string>"
}
]
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}API Reference
Create an event with the API
Create a TicketSpot event and optional basic tickets using a scoped API key.
POST
/
events
Create an event
curl --request POST \
--url https://ticketspotapp.com/api/api/v2/events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"title": "Developer Conference",
"start_date": "2026-11-15",
"end_date": "2026-11-15",
"timezone": "America/Los_Angeles"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
title: 'Developer Conference',
start_date: '2026-11-15',
end_date: '2026-11-15',
timezone: 'America/Los_Angeles'
})
};
fetch('https://ticketspotapp.com/api/api/v2/events', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://ticketspotapp.com/api/api/v2/events"
payload = {
"title": "Developer Conference",
"start_date": "2026-11-15",
"end_date": "2026-11-15",
"timezone": "America/Los_Angeles"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"success": true,
"event": {
"id": "<string>",
"title": "<string>",
"description": "<string>",
"start_date": "2023-11-07T05:31:56Z",
"end_date": "2023-11-07T05:31:56Z",
"timezone": "<string>",
"venue": {},
"venue_name": "<string>",
"latitude": "<string>",
"longitude": "<string>",
"image_url": "<string>",
"hostName": "<string>",
"subdomain": "<string>",
"url": "<string>",
"status": "<string>",
"is_demo": true,
"created_at": "2023-11-07T05:31:56Z"
},
"tickets": [
{
"id": "<string>",
"name": "<string>",
"price": 123,
"quantity": 123,
"currency": "<string>"
}
],
"warnings": [
{
"code": "<string>",
"ticket_name": "<string>",
"message": "<string>"
}
]
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}{
"error": "<string>",
"code": "<string>",
"message": "<string>"
}Authorizations
ts-{uuid}-{secret}. Every key requires its independent secret.
Body
application/json
Required string length:
1 - 200Example:
"Developer Conference"
Example:
"2026-11-15"
Example:
"2026-11-15"
Valid IANA timezone. Nonexistent local times are rejected.
Example:
"America/Los_Angeles"
Sanitized HTML event description.
Maximum string length:
50000Pattern:
^([01][0-9]|2[0-3]):[0-5][0-9]$Example:
"09:00"
Pattern:
^([01][0-9]|2[0-3]):[0-5][0-9]$Example:
"17:00"
Show child attributes
Show child attributes
Maximum string length:
200Direct public HTTPS URL (no redirects, private addresses, credentials or custom ports), or base64 data URL for JPEG, PNG, WebP or GIF. Maximum decoded size 5 MiB; images are validated and converted to JPEG.
Available options:
draft, live Maximum array length:
50Show child attributes
Show child attributes