app.zeens.getEvents
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).
Details · query
| Kind | query |
|---|---|
| Authority | zeens.app |
| Indexed |
Checks
Validunlimited-stringdefs.main.parameters.properties.categoryNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.parameters.properties.cursorNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.parameters.properties.filterNo maxLength, maxGraphemes or format limits this string.unlimited-stringdefs.main.parameters.properties.modeNo maxLength, maxGraphemes or format limits this string.
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"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"
}
},
"id": "app.zeens.getEvents",
"lexicon": 1
}