Event Configuration

Event Data Schema & Configuration

Complete event object schema, required fields, validation rules, and configuration options.

3 min readUpdated 2025-01-15

This page walks through the event object that sits behind every listing on BrightStar — the same structure whether you're a retreat host filling out the dashboard form or a developer wiring up an API integration for a festival series. You'll reach for it any time you're troubleshooting why a kirtan night won't move out of draft, why a retreat's dates look wrong somewhere downstream, or why a custom URL for a sound healing weekend got rejected. The schema below is the actual shape of the data: the fields the system requires, the fields it fills in for you, and the rules that decide whether a change goes through or gets pushed back to draft.

What fields does a BrightStar event actually need?

Four fields are required on every event, full stop: title (1 to 100 characters), start_date as an ISO 8601 datetime, timezone as an IANA timezone string, and organizer_id, which ties the event to your account. Beyond that, a few requirements depend on what kind of gathering you're running. A multi-day retreat needs an end_date. An in-person kirtan or ceremony needs a venue address. A breathwork session held online needs an online_url. These conditional rules exist because the same event object has to describe wildly different situations — a single evening at a downtown studio, a three-day retreat in Sedona, a livestreamed session with no physical address at all — and the schema only asks for what that particular situation actually needs. Some fields you never fill in yourself: the id, the slug (if you don't set one), and the created_at and updated_at timestamps are generated by the system.

What are the rules for title, description, and image?

Each field carries its own limits, worth knowing before you hit save. A title has to be between 1 and 100 characters; letters, numbers, spaces, and basic punctuation are allowed, while HTML tags and emoji are stripped out when the title becomes part of a URL slug. A description can run up to 50,000 characters and accepts sanitized HTML and markdown, so you can format a retreat itinerary or a ceremony's lineage with headings and lists — but scripts, iframes, and externally hosted images are blocked, which keeps a careless or compromised embed from affecting other people's event pages. A start_date has to sit at least one hour in the future for a new event, and an end_date always has to fall after the start_date — small checks that catch the kind of typo that would otherwise open a doorway before anyone's ready or close it before anyone's arrived. Event images accept JPG, PNG, or WebP, are recommended at 1920x1080 pixels, capped at 10MB, and are optimized automatically once they hit BrightStar's CDN, so a bigger source file than the recommendation still ends up loading quickly on someone's phone at the door.

How does an event move from draft to published — and back?

Status moves in one direction more easily than the other, and that asymmetry is intentional.

  1. 1Draft → Published: requires all required fields filled in, at least one ticket type created, and Stripe connected — until all three are true, the event stays in draft.
  2. 2Published → Cancelled: stops new sales immediately; tickets already sold remain valid, and you can optionally trigger an automatic refund.
  3. 3Cancelled → Published: not allowed. If the event is actually happening after all, you create a new event rather than reviving the cancelled one.
  4. 4Any status → Draft: only allowed if zero tickets have been sold. Once someone holds a ticket, the event can't be pulled back to an unfinished state.
Use the slug field for SEO-friendly URLs rather than leaving every event page on a generic default. If you don't set one, BrightStar generates it from the event's title automatically. If you do set your own, it has to be unique within your account — so if you're running a recurring kirtan series, plan a naming pattern, like adding a date or city, rather than reusing the same slug for every date.

What happens when you cancel an event?

Cancelling isn't the same as deleting, and it isn't reversible into a republish. When you cancel a published BrightStar event, new sales stop right away, but tickets that already sold stay valid — the people holding them still have a valid ticket unless you choose to trigger an automatic refund. Because a cancelled event can't move back to published, cancelling is a decision you make once you're reasonably sure the gathering isn't happening in its current form; if plans change and it does go ahead, the path is a new event, not resurrecting the old one.

Common questions

What fields are required to create an event on BrightStar?

Every BrightStar event always requires four fields: title (1 to 100 characters), start_date as an ISO 8601 datetime, timezone as an IANA timezone string, and organizer_id (your account ID). A few fields are conditionally required: end_date for multi-day events, venue.address if the event is not online, and online_url if is_online is set to true. BrightStar auto-generates the id, the slug, and the created_at and updated_at timestamps.

Read more

Several of these values are filled in for you automatically: the host id defaults to your signed-in account, currency is lowercased and checked against a reference list, the draft flag starts as true, and the per-transaction ticket limit defaults to 10 if left blank. Location matters too — for in-person or hybrid events, the system keeps the event in draft if both a street address and map coordinates are missing.

What do I need before I can publish a draft event?

To move a BrightStar event from draft to published you need all required fields filled in, at least one ticket type created, and Stripe connected. Until those three conditions are met the event stays in draft. Event status on BrightStar is one of draft, published, or cancelled.

Read more

That location check is enforced at the database level, not just in the form. A trigger runs when the draft flag flips to false and blocks the change for in-person or hybrid events missing both a street address and coordinates — which is why the dashboard saves coordinates first, then flips the flag. If it's rejected, the response tells you which of the two is missing.

Can I move a published event back to draft after tickets have sold?

No. On BrightStar an event can only move back to draft if zero tickets have been sold. Once sales have started, your options are to keep it published or cancel it.

Read more

Two related limits matter here. Deleting is stricter than unpublishing: BrightStar won't delete an event that still has active or used tickets, and won't delete a published event until it's been unpublished first. If you just need to stop sales temporarily, a separate event-level pause blocks every purchase regardless of what individual ticket types allow, leaving the page and existing tickets untouched.

What happens if I cancel my event?

Cancelling a BrightStar event stops all new sales while existing tickets remain valid, and you can optionally trigger an automatic refund. A cancelled event cannot be moved back to published, so if the event goes ahead after all you need to create a new event.

Read more

Cancelling also writes a record of who cancelled it, the reason given, how many tickets were affected, and the total refund amount. It then moves any still-scheduled reminder emails and texts to a cancelled state, so no one gets a reminder for something that isn't happening. An event that's already cancelled, marked complete, or past its start time can't be cancelled again.

Can I choose my own URL for an event page?

Yes. BrightStar events have a slug field that produces an SEO-friendly, URL-safe address, and if you do not supply one it is auto-generated from the event title. Custom slugs have to be unique within your account.

Read more

Whatever you type gets normalized before saving: lowercased, stripped of anything besides letters, numbers, spaces, and hyphens, with repeated spaces or hyphens collapsed, leading and trailing hyphens trimmed, and the result cut to 80 characters. The auto-slug trigger only runs when the field is empty, so a value you set persists exactly as normalized. The editor checks availability live as you type.

Can I use HTML in my event description, and how long can it be?

Yes. BrightStar event descriptions accept HTML (sanitized) and markdown, up to a maximum of 50,000 characters. Scripts, iframes, and external images are blocked. For the event image, BrightStar accepts JPG, PNG, and WebP files up to 10MB, recommends 1920x1080 pixels, and optimizes them automatically on its CDN.

Read more

The opening of your description becomes the page's meta description — stripped of markup and cut near 155 characters at a word boundary — and a longer, roughly 300-character version feeds the structured data BrightStar generates for the page. Both strip headings and stray formatting first. That means your first sentence or two carries real weight in search results and link previews.

Ready to get started?

Create your first event on EveryEvent Rio de Janeiro — it’s free.