Guests API
Add, remove, and query guests and guest metrics.
Manage the people registered for an event. All endpoints require the standard authentication headers. Write endpoints require the attendees:write scope; read endpoints require attendees:read.
POST /addGuest
Adds a guest to an event. The guest must not already be registered. Requires attendees:write.
Request body fields
| Field | Type | Required | Description |
|---|---|---|---|
userEmail |
string | ✓ | Guest’s email address, used as the unique identifier |
name |
string | Guest’s full name | |
role |
string | Guest’s job title or role (e.g. "Speaker", "Attendee") |
|
company |
string | Guest’s company or organisation | |
phone |
string | Guest’s phone number (e.g. "+1234567890") |
|
url |
string | Guest’s website or profile URL | |
country |
string | Guest’s country |
| Status | Response body | Description |
|---|---|---|
200 OK |
User added successfully. |
Guest was added to the event |
400 Bad Request |
The request must include userEmail in the body. |
userEmail field is missing |
409 Conflict |
User is already registered for the event. |
A guest with this email is already registered |
500 Internal Server Error |
Error adding user to the event. |
Unexpected server error |
Plus the standard auth errors (400/403/404/408/429) - see Authentication.
Example request
curl "https://api.event-vault.com/addGuest" \
-X POST \
-H "Content-Type: application/json" \
-H "x-api-key: <your-api-key>" \
-H "x-client-id: <your-client-id>" \
-H "x-event-id: <your-event-id>" \
-H "x-timestamp: $(date +%s%3N)" \
-d '{
"userEmail": "[email protected]",
"name": "Jane Doe",
"role": "Attendee",
"company": "Acme Corp",
"phone": "+1234567890",
"url": "https://linkedin.com/in/janedoe",
"country": "USA"
}'
POST /removeGuest
Removes a guest from an event. The guest must currently be registered. Requires attendees:write.
Request body fields
| Field | Type | Required | Description |
|---|---|---|---|
userEmail |
string | ✓ | Email address of the guest to remove |
| Status | Response body | Description |
|---|---|---|
200 OK |
User removed successfully. |
Guest was removed |
400 Bad Request |
The request must include userEmail in the body. |
userEmail field is missing |
404 Not Found |
User is not registered for the event. |
No guest with this email exists in the event |
500 Internal Server Error |
Error removing user from the event. |
Unexpected server error |
Example request
curl "https://api.event-vault.com/removeGuest" \
-X POST \
-H "Content-Type: application/json" \
-H "x-api-key: <your-api-key>" \
-H "x-client-id: <your-client-id>" \
-H "x-event-id: <your-event-id>" \
-H "x-timestamp: $(date +%s%3N)" \
-d '{"userEmail": "[email protected]"}'
GET /getGuestCount
Returns the current guest metrics for the event. No request body required. Requires attendees:read.
Response body (JSON)
{
"guestCount": 42,
"guestCapacity": 100,
"maxAssignedUsers": 57
}
Example request
curl "https://api.event-vault.com/getGuestCount" \
-H "x-api-key: <your-api-key>" \
-H "x-client-id: <your-client-id>" \
-H "x-event-id: <your-event-id>" \
-H "x-timestamp: $(date +%s%3N)"
GET /getGuests
Returns an array of all guest objects registered for the event. No request body required. Requires attendees:read.
Response body (JSON array)
[
{
"email": "[email protected]",
"country": "USA",
"registered": false,
"vCardData": {
"FN": "Jane Doe",
"ROLE": "Attendee",
"ORG": "Acme Corp",
"TEL": "+1234567890",
"URL": "https://linkedin.com/in/janedoe"
}
}
]
Example request
curl "https://api.event-vault.com/getGuests" \
-H "x-api-key: <your-api-key>" \
-H "x-client-id: <your-client-id>" \
-H "x-event-id: <your-event-id>" \
-H "x-timestamp: $(date +%s%3N)"