This document defines the complete event schema, including all fields, validation rules, and configuration options. Use this as a reference for API integrations or understanding event data structure.
Event Object Schema
{
"id": "evt_abc123", // Unique identifier (read-only)
"slug": "summer-retreat-2025", // URL-safe identifier
"title": "Summer Retreat", // Required, 1-100 chars
"description": "...", // HTML allowed, max 50,000 chars
"status": "published", // draft | published | cancelled
"start_date": "2025-07-15T09:00:00Z", // ISO 8601
"end_date": "2025-07-17T17:00:00Z", // ISO 8601
"timezone": "America/Los_Angeles", // IANA timezone
"venue": {
"name": "Sunrise Center",
"address": "123 Peace Lane",
"city": "Sedona",
"state": "AZ",
"country": "US",
"postal_code": "86336",
"lat": 34.8697,
"lng": -111.7610
},
"is_online": false,
"online_url": null, // Required if is_online: true
"image_url": "https://...", // 1920x1080 recommended
"category": "retreat",
"tags": ["yoga", "meditation"],
"organizer_id": "org_xyz789",
"created_at": "2025-01-01T...",
"updated_at": "2025-01-15T..."
}Visual event schema diagram
Interactive component coming soon
Required Fields
Always Required
Conditional Requirements
Auto-Generated
Field Validation Rules
title
description
start_date / end_date
image_url
Interactive event builder preview
Interactive component coming soon
Event Status Transitions
Draft → Published Requirements: All required fields, at least one ticket type, Stripe connected
Published → Cancelled Effect: No new sales, existing tickets remain valid, optional auto-refund
Cancelled → Published Not allowed. Create a new event instead.
Any → Draft Only allowed if zero tickets sold.