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
- Create an event with a title, description, type, start time, end time, origin type, and origin ID.
- Query events by origin, status, type, user ID, attendee filter, sort option, and order option.
- Observe a single event if the detail screen needs live updates.
- Let users RSVP through the methods on the returned
AmityEvent. - Update or delete events through the event repository when the current user has permission.
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.
Event Guides
Create Event
Create scheduled virtual or in-person events.
Manage Events
Get, query, update, and delete event objects.
Event RSVP
Create, update, read, and query RSVP responses.