# AISEA Events API

The AISEA Events API is a read-only JSON API for approved public events. Use it to build an event calendar or let a trusted agent answer questions about upcoming events. It does not expose the underlying database or private attendee records.

## Get a key

Sign in to AISEA and create an Events API key at [Dashboard settings](https://www.aisea.builders/en/dashboard/settings/api-keys). The key is shown once. Store it in a backend or local agent secret store. Never place it in browser code, a public repository, a URL, or a prompt. You can revoke it in Settings.

## List events

`GET https://www.aisea.builders/api/v1/events`

```bash
curl -H "X-API-Key: $AISEA_EVENTS_API_KEY" \
  "https://www.aisea.builders/api/v1/events?status=upcoming&country=MY&limit=25"
```

Filters: `status=upcoming|past|all` (default `upcoming`), `event_status=scheduled|cancelled|postponed`, `city`, `country`, and `limit=1..100` (default `50`). To get the next page, pass the opaque `pagination.next_cursor` as `cursor`; stop when it is `null`.

The response contains `schema_version`, `data`, and `pagination`. Each event has a canonical AISEA page and may have an external registration URL. `guest_count` is a nullable source-reported registration count. `attendee_count` is the native AISEA RSVP count. Do not add these as if they counted distinct people or verified attendance.

## Get one event

`GET https://www.aisea.builders/api/v1/events/{uuid}`

## Errors

Errors have an `error.code` and `error.message`. Handle `400` for invalid filters or cursors, `401` for a missing or invalid key, `404` for an unknown event, and `500` or `503` for server failure. Retry transient failures with backoff. Do not log the API key.

See the [AISEA Events API developer page](https://www.aisea.builders/en/developers/events-api) or [llms.txt](https://www.aisea.builders/llms.txt) for site context.
