Simpli API Documentation
Technical reference for publicly accessible organizer and collection endpoints.
Public API Reference
Public organizer feed with published events, tickets, and sessions for one organizer.
/api/organizer/{organizerId}Auth: No auth required
| Name | Type | Required | Description |
|---|---|---|---|
| organizerId | string (GUID) | Yes | Organizer ID (GUID) from Simpli. This is shown inside the organizer profile settings API section. |
curl -X GET https://simpli.events/api/organizer/{organizerId}const response = await fetch(
'https://simpli.events/api/organizer/550e8400-e29b-41d4-a716-446655440000'
);
if (!response.ok) {
throw new Error(`API request failed (${response.status})`);
}
const organizer = await response.json();
// Use endTime to determine if events are still upcoming.
const upcomingEvents = organizer.events.filter(
(event) => event.endTime !== null && event.endTime > Date.now()
);200
Organizer payload returned successfully.
404
Organizer not found.
500
Server error.
type OrganizerApiResponse = {
id: string; // GUID
name: string;
link: string;
events: Array<{
id: string; // GUID
name: string;
description: string;
startTime: number | null;
endTime: number | null;
picture: string | null;
link: string;
address: string | null;
onlineLink: string | null;
createdAt: number;
recurring: boolean;
tickets: Array<{
id: string; // GUID
name: string;
price: number | null;
quantity: number | null;
available: boolean;
hidden: boolean;
ticketType: 'Paid' | 'Free' | 'Donation' | 'PWYC';
minimumPrice: number | null;
unlimited?: boolean;
customURL: string | null;
}>;
sessions: Array<{
id: string; // GUID
eventId: string; // GUID
startTime: number;
endTime: number;
hide?: boolean;
}>;
}>;
};404 - Organizer ID does not exist.
{
"error": "Organizer not found"
}500 - Database query fails or an unexpected server error occurs.
{
"error": "Internal server error"
}{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Campus Events Team",
"link": "https://simpli.events/o/campus-events",
"events": [
{
"id": "0f8fad5b-d9cb-469f-a165-70867728950e",
"name": "Spring Mixer",
"description": "<p>Welcome to the spring mixer.</p>",
"startTime": 1773043200000,
"endTime": 1773050400000,
"picture": "https://...",
"link": "https://simpli.events/e/spring-mixer",
"address": "1455 De Maisonneuve Blvd W",
"onlineLink": null,
"createdAt": 1772500000000,
"recurring": false,
"tickets": [
{
"id": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
"name": "General Admission",
"price": 2500,
"quantity": 150,
"available": true,
"hidden": false,
"ticketType": "Paid",
"minimumPrice": null,
"unlimited": false,
"customURL": null
}
],
"sessions": [
{
"id": "9f4d33e1-e7f3-42cf-a645-9d458b2f4f9f",
"eventId": "0f8fad5b-d9cb-469f-a165-70867728950e",
"startTime": 1773043200000,
"endTime": 1773046800000,
"hide": false
}
]
}
]
}| Path | Type | Description |
|---|---|---|
| id | string | Organizer ID. |
| name | string | Organizer display name. |
| link | string | Organizer public profile URL. |
| events | array<Event> | Published events sorted by startTime ascending. |
| events[].id | string | Event ID. |
| events[].name | string | Event title. |
| events[].description | string | Event description HTML string. |
| events[].startTime | number | null | Event start in milliseconds. |
| events[].endTime | number | null | Event end in milliseconds. |
| events[].picture | string | null | Event image URL. |
| events[].link | string | Public event page URL. |
| events[].address | string | null | In-person event address when set. |
| events[].onlineLink | string | null | Online event URL when set. |
| events[].createdAt | number | Event creation time in milliseconds. |
| events[].recurring | boolean | Whether the event is recurring. |
| events[].tickets | array<Ticket> | Tickets attached to the event. |
| events[].tickets[].id | string | Ticket ID. |
| events[].tickets[].name | string | Ticket name. |
| events[].tickets[].price | number | null | Ticket price in cents. |
| events[].tickets[].quantity | number | null | Max ticket quantity if limited. |
| events[].tickets[].available | boolean | Current ticket availability flag. |
| events[].tickets[].hidden | boolean | Whether ticket is hidden on event page. |
| events[].tickets[].ticketType | "Paid" | "Free" | "Donation" | "PWYC" | Ticket payment type. |
| events[].tickets[].minimumPrice | number | null | Minimum price for flexible tickets. |
| events[].tickets[].unlimited | boolean | undefined | Legacy unlimited flag (still returned). |
| events[].tickets[].customURL | string | null | Optional per-ticket URL slug. |
| events[].sessions | array<Session> | Sessions attached to the event. |
| events[].sessions[].id | string | Session ID. |
| events[].sessions[].eventId | string | Parent event ID. |
| events[].sessions[].startTime | number | Session start in milliseconds. |
| events[].sessions[].endTime | number | Session end in milliseconds. |
| events[].sessions[].hide | boolean | undefined | Optional visibility flag for session. |