These tools act for the person who signed in. The first call without a token answers 401 with the sign-in details, so a standard client starts the sign-in on its own. See Authentication.
Reads return only what the person could already see in their own account, with no email address, phone number or ticket QR code. Writes happen only on an explicit request. Tools that undo something are marked destructive so a client can ask first.
10 tools on this page:
get_my_profilelist_my_ticketsget_my_rsvprsvp_to_eventcancel_rsvpjoin_event_waitlistlist_my_clubsjoin_clubleave_clubsend_venue_inquiry
Reference
get_my_profile
Who the user is on Eventa: name, username, city and unread notification count. Needs the "profile:read" permission. Use it to personalise suggestions (their city) or to confirm which account is connected.
Needs the Profile permission (profile:read). Read-only.
This tool takes no arguments.
Returns structured content with: id, name, username, city, country, profile_url, unread_notifications.
Example arguments:
{}
list_my_tickets
The user's tickets: purchased tickets and RSVP tickets, newest first, with event, time and check-in state. Entry QR codes are not shown: to get in, the user opens the ticket on eventa.live or in the Eventa app. Set event to see only the tickets for one event.
Needs the Events (read) permission (events:read). Read-only.
| Argument | Type | Required | Notes |
|---|---|---|---|
upcoming_only | boolean | No | Hide tickets for events that already ended (default true) |
event_id | string | No | Only tickets for this event id (24-character id) |
limit | integer | No | 1 to 25; default 10 |
cursor | string | No |
Returns structured content with: tickets, total, next_cursor.
Example arguments:
{
"upcoming_only": true,
"limit": 10
}
get_my_rsvp
Whether the user has RSVPed to an event and with what answer (going / maybe / not_going), plus how many people gave each answer. Other guests' names are never returned.
Needs the Events (read) permission (events:read). Read-only.
| Argument | Type | Required | Notes |
|---|---|---|---|
event | string | Yes | Event id, slug, or https://eventa.live/events/SLUG link (up to 300 characters) |
Returns structured content with: event_id, my_response, counts.
Example arguments:
{
"event": "dhaka-jazz-night"
}
rsvp_to_event
RSVP for the user to an event that has RSVP enabled, or change their existing answer. Some events need the organizer to approve the RSVP: the result says so. This does not buy tickets or take payment; for paid tickets give the user the event url. Only call this when the user has clearly asked for it for this specific event; confirm the event (get_event) first.
Needs the Events (write) permission (events:write). Changes data.
| Argument | Type | Required | Notes |
|---|---|---|---|
event | string | Yes | Event id, slug, or https://eventa.live/events/SLUG link (up to 300 characters) |
response | going or maybe or not_going | No | Some events only allow going / not_going (default "going") |
comment | string | No | Optional note to the organizer (up to 500 characters) |
Returns structured content with: event_id, response, approved, ticket_issued, message, url.
Example arguments:
{
"event": "dhaka-jazz-night",
"response": "going"
}
cancel_rsvp
Cancel the user's RSVP to an event, which also removes their RSVP ticket. It can be undone only by RSVPing again, and a full or approval-only event may not take them back. Only call this when the user has clearly asked for it for this specific event; confirm the event (get_event) first.
Needs the Events (write) permission (events:write). Changes data and is marked destructive, so clients may ask you to confirm.
| Argument | Type | Required | Notes |
|---|---|---|---|
event | string | Yes | Event id, slug, or https://eventa.live/events/SLUG link (up to 300 characters) |
Returns structured content with: event_id, cancelled.
Example arguments:
{
"event": "dhaka-jazz-night"
}
join_event_waitlist
Put the user on the waitlist of an event that is full and has a waitlist. The organizer is notified; there is no payment. Only call this when the user has clearly asked for it for this specific event; confirm the event (get_event) first.
Needs the Events (write) permission (events:write). Changes data.
| Argument | Type | Required | Notes |
|---|---|---|---|
event | string | Yes | Event id, slug, or https://eventa.live/events/SLUG link (up to 300 characters) |
Returns structured content with: event_id, joined, waitlist_id.
Example arguments:
{
"event": "dhaka-jazz-night"
}
list_my_clubs
The clubs the user owns or belongs to, including join requests still waiting and invitations they have not answered.
Needs the Clubs (read) permission (clubs:read). Read-only.
This tool takes no arguments.
Returns structured content with: clubs.
Example arguments:
{}
join_club
Join a club for the user, or send a join request if the club approves members. Clubs that ask screening questions or are invite-only cannot be joined this way: the result tells the user to use the club page. Only call this when the user has clearly asked for it for this specific item; confirm it (get_club / get_venue) first.
Needs the Clubs (write) permission (clubs:write). Changes data.
| Argument | Type | Required | Notes |
|---|---|---|---|
club | string | Yes | Club id, slug, or https://eventa.live/community/SLUG link (up to 300 characters) |
Returns structured content with: club_id, membership.
Example arguments:
{
"club": "dhaka-runners"
}
leave_club
Remove the user from a club. Rejoining may need approval, and the owner cannot leave their own club. Only call this when the user has clearly asked for it for this specific item; confirm it (get_club / get_venue) first.
Needs the Clubs (write) permission (clubs:write). Changes data and is marked destructive, so clients may ask you to confirm.
| Argument | Type | Required | Notes |
|---|---|---|---|
club | string | Yes | Club id, slug, or https://eventa.live/community/SLUG link (up to 300 characters) |
Returns structured content with: club_id, left.
Example arguments:
{
"club": "dhaka-runners"
}
send_venue_inquiry
Send a booking inquiry to a venue for a date and guest count; the venue replies with a quote on eventa.live. It books nothing and takes no payment. Check venue_availability first, and use the venue's timezone for times. Only call this when the user has clearly asked for it for this specific item; confirm it (get_club / get_venue) first.
Needs the Venue inquiries permission (venues:write). Changes data.
| Argument | Type | Required | Notes |
|---|---|---|---|
venue | string | Yes | Venue id, slug, or https://eventa.live/venues/SLUG link (up to 300 characters) |
date | string | Yes | Event day, YYYY-MM-DD (format YYYY-MM-DD) |
guests | integer | Yes | 1 to 100000 |
start_time | string | No | HH:mm in the venue's timezone |
end_time | string | No | |
event_type | string | No | e.g. "birthday", "5-a-side football" (up to 80 characters) |
message | string | No | What the user wants to tell the venue (up to 2000 characters) |
Returns structured content with: venue_id, inquiry_id, status, url.
Example arguments:
{
"venue": "gulshan-rooftop-arena",
"date": "2026-12-05",
"guests": 20,
"start_time": "18:00",
"event_type": "birthday",
"message": "Is the rooftop free that evening?"
}