> Calendly developer docs. For page Markdown, append .md to any URL.
> Index: https://developer.calendly.com/llms.txt
> API catalog: https://developer.calendly.com/.well-known/api-catalog
> OpenAPI: https://developer.calendly.com/openapi/calendly-api.yaml
> OAuth authorization server: https://calendly.com/.well-known/oauth-authorization-server
> MCP protected resource: https://mcp.calendly.com/.well-known/oauth-protected-resource
> Scheduling MCP endpoint: https://mcp.calendly.com
> Docs search MCP: https://developer.calendly.com/_mcp/server

# List Event Invitees

GET https://api.calendly.com/scheduled_events/{uuid}/invitees

Returns a list of Invitees for an event.

> `scheduled_events:read`

Reference: https://developer.calendly.com/api-docs/calendly-api/scheduled-events/list-event-invitees

## Authentication

- `Authorization` header (bearer token, required) — OAuth 2.0
- `Authorization` header (bearer token, required) — Personal Access Token

## Request

### Path parameters

- `uuid` (string, required)

### Query parameters

- `status` (enum, optional) — Indicates if the invitee "canceled" or still "active"
  - Allowed values: `active`, `canceled`
- `sort` (string, optional, default: created_at:asc) — Order results by the **created_at** field and direction specified: ascending ("asc") or descending ("desc")
- `email` (string, optional) — Indicates if the results should be filtered by email address
- `page_token` (string, optional) — The token to pass to get the next or previous portion of the collection
- `count` (integer, optional, default: 20) — The number of rows to return

## Response

### 200

OK

- `collection` (list of Invitee, required) — The set of event invitees matching the criteria
- `pagination` (Pagination, required)

## Errors

### 400 Bad Request Error

Request is not valid

- `title` (enum, required)
  - Allowed values: `Internal Server Error`
- `message` (enum, required)
  - Allowed values: `The server encountered an unexpected condition that prevented it from fulfilling the request.`
- `details` (list of ErrorResponseDetailsItem, optional)

### 401 Unauthorized Error

Cannot authenticate caller

- `title` (enum, required)
  - Allowed values: `Internal Server Error`
- `message` (enum, required)
  - Allowed values: `The server encountered an unexpected condition that prevented it from fulfilling the request.`
- `details` (list of ErrorResponseDetailsItem, optional)

### 403 Forbidden Error

Permission Denied or insufficient scope

- `List-event-inviteesRequestForbiddenError`

### 404 Not Found Error

Requested resource not found

- `title` (enum, required)
  - Allowed values: `Internal Server Error`
- `message` (enum, required)
  - Allowed values: `The server encountered an unexpected condition that prevented it from fulfilling the request.`
- `details` (list of ErrorResponseDetailsItem, optional)

### 500 Internal Server Error

An error has occurred on the server

- `title` (enum, required)
  - Allowed values: `Internal Server Error`
- `message` (enum, required)
  - Allowed values: `The server encountered an unexpected condition that prevented it from fulfilling the request.`
- `details` (list of ErrorResponseDetailsItem, optional)

## Types

### Invitee

An individual who has been invited to meet with a Calendly member

- `uri` (string, required) — Canonical reference (unique identifier) for the invitee
- `email` (string, required) — The invitee’s email address
- `first_name` (string, required, nullable) — The first name of the invitee who booked the event when the event type is configured to use separate fields for first name and last name. Null when event type is configured to use a single field for name.
- `last_name` (string, required, nullable) — The last name of the invitee who booked the event when the event type is configured to use separate fields for first name and last name. Null when event type is configured to use a single field for name.
- `name` (string, required) — The invitee’s name (in human-readable format)
- `status` (enum, required) — Indicates if the invitee is "active" or "canceled"
  - Allowed values: `active`, `canceled`
- `questions_and_answers` (list of InviteeQuestionAndAnswer, required) — A collection of the invitee's responses to questions on the event booking confirmation form
- `timezone` (string, required, nullable) — Time zone to use when displaying time to the invitee
- `event` (string, required) — A reference to the event
- `created_at` (string, required) — The moment when the event was created (e.g. "2020-01-02T03:04:05.678123Z")
- `updated_at` (string, required) — The moment when the event was last updated (e.g. "2020-01-02T03:04:05.678123Z")
- `tracking` (InviteeTracking, required) — The UTM and Salesforce tracking parameters associated with an Invitee
- `text_reminder_number` (string, required, nullable) — The phone number to use when sending text (SMS) reminders
- `rescheduled` (boolean, required) — Indicates if this invitee has rescheduled. If `true`, a reference to the new Invitee instance is provided in the `new_invitee` field.
- `old_invitee` (string, required, nullable) — Reference to old Invitee instance that got rescheduled
- `new_invitee` (string, required, nullable) — Link to new invitee, after reschedule
- `cancel_url` (string, required) — Link to cancelling the event for the invitee
- `reschedule_url` (string, required) — Link to rescheduling the event for the invitee
- `routing_form_submission` (string, required, nullable) — Reference to a routing form submission that redirected the invitee to a booking page.
- `payment` (InviteePayment, required, nullable) — Invitee payment
- `no_show` (InviteeAssociatedNoShow, required, nullable) — Provides data pertaining to the associated no show for the Invitee
- `reconfirmation` (InviteeReconfirmation, required, nullable) — Assuming reconfirmation is enabled for the event type, when reconfirmation is requested this object is present with a `created_at` that reflects when the reconfirmation notification was sent. Once the invitee has reconfirmed the `confirmed_at` attribute will change from `null` to a timestamp that reflects when they took action.
- `scheduling_method` (enum, required, nullable) — The method used to schedule the event
  - Allowed values: `instant_book`, `api`
- `invitee_scheduled_by` (string, required, nullable) — Reference to user URI who scheduled the event
- `cancellation` (Cancellation, optional) — Provides data pertaining to the cancellation of the Event or the Invitee

### Pagination

- `count` (integer, required) — The number of rows to return
- `next_page` (string, required, nullable) — URI to return the next page of an ordered list ("null" indicates no additional results are available)
- `previous_page` (string, required, nullable) — URI to return the previous page of an ordered list ("null" indicates no additional results are available)
- `next_page_token` (string, required, nullable) — Token to return the next page of an ordered list ("null" indicates no additional results are available)
- `previous_page_token` (string, required, nullable) — Token to return the previous page of an ordered list ("null" indicates no additional results are available)

### ErrorResponseDetailsItem

- `message` (string, required)
- `parameter` (string, optional)
- `code` (string, optional)

### GetScheduledEventsInviteesError

Permission Denied

- `title` (enum, optional)
  - Allowed values: `Permission Denied`
- `message` (enum, optional)
  - Allowed values: `You are not allowed to view this event`

### InsufficientScopeError

Caller does not have required oauth scopes

- `title` (enum, required)
  - Allowed values: `Insufficient scope`
- `message` (enum, required)
  - Allowed values: `This operation requires the scopes listed in the 'required_scopes' array.`
- `required_scopes` (list of string, required)

### InviteeQuestionAndAnswer

A response to a question on a booking page form. Required questions must be included in the body and match on the question string exactly.

- `question` (string, required) — A question for the invitee. String is case sensitive and must exactly match the question.
- `answer` (string, required) — The invitee's response to the question
- `position` (integer, required) — The position of the question in relation to others

### InviteeTracking

The UTM and Salesforce tracking parameters associated with an Invitee

- `utm_campaign` (string, required, nullable) — The UTM parameter used to track a campaign
- `utm_source` (string, required, nullable) — The UTM parameter that identifies the source (platform where the traffic originates)
- `utm_medium` (string, required, nullable) — The UTM parameter that identifies the type of input (e.g. Cost Per Click (CPC), social media, affiliate or QR code)
- `utm_content` (string, required, nullable) — UTM content tracking parameter
- `utm_term` (string, required, nullable) — The UTM parameter used to track keywords
- `salesforce_uuid` (string, required, nullable) — The Salesforce record unique identifier

### InviteePayment

Invitee payment

- `external_id` (string, required) — Unique identifier for the payment
- `provider` (enum, required) — Payment provider
  - Allowed values: `stripe`, `paypal`
- `amount` (float, required) — The amount of the payment
- `currency` (enum, required) — The currency format that the payment is in.
  - Allowed values: `AUD`, `CAD`, `EUR`, `GBP`, `USD`
- `terms` (string, required, nullable) — Terms of the payment
- `successful` (boolean, required) — Indicates whether the payment was successfully processed

### InviteeAssociatedNoShow

Provides data pertaining to the associated no show for the Invitee

- `uri` (string, required) — Canonical reference (unique identifier) for the no show
- `created_at` (string, required) — The moment when the no show was created

### InviteeReconfirmation

Assuming reconfirmation is enabled for the event type, when reconfirmation is requested this object is present with a `created_at` that reflects when the reconfirmation notification was sent. Once the invitee has reconfirmed the `confirmed_at` attribute will change from `null` to a timestamp that reflects when they took action.

- `created_at` (string, required) — When the reconfirmation was created.
- `confirmed_at` (string, required, nullable) — When the Invitee confirmed their attendance.

### Cancellation

Provides data pertaining to the cancellation of the Event or the Invitee

- `canceled_by` (string, required) — Name of the person whom canceled
- `reason` (string, required, nullable) — Reason that the cancellation occurred
- `canceler_type` (enum, required)
  - Allowed values: `host`, `invitee`
- `created_at` (string, required) — The moment when the cancellation was created

## Examples

**Response**

```json
{
  "collection": [
    {
      "uri": "https://api.calendly.com/scheduled_events/AAAAAAAAAAAAAAAA/invitees/AAAAAAAAAAAAAAAA",
      "email": "test@example.com",
      "first_name": "John",
      "last_name": "Doe",
      "name": "John Doe",
      "status": "active",
      "questions_and_answers": [
        {
          "question": "Question with Radio Buttons answer type",
          "answer": "radio button answer",
          "position": 0
        },
        {
          "question": "Question with Multiple Lines answer type",
          "answer": "Multiple line\nAnswer",
          "position": 1
        },
        {
          "question": "Question with Checkboxes answer type",
          "answer": "Answer 1\nAnswer 2\nAnswer 3",
          "position": 2
        }
      ],
      "timezone": "America/New_York",
      "event": "https://api.calendly.com/scheduled_events/AAAAAAAAAAAAAAAA",
      "created_at": "2020-11-23T17:51:18.327602Z",
      "updated_at": "2020-11-23T17:51:18.341657Z",
      "tracking": {
        "utm_campaign": null,
        "utm_source": null,
        "utm_medium": null,
        "utm_content": null,
        "utm_term": null,
        "salesforce_uuid": null
      },
      "text_reminder_number": null,
      "rescheduled": false,
      "old_invitee": null,
      "new_invitee": null,
      "cancel_url": "https://calendly.com/cancellations/AAAAAAAAAAAAAAAA",
      "reschedule_url": "https://calendly.com/reschedulings/AAAAAAAAAAAAAAAA",
      "routing_form_submission": "https://api.calendly.com/routing_form_submissions/AAAAAAAAAAAAAAAA",
      "payment": {
        "external_id": "ch_AAAAAAAAAAAAAAAA",
        "provider": "stripe",
        "amount": 1234.56,
        "currency": "USD",
        "terms": "sample terms of payment (up to 1,024 characters)",
        "successful": true
      },
      "no_show": null,
      "reconfirmation": {
        "created_at": "2020-11-23T17:51:18.341657Z",
        "confirmed_at": "2020-11-23T20:01:18.341657Z"
      },
      "scheduling_method": null,
      "invitee_scheduled_by": null
    }
  ],
  "pagination": {
    "count": 20,
    "next_page": "https://calendly.com/scheduled_events/AAAAAAAAAAAAAAAA/invitees?count=1&page_token=sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi",
    "previous_page": "https://calendly.com/scheduled_events/AAAAAAAAAAAAAAAA/invitees?count=1&page_token=VJs2rfDYeY8ahZpq0QI1O114LJkNjd7H",
    "next_page_token": "sNjq4TvMDfUHEl7zHRR0k0E1PCEJWvdi",
    "previous_page_token": "VJs2rfDYeY8ahZpq0QI1O114LJkNjd7H"
  }
}
```

**SDK Code**

```python Event Invitees
import requests

url = "https://api.calendly.com/scheduled_events/AAAAAAAAAAAAAAAA/invitees"

querystring = {"email":"bob@example.com"}

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript Event Invitees
const url = 'https://api.calendly.com/scheduled_events/AAAAAAAAAAAAAAAA/invitees?email=bob%40example.com';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go Event Invitees
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.calendly.com/scheduled_events/AAAAAAAAAAAAAAAA/invitees?email=bob%40example.com"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby Event Invitees
require 'uri'
require 'net/http'

url = URI("https://api.calendly.com/scheduled_events/AAAAAAAAAAAAAAAA/invitees?email=bob%40example.com")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java Event Invitees
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.calendly.com/scheduled_events/AAAAAAAAAAAAAAAA/invitees?email=bob%40example.com")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php Event Invitees
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.calendly.com/scheduled_events/AAAAAAAAAAAAAAAA/invitees?email=bob%40example.com', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp Event Invitees
using RestSharp;

var client = new RestClient("https://api.calendly.com/scheduled_events/AAAAAAAAAAAAAAAA/invitees?email=bob%40example.com");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift Event Invitees
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.calendly.com/scheduled_events/AAAAAAAAAAAAAAAA/invitees?email=bob%40example.com")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```