app.zeens.getEvents

zeens.app

Documentation

Browse events. Defaults to upcoming events (startsAt >= now) ordered by startsAt ascending with a stable uri tie-breaker. Supports multi-value category filtering (OR-matched), mode filtering (in person / online / hybrid), and nearby filtering (lat/lng/radius, reusing the getNearbyPhotos coordinate convention).

main query

Browse events. Defaults to upcoming events (startsAt >= now) ordered by startsAt ascending with a stable uri tie-breaker. Supports multi-value category filtering (OR-matched), mode filtering (in person / online / hybrid), and nearby filtering (lat/lng/radius, reusing the getNearbyPhotos coordinate convention).

Parameters

category string Optional

Restrict to events carrying any of these category values. Accepts a single value or a comma-separated list, OR-matched against the event's categories array (categories are multi-value: an event can be both a photowalk and a meetup).

cursor string Optional

No description available.

filter string Optional

Time window relative to now. 'upcoming_first' is the one-list browse: every event, soonest upcoming first, past events below most-recent-first.

lat integer Optional

Center latitude in microdegrees (x1e7) for a nearby search.

limit integer Optional

No description available.

lng integer Optional

Center longitude in microdegrees (x1e7) for a nearby search.

mode string Optional

Restrict to events happening this way. Stored values are normalised on read (absent -> 'in_person', legacy 'virtual' -> 'online'). A 'hybrid' event matches an 'in_person' or an 'online' request as well as an explicit 'hybrid' one, because it genuinely is both.

radiusKm integer Optional

Radius in km for a nearby search. Requires lat + lng.

viewer string did Optional

A decentralized identifier (DID).

Output

Encodingapplication/json
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://api.bsky.social)
Parameters
Restrict to events carrying any of these category values. Accepts a single value or a comma-separated list, OR-matched against the event's categories array (categories are multi-value: an event can be both a photowalk and a meetup).
Time window relative to now. 'upcoming_first' is the one-list browse: every event, soonest upcoming first, past events below most-recent-first.
Center latitude in microdegrees (x1e7) for a nearby search.
Center longitude in microdegrees (x1e7) for a nearby search.
Restrict to events happening this way. Stored values are normalised on read (absent -> 'in_person', legacy 'virtual' -> 'online'). A 'hybrid' event matches an 'in_person' or an 'online' request as well as an explicit 'hybrid' one, because it genuinely is both.
Radius in km for a nearby search. Requires lat + lng.
A decentralized identifier (DID).
View raw schema
{
  "description": "Browse events. Defaults to upcoming events (startsAt >= now) ordered by startsAt ascending with a stable uri tie-breaker. Supports multi-value category filtering (OR-matched), mode filtering (in person / online / hybrid), and nearby filtering (lat/lng/radius, reusing the getNearbyPhotos coordinate convention).",
  "output": {
    "encoding": "application/json"
  },
  "parameters": {
    "properties": {
      "category": {
        "description": "Restrict to events carrying any of these category values. Accepts a single value or a comma-separated list, OR-matched against the event's categories array (categories are multi-value: an event can be both a photowalk and a meetup).",
        "type": "string"
      },
      "cursor": {
        "type": "string"
      },
      "filter": {
        "default": "upcoming",
        "description": "Time window relative to now. 'upcoming_first' is the one-list browse: every event, soonest upcoming first, past events below most-recent-first.",
        "knownValues": [
          "upcoming",
          "past",
          "all",
          "upcoming_first"
        ],
        "type": "string"
      },
      "lat": {
        "description": "Center latitude in microdegrees (x1e7) for a nearby search.",
        "type": "integer"
      },
      "limit": {
        "default": 36,
        "maximum": 100,
        "minimum": 1,
        "type": "integer"
      },
      "lng": {
        "description": "Center longitude in microdegrees (x1e7) for a nearby search.",
        "type": "integer"
      },
      "mode": {
        "description": "Restrict to events happening this way. Stored values are normalised on read (absent -> 'in_person', legacy 'virtual' -> 'online'). A 'hybrid' event matches an 'in_person' or an 'online' request as well as an explicit 'hybrid' one, because it genuinely is both.",
        "knownValues": [
          "in_person",
          "online",
          "hybrid"
        ],
        "type": "string"
      },
      "radiusKm": {
        "description": "Radius in km for a nearby search. Requires lat + lng.",
        "maximum": 500,
        "minimum": 1,
        "type": "integer"
      },
      "viewer": {
        "format": "did",
        "type": "string"
      }
    },
    "type": "params"
  },
  "target_collection": "app.zeens.event",
  "type": "query"
}

Lexicon Garden

@