I want to get a list of all of the people outside of our organization who have attended our events. If I do this:
curl --request GET \
--url "https://api.calendly.com/event_types?organization=https://api.calendly.com/organizations/" \
--header 'Authorization: Bearer {hidden} \
--header 'Content-Type: application/json'
Then I seem to get a list of all of the events, but the list is much shorter than it should be.
How do I get a list of every event that we’ve done in the last 6 months?
Once I have that, I would like to get a list of attendees. So I try this:
curl --request GET \
--url "https://api.calendly.com/scheduled_events/3df748e3-6d1a-4ede-abcd-39b1de2c17ca/invitees?organization=https://api.calendly.com/organizations/" \
--header 'Authorization: Bearer {hidden} \
--header 'Content-Type: application/json'
I’m using a UUID I found in the responses to the first cURL call that I did above. But that does not work. I get “Resource not found.”
So what am I supposed to use for that UUID? Where would I find the UUID?
If I go here:
https://developer.calendly.com/api-docs/2d5ed9bbd2952-list-events
The page never mentions a UUID. I cannot find a reference to the UUID anywhere in any of the descriptive text, and yet it is listed as a required parameter when asking for the invitees.
If I go here:
https://developer.calendly.com/api-docs/2d5ed9bbd2952-list-events
The page never mentions a UUID. I cannot find a reference to the UUID anywhere in any of the descriptive text, and yet it is listed as a required parameter when asking for the invitees.
Hi there,
Thanks for your detailed post—happy to help clarify the steps for retrieving event and invitee data using the Calendly API.
Step 1: List Scheduled Events (not Event Types)
It looks like you're currently calling the /event_types
endpoint, which returns event templates—not actual scheduled bookings. To retrieve the actual events that occurred (including those with external invitees), you’ll want to use:
GET https://api.calendly.com/scheduled_events
Include query parameters like organization=
or user=
along with a min_start_time
and max_start_time
to filter by date range. Example:
curl --request GET \
--url "https://api.calendly.com/scheduled_events?organization=https://api.calendly.com/organizations/{org_uuid}&min_start_time=2025-01-01T00:00:00Z&max_start_time=2025-06-30T23:59:59Z" \
--header 'Authorization: Bearer {your_token}' \
--header 'Content-Type: application/json'
This will return a list of scheduled event objects, each with a unique uri
and uuid
.
Step 2: List Invitees for a Scheduled Event
Once you have the UUIDs from /scheduled_events
, you can fetch the list of invitees per event using:
GET /scheduled_events/{uuid}/invitees
Important: Remove the organization=
query param—this endpoint doesn’t require it. Example:
curl --request GET \
--url "https://api.calendly.com/scheduled_events/{event_uuid}/invitees" \
--header 'Authorization: Bearer {your_token}' \
--header 'Content-Type: application/json'
If you’re getting a Resource not found
error, double-check that:
-
The uuid
you’re using came from /scheduled_events
, not /event_types
-
Your token has access to the organization or user tied to the event
Tip: Use Pagination
Both endpoints use pagination, so make sure to follow the next_page
URL in the response to retrieve all records.
If you’d like help reviewing your API token permissions or need a walkthrough, feel free to chat with our Support team at calendly.com/contact—we’re happy to assist further.
Hope this clears things up!
– Javay
Developer Support, Calendly
But if I use the external_id field then I get:
{"title":"Resource Not Found","message":"The server could not find the requested resource."}
making this call, with the external_id from above:
curl --request GET \
--url "https://api.calendly.com/scheduled_events/8pv58mskifkj5st9o6m2qqde74/invitees?organization=https://api.calendly.com/organizations/DCFERasdasdasdasd7OLC" \
--header 'Authorization: Bearer eyJraWQiOiIxY2UxZTEzNjE3ZGNmNzY2YjNjZWJjY2Y4ZGM1YmFmYThhNjVlNjg0MDIzZjdjMzJiZTgzNDliMjM4MDEzNWI0IiwidHlasdasdasdasdasQxLTRlMzUtYmQxMy03ZTBhNWIwNDk2MjciLCJ1c2VyX3V1aWQiOiJBSEhCasdasdasdElEQVJMWkU3In0.jsvcK0mRkCdIF87BJ7UxVaHfQDWClDc-QEIl-PyYuXYVm95wDIWR4r-_Xw7IwLp_18Q-amd8BGmsa5deb0P9qw' \
--header 'Content-Type: application/json'
I also removed the “organization” parameter, but I still get “resource not found”.
My other post never showed up? I posted the JSON so that you could see what I was getting. It did not have a field called “uuid”. It did have a field called “external_id” but that does not seem to work.
Again, this is the JSON that comes back. It does not have a field called “uuid”.
{
"calendar_event": {
"external_id": "",
"kind": "google"
},
"created_at": "2024-12-13T13:26:31.739208Z",
"end_time": "2025-01-06T17:30:00.000000Z",
"event_guests": v],
"event_memberships": _
{
"buffered_end_time": "2025-01-06T18:00:00.000000Z",
"buffered_start_time": "2025-01-06T17:00:00.000000Z",
"user": "https://api.calendly.com/users/HHF",
"user_email": "",
"user_name": "B R"
}
],
"event_type": "https://api.calendly.com/event_types/
"invitees_counter": {
"active": 9,
"limit": 15,
"total": 10
},
"location": {
"data": {
"id": 86518512501,
"settings": {
"global_dial_in_numbers": "
{
"country_name": "US",
"city": "Chicago",
"number": "+9",
"type": "toll",
"country": "US"
},
{
"country_name": "US",
"number": "+1 11
"type": "toll",
"country": "US"
},
{
"country_name": "US",
"city": "New York",
"number": "+1 9",
"type": "toll",
"country": "US"
}
]
},
"extra": {
"intl_numbers_url": "https://us02web.zoom.us/u/kdswgJAiDz"
},
"password": "31824"
},
"join_url": "https://us0.zoom.us/j/8c6Cpr.1",
"status": "pushed",
"type": "zoom"
},
"meeting_notes_html": null,
"meeting_notes_plain": null,
"name": "Platform Tour",
"start_time": "2025-01-06T17:00:00.000000Z",
"status": "active",
"updated_at": "2025-01-04T02:00:37.235430Z",
"uri": "https://api.calendly.com/scheduled_events/d662"
}
Any thoughts about why I am not seeing a UUID? I’ve tried every ID in the return that looks like ID and yet I’m still yet every API call returns with “Resource Not Found.”
Can anyone help me with this? I am making an API call. There is no field called UUID in the values returned. What should I use as a substitute for the UUID?
Can anyone answer this? There is no field called “UUID”. I posted the JSON above. What are people using instead? What field do people use for the UUID?
Can anyone make a suggestion here? Does anyone work with this API?
Does anyone answer these questions? Is there another source of support? Should I report this as a bug? Why is the UUID missing?
Does anyone know anything about the field called UUID?
You're querying the /event_types
endpoint, which returns event templates, not scheduled events. To get all events that actually occurred in the last 6 months, you’ll want to use the /scheduled_events
endpoint instead, and apply a min_start_time
and max_start_time
filter in your query.
Once you have the event UUIDs from there, you can call /scheduled_events/{uuid}/invitees
to get the list of attendees for each