Every list route takes limit and cursor.
GET/v1/me
The key itself: its scopes and workspace. Use it to test a key.
Scope: —
{
"object": "api_key",
"id": "3b2a1c0d-9e8f-4a7b-b6c5-d4e3f2a1b0c9",
"name": "CRM sync",
"prefix": "wlk_live_ab12cd34",
"scopes": ["events:read", "guests:read", "rsvps:read"],
"contacts_visible": false,
"created_at": "2026-11-04T10:00:00.000Z",
"expires_at": null,
"organization": { "id": "9d8c7b6a-5f4e-4d3c-a2b1-0f9e8d7c6b5a", "name": "Northwind Events" }
}
GET/v1/events
The workspace’s events, newest first. Filter with status.
Scope: events:read · ?status=active&limit=20
{
"object": "list",
"data": [
{
"id": "6f1c2a7e-4b1d-4c55-9a3e-2f8d7b0c1e42",
"object": "event",
"title": "Spring partner summit",
"summary": "",
"status": "active",
"type": "corporate",
"starts_at": "2026-12-03T09:00:00.000Z",
"ends_at": "2026-12-03T17:00:00.000Z",
"timezone": "Europe/Berlin",
"locale": "en",
"location_mode": "in_person",
"venue_name": "Hall 4",
"venue_address": "Messedamm 22, Berlin",
"rsvp_deadline": "2026-11-26T23:00:00.000Z",
"created_at": "2026-10-20T08:12:44.120Z",
"updated_at": "2026-11-02T15:03:10.004Z"
}
],
"has_more": true,
"next_cursor": "MjAyNi0xMS0wNFQxMDoyMTowMy41NTFafGI4ZTFkM2M0LTlmMjAtNGE3Yi04YzYxLTVkMmUwZjlhM2IxNw"
}
GET/v1/events/{event_id}
One event.
Scope: events:read
{
"id": "6f1c2a7e-4b1d-4c55-9a3e-2f8d7b0c1e42",
"object": "event",
"title": "Spring partner summit",
"summary": "",
"status": "active",
"type": "corporate",
"starts_at": "2026-12-03T09:00:00.000Z",
"ends_at": "2026-12-03T17:00:00.000Z",
"timezone": "Europe/Berlin",
"locale": "en",
"location_mode": "in_person",
"venue_name": "Hall 4",
"venue_address": "Messedamm 22, Berlin",
"rsvp_deadline": "2026-11-26T23:00:00.000Z",
"created_at": "2026-10-20T08:12:44.120Z",
"updated_at": "2026-11-02T15:03:10.004Z"
}
GET/v1/events/{event_id}/guests
An event’s guests. include_archived=true adds guests taken off the list.
Scope: guests:read · ?updated_since=2026-11-01T00:00:00Z
{
"object": "list",
"data": [
{
"id": "b8e1d3c4-9f20-4a7b-8c61-5d2e0f9a3b17",
"object": "guest",
"event_id": "6f1c2a7e-4b1d-4c55-9a3e-2f8d7b0c1e42",
"first_name": "Ada",
"last_name": "Kaya",
"display_name": "Ada Kaya",
"email": "a•••@example.com",
"phone": "••• ••• 321",
"company": "Northwind",
"job_title": "Head of Partnerships",
"locale": "en",
"guest_type": "standard",
"status": "pending",
"source": "api",
"tags": ["partner"],
"external_reference": "crm-10442",
"expected_party_size": 1,
"archived_at": null,
"created_at": "2026-11-04T10:21:03.551Z",
"updated_at": "2026-11-04T10:21:03.551Z"
}
],
"has_more": true,
"next_cursor": "MjAyNi0xMS0wNFQxMDoyMTowMy41NTFafGI4ZTFkM2M0LTlmMjAtNGE3Yi04YzYxLTVkMmUwZjlhM2IxNw"
}
GET/v1/events/{event_id}/guests/{guest_id}
One guest.
Scope: guests:read
{
"id": "b8e1d3c4-9f20-4a7b-8c61-5d2e0f9a3b17",
"object": "guest",
"event_id": "6f1c2a7e-4b1d-4c55-9a3e-2f8d7b0c1e42",
"first_name": "Ada",
"last_name": "Kaya",
"display_name": "Ada Kaya",
"email": "a•••@example.com",
"phone": "••• ••• 321",
"company": "Northwind",
"job_title": "Head of Partnerships",
"locale": "en",
"guest_type": "standard",
"status": "pending",
"source": "api",
"tags": ["partner"],
"external_reference": "crm-10442",
"expected_party_size": 1,
"archived_at": null,
"created_at": "2026-11-04T10:21:03.551Z",
"updated_at": "2026-11-04T10:21:03.551Z"
}
POST/v1/events/{event_id}/guests
Add a guest. Only first_name is required. Plan limits and the duplicate-address rule apply.
Scope: guests:write
{
"first_name": "Ada",
"last_name": "Kaya",
"email": "ada@example.com",
"company": "Northwind",
"tags": ["partner"],
"external_reference": "crm-10442"
}
{
"id": "b8e1d3c4-9f20-4a7b-8c61-5d2e0f9a3b17",
"object": "guest",
"event_id": "6f1c2a7e-4b1d-4c55-9a3e-2f8d7b0c1e42",
"first_name": "Ada",
"last_name": "Kaya",
"display_name": "Ada Kaya",
"email": "a•••@example.com",
"phone": "••• ••• 321",
"company": "Northwind",
"job_title": "Head of Partnerships",
"locale": "en",
"guest_type": "standard",
"status": "pending",
"source": "api",
"tags": ["partner"],
"external_reference": "crm-10442",
"expected_party_size": 1,
"archived_at": null,
"created_at": "2026-11-04T10:21:03.551Z",
"updated_at": "2026-11-04T10:21:03.551Z"
}
PATCH/v1/events/{event_id}/guests/{guest_id}
Change a guest’s name, contact details, company, job title, language, type or tags.
Scope: guests:write
{ "job_title": "Chief Partnerships Officer", "tags": ["partner", "vip-desk"] }
{
"id": "b8e1d3c4-9f20-4a7b-8c61-5d2e0f9a3b17",
"object": "guest",
"event_id": "6f1c2a7e-4b1d-4c55-9a3e-2f8d7b0c1e42",
"first_name": "Ada",
"last_name": "Kaya",
"display_name": "Ada Kaya",
"email": "a•••@example.com",
"phone": "••• ••• 321",
"company": "Northwind",
"job_title": "Head of Partnerships",
"locale": "en",
"guest_type": "standard",
"status": "pending",
"source": "api",
"tags": ["partner"],
"external_reference": "crm-10442",
"expected_party_size": 1,
"archived_at": null,
"created_at": "2026-11-04T10:21:03.551Z",
"updated_at": "2026-11-04T10:21:03.551Z"
}
GET/v1/events/{event_id}/rsvps
An event’s replies, most recently changed first. Filter with response.
Scope: rsvps:read · ?response=yes
{
"object": "list",
"data": [
{
"id": "0c9b7a5e-3d1f-4e2a-b6c8-9f0e1d2c3b4a",
"object": "rsvp",
"event_id": "6f1c2a7e-4b1d-4c55-9a3e-2f8d7b0c1e42",
"guest_id": "b8e1d3c4-9f20-4a7b-8c61-5d2e0f9a3b17",
"response": "yes",
"party_size": 2,
"attendance_mode": "in_person",
"revision": 1,
"responded_via": "link",
"responded_at": "2026-11-05T18:40:12.000Z",
"updated_at": "2026-11-05T18:40:12.000Z"
}
],
"has_more": true,
"next_cursor": "MjAyNi0xMS0wNFQxMDoyMTowMy41NTFafGI4ZTFkM2M0LTlmMjAtNGE3Yi04YzYxLTVkMmUwZjlhM2IxNw"
}
GET/v1/events/{event_id}/checkins
An event’s door records, newest first.
Scope: checkins:read
{
"object": "list",
"data": [
{
"id": "5a4b3c2d-1e0f-4a9b-8c7d-6e5f4a3b2c1d",
"object": "checkin",
"event_id": "6f1c2a7e-4b1d-4c55-9a3e-2f8d7b0c1e42",
"guest_id": "b8e1d3c4-9f20-4a7b-8c61-5d2e0f9a3b17",
"action": "admitted",
"result": "ok",
"admitted": 2,
"occurred_at": "2026-12-03T08:57:31.000Z",
"recorded_offline": false
}
],
"has_more": true,
"next_cursor": "MjAyNi0xMS0wNFQxMDoyMTowMy41NTFafGI4ZTFkM2M0LTlmMjAtNGE3Yi04YzYxLTVkMmUwZjlhM2IxNw"
}
GET/v1/webhooks
The workspace’s webhook endpoints.
Scope: webhooks:manage
{ "object": "list", "data": [{
"id": "e2d4c6b8-a0f1-4e3d-9c5b-7a8f6e4d2c1b",
"object": "webhook_endpoint",
"url": "https://hooks.example.com/winglark",
"description": "CRM sync",
"events": ["rsvp.submitted", "checkin.admitted"],
"event_ids": [],
"include_contacts": false,
"active": true,
"disabled_reason": null,
"source": "api",
"created_at": "2026-11-04T10:30:00.000Z"
}], "has_more": false, "next_cursor": null }
POST/v1/webhooks
Subscribe an address. The answer includes the signing secret, once.
Scope: webhooks:manage
{
"url": "https://hooks.example.com/winglark",
"events": ["rsvp.submitted", "checkin.admitted"],
"event_ids": [],
"description": "CRM sync"
}
{
"id": "e2d4c6b8-a0f1-4e3d-9c5b-7a8f6e4d2c1b",
"object": "webhook_endpoint",
"url": "https://hooks.example.com/winglark",
"description": "CRM sync",
"events": ["rsvp.submitted", "checkin.admitted"],
"event_ids": [],
"include_contacts": false,
"active": true,
"disabled_reason": null,
"source": "api",
"created_at": "2026-11-04T10:30:00.000Z",
"secret": "whsec_6Jx…shown once…"
}
DELETE/v1/webhooks/{webhook_id}
Unsubscribe.
Scope: webhooks:manage
204 No Content