> ## Documentation Index
> Fetch the complete documentation index at: https://learn.social.plus/llms.txt
> Use this file to discover all available pages before exploring further.

# Events Overview

> Create, query, update, delete, and RSVP to scheduled events using the SDK event APIs.

Events are scheduled social objects with a title, description, type, start and end time, origin, optional location or external URL, optional cover image, tags, metadata, and RSVP counts.

The SDK event surface is currently exposed in TypeScript, iOS, and Android. The public Flutter SDK source reviewed for this page does not expose scheduled event creation, query, management, or RSVP APIs.

## Platform Coverage

| Capability           | TypeScript                                                                                   | iOS                                                | Android                                                                         | Flutter                                                                     |
| -------------------- | -------------------------------------------------------------------------------------------- | -------------------------------------------------- | ------------------------------------------------------------------------------- | --------------------------------------------------------------------------- |
| Create event         | `EventRepository.createEvent(options)`                                                       | `AmityEventRepository().createEvent(options:)`     | `AmitySocialClient.newEventRepository().createEvent()...build().create()`       | Not exposed in the current public Flutter SDK source reviewed for this page |
| Get event            | `EventRepository.getEvent(eventId, callback)`                                                | `AmityEventRepository().getEvent(id:)`             | `AmitySocialClient.newEventRepository().getEvent(eventId)`                      | Not exposed                                                                 |
| Query events         | `EventRepository.getEvents(params, callback)`                                                | `AmityEventRepository().getEvents(options:)`       | `AmitySocialClient.newEventRepository().getEvents()...build().query()`          | Not exposed                                                                 |
| Query my RSVP events | `EventRepository.getMyEvents({ status }, callback)`                                          | Use `AmityEventQueryOptions(userId:onlyAttendee:)` | Use `getEvents().userId(...).onlyAttendee(true)`                                | Not exposed                                                                 |
| Update event         | `EventRepository.updateEvent(eventId, options)`                                              | `AmityEventRepository().updateEvent(id:options:)`  | `AmitySocialClient.newEventRepository().updateEvent(eventId)...build().apply()` | Not exposed                                                                 |
| Delete event         | `EventRepository.deleteEvent(eventId)`                                                       | `AmityEventRepository().deleteEvent(id:)`          | `AmitySocialClient.newEventRepository().deleteEvent(eventId)`                   | Not exposed                                                                 |
| RSVP                 | `event.createRSVP(...)`, `event.updateRSVP(...)`, `event.getMyRSVP()`, `event.getRSVPs(...)` | Same methods on `AmityEvent`                       | Same methods on `AmityEvent`                                                    | Not exposed                                                                 |

## Event Fields

Core fields returned by the SDK include:

| Field                                                      | Notes                                                                                                                                                     |
| ---------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `eventId`                                                  | Stable event identifier. Android exposes it as `getEventId()`.                                                                                            |
| `title`, `description`                                     | Event copy supplied at creation time.                                                                                                                     |
| `type`                                                     | `virtual` or `in_person`.                                                                                                                                 |
| `status`                                                   | TypeScript and iOS expose `scheduled`, `live`, `ended`, and `cancelled`. Android also exposes `DRAFT` and `UNKNOWN` enum values for server compatibility. |
| `startTime`, `endTime`                                     | Required when creating events. TypeScript accepts ISO strings; iOS uses `Date`; Android uses Joda `DateTime`.                                             |
| `originType`, `originId`                                   | The event origin: `community` or `user`, plus the corresponding ID.                                                                                       |
| `location`, `externalUrl`, `coverImageFileId`              | Optional display and media fields.                                                                                                                        |
| `tags`, `metadata`                                         | Optional structured fields. Timezone can be stored in `metadata.timezone` on TypeScript/iOS and via `timezone(...)` on Android.                           |
| `rsvpCount`, `interestedCount`                             | Count fields returned with the event.                                                                                                                     |
| `creator`, `targetCommunity`, `coverImage`, `post`, `room` | Linked objects are present when returned by the SDK payload/cache. Availability depends on platform and response payload.                                 |

## RSVP Statuses

| Status     | TypeScript                                                        | iOS           | Android                               |
| ---------- | ----------------------------------------------------------------- | ------------- | ------------------------------------- |
| Going      | `AmityEventResponseStatus.Going`                                  | `.going`      | `AmityEventResponseStatus.GOING`      |
| Interested | Not exposed by the current TypeScript enum reviewed for this page | `.interested` | `AmityEventResponseStatus.INTERESTED` |
| Not going  | `AmityEventResponseStatus.NotGoing`                               | `.notGoing`   | `AmityEventResponseStatus.NOT_GOING`  |

## Common Flow

1. Create an event with a title, description, type, start time, end time, origin type, and origin ID.
2. Query events by origin, status, type, user ID, attendee filter, sort option, and order option.
3. Observe a single event if the detail screen needs live updates.
4. Let users RSVP through the methods on the returned `AmityEvent`.
5. Update or delete events through the event repository when the current user has permission.

<Note>
  This page documents SDK method names and data surfaces only. Product policy such as who can create, edit, RSVP, or view an event is enforced by backend permissions and should be handled by your app UI and error handling.
</Note>

## Event Guides

<CardGroup cols={3}>
  <Card title="Create Event" href="./create-event" icon="calendar-plus">
    Create scheduled virtual or in-person events.
  </Card>

  <Card title="Manage Events" href="./manage-events" icon="calendar-days">
    Get, query, update, and delete event objects.
  </Card>

  <Card title="Event RSVP" href="./event-rsvp" icon="ticket-check">
    Create, update, read, and query RSVP responses.
  </Card>
</CardGroup>
