Skip to main content

Event object (Public API)

{
  id: string;
  title: string;
  description: string;
  cover: string;
  location: string;
  start_date: string;
  end_date: string | null;
  timezone: string;
  status: 'published';
  visibility: 'public';
  cost: number | null;
  created_at: string;
  creator: {
    id: string;
    username: string;
    image: string;
    verification_status: string | null;
  };
  links: {
    spotify_url: string | null;
    wavlake_url: string | null;
  };
  contributions: {
    cashapp: string | null;
    venmo: string | null;
    paypal: string | null;
    btc_lightning: string | null;
  };
}

Event object (Embed API)

{
  id: string;
  title: string;
  description: string | null;
  cover: string | null;
  start_date: string;
  end_date: string | null;
  timezone: string;
  location: {
    name: string;
    city: string | null;
    country: string | null;
  } | null;
  url: string;
  creator: {
    username: string;
    image: string | null;
    verified: boolean;
  };
  status: 'upcoming' | 'ongoing' | 'past';
}

Guest object

{
  id: string;
  username: string;
  name: string | null;
  image: string | null;
  verification_status: string | null;
  rsvp_status: 'yes' | 'maybe' | 'no';
  rsvp_date: string;
}

Pagination object

{
  limit: number;
  offset: number;
  total: number;
}

Model notes

Timestamps

All datetime fields are ISO 8601 strings in UTC (Z) format.

Nullable fields

Optional metadata is represented as null, not omitted.

Visibility constraints

Public and Embed APIs only return public, published event content.

Verification states

Verification fields may be null, verified, or id_verified.

Next steps