# Return a Configuration

> **GET** `https://api.us.nylas.com/v3/grants/{grant_id}/scheduling/configurations/{configuration_id}`

Source: https://developer.nylas.com/docs/reference/api/configurations/get-configurations-id/

Returns the specified Configuration object.

**Authentication:** NYLAS_API_KEY

## Parameters

### Path parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `grant_id` | string | Yes | ID of the grant to access. You can also use the email address associated with the grant, or use `/me/` to refer to the grant associated with an access token. |
| `configuration_id` | string | Yes | The ID of the Configuration object to access. |

## Responses

### 200 - Configuration returned

- **object**
  - `request_id` (string) - The request ID.
  - `data` (object)
    - `appearance` (object,null)
    - `availability` (object) - The rules that determine available time slots for the event.
      - `availability_rules` (object) - A list of availability rules that apply to all participants.
        - `availability_method` (string) - The method Nylas uses to calculate availability for all participants.
        - `buffer` (object) - A list of rules that set buffer time around events for all participants.
          - `after` (integer) - The amount of buffer time to add after meetings. For example, if
an account has a meeting scheduled from 10:00–11:00a.m., and you
set an after buffer of 15 minutes, Nylas treats 10:00–11:15a.m. as
busy.
          - `before` (integer) - The amount of buffer time to add before meetings. For example, if
an account has a meeting scheduled from 10:00–11:00a.m., and you
set a before buffer of 30 minutes, Nylas treats 9:30–11:00a.m. as
busy.
      - `duration_minutes` (integer) - The total duration of the event, in minutes.
      - `interval_minutes` (integer) - The interval between meetings, in minutes.
      - `round_to` (integer) - Nylas rounds each time slot to the nearest `round_to` value. For example,
if a time slot starts at 9:05a.m. and `round_to` is set to 15, Nylas rounds
it to 9:15a.m.
    - `event_booking` (object) - An object containing details about the booking.
      - `booking_type` (string) - The booking type.
      - `disable_emails` (boolean,null) - When `true`, Nylas doesn't send email notifications when an event is booked,
cancelled, or rescheduled. When `null`, the default behavior applies (emails are sent).
      - `hide_participants` (boolean,null) - When `true`, Nylas creates the event with `hide_participants=true`, so the host can see who's on the event but the guests cannot. When `null`, the default behavior applies (participants are visible).
      - `location` (string) - The location of the event.
      - `notify_participants` (boolean,null) - When `true`, the calendar provider sends notifications to participants
when the event is created, updated, or deleted. Microsoft grants ignore
this flag and always notify participants. This field may be `null` if not
explicitly set on the configuration; treat `null` the same as `false`.
      - `reminders` (array) - A list of reminders for the event.
        - `minutes_before_event` (integer) - The number of minutes before the event to send the reminder.
        - `recipient` (string) - (Email reminders only) Who should receive the reminder.
        - `type` (string) - The reminder type.
      - `timezone` (string) - The event's timezone as an
[IANA-formatted](https://en.wikipedia.org/wiki/Tz_database) string.
      - `title` (string) - The event title.
    - `id` (string) - The Configuration ID.
    - `name` (string) - The name of the Scheduling Page.
    - `participants` (array) - A list of participants included in the scheduled event.
      - `availability` (object) - The availability settings for the participant.
        - `calendar_ids` (array) - A list of calendar IDs used to check the participant's availability.
        - `open_hours` (array) - An array of objects representing the participant's open hours. Nylas
searches for free time slots within these open hours.
          - `days` (array) - The days of the week that the open hour settings are applied
to. Sunday corresponds to `0`, and Saturday corresponds to `6`.
          - `end` (string) - The end time in 24-hour time format.
          - `exdates` (array) - A list of dates that are excluded from the participant's open
hours, in `YYYY-MM-DD` format.
          - `start` (string) - The start time in 24-hour time format.
          - `timezone` (string) - The participant's timezone as an
[IANA-formatted](https://en.wikipedia.org/wiki/Tz_database)
string. Nylas uses this when calculating the participant's open
hours and in email notifications.
      - `booking` (object) - The participant's booking data.
        - `calendar_id` (string) - The ID of the calendar the event was created on.
      - `email` (string) - The participant's email address.
      - `name` (string) - The participant's name.
      - `is_organizer` (boolean) - When `true`, shows that the participant is the organizer of the event.
    - `requires_session_auth` (boolean,null) - When `true`, the scheduling Availability and Bookings endpoints require a valid
session ID to authenticate requests using the Configuration. This field may be
`null` if not explicitly set; treat `null` the same as `false`.
    - `scheduler` (object)
      - `additional_fields` (object) - An object containing additional custom fields.
        - `example_field` (object)
          - `label` (string) - The text label to be displayed in the Scheduler UI.
          - `order` (integer) - The order in which the field is displayed in the Scheduler UI.
Fields with lower order values are displayed first.
          - `required` (boolean) - When `true`, marks the field as required.
          - `type` (string) - The field type.
      - `available_days_in_future` (integer) - The number of days in the future that Scheduler is available for scheduling
events.
      - `email_template` (object) - Template settings for email notifications.
        - `booking_confirmed` (object) - Template settings for confirmation notifications.
          - `body` (string) - The body text of the message.
          - `title` (string) - The title of the message.
        - `organizer_locale` (string) - The organizer's locale settings.
      - `min_booking_notice` (integer,null) - The minimum number of minutes in the future that a user can schedule a new
booking. This field may be `null` if not explicitly set; treat `null` the
same as `60`.
      - `min_cancellation_notice` (integer) - The minimum amount of time before a meeting that the booking can still be
cancelled, in minutes.
    - `slug` (string,null) - The Configuration slug. You can use this instead of the `configuration_id`
when making requests to other Scheduling endpoints. This field may be `null`
if no slug has been set.
- **object**
  - `request_id` (string) - The request ID.
  - `data` (object)
    - `appearance` (object,null)
    - `group_booking` (object) - An object containing details about the group booking.
      - `booking_type` (string) - The booking type.
      - `calendar_id` (string) - The ID of the calendar on which the group event is created.
      - `default_capacity` (integer) - The default capacity for the booking.
      - `disable_emails` (boolean,null) - When `true`, Nylas doesn't send email notifications when an event is booked,
cancelled, or rescheduled. When `null`, the default behavior applies (emails are sent).
      - `reminders` (array) - A list of reminders for the event.
        - `minutes_before_event` (integer) - The number of minutes before the event to send the reminder.
        - `recipient` (string) - (Email reminders only) Who should receive the reminder.
        - `type` (string) - The reminder type.
      - `title` (string) - The event title.
    - `id` (string) - The group Configuration ID.
    - `name` (string) - The name of the Scheduling Page.
    - `requires_session_auth` (boolean,null) - When `true`, the scheduling Availability and Bookings endpoints require a valid
session ID to authenticate requests using the Configuration. This field may be
`null` if not explicitly set; treat `null` the same as `false`.
    - `scheduler` (object)
      - `available_days_in_future` (integer) - The number of days in the future that Scheduler is available for scheduling
events.
      - `email_template` (object) - Template settings for email notifications.
        - `booking_confirmed` (object) - Template settings for confirmation notifications.
          - `body` (string) - The body text of the message.
          - `title` (string) - The title of the message.
      - `min_booking_notice` (integer,null) - The minimum number of minutes in the future that a user can schedule a new
booking. This field may be `null` if not explicitly set; treat `null` the
same as `60`.
      - `min_cancellation_notice` (integer) - The minimum amount of time before a meeting that the booking can still be
cancelled, in minutes.
    - `slug` (string,null) - The group Configuration slug. You can use this instead of the `configuration_id`
when making requests to other Scheduling endpoints. This field may be `null`
if no slug has been set.
    - `type` (string) - The booking type for the Scheduling Page. For group Configurations, this is
always `group`.

### 400 - Bad Request

- `request_id` (string) - The request ID.
- `error` (object) - The response error object.
  - `type` (string) - The error type.
  - `message` (string) - The error message.
  - `provider_error` (object) - The error from the provider.

### 401 - Unauthorized

- `request_id` (string) - The request ID.
- `error` (object) - The response error object.
  - `type` (string) - The error type.
  - `message` (string) - The error message.
  - `provider_error` (object) - The error from the provider.

### 404 - Not Found

- `request_id` (string) - The request ID.
- `error` (object) - The response error object.
  - `type` (string) - The error type.
  - `message` (string) - The error message.
  - `provider_error` (object) - The raw error from the provider, if available
    - `code` (string)
    - `message` (string)

### 429 - Rate Limit

- `request_id` (string) - The request ID.
- `error` (object) - The response error object.
  - `type` (string) - The error type.
  - `message` (string) - The error message.

### 504 - Provider Failure

- `request_id` (string) - The request ID.
- `error` (object) - The response error object.
  - `type` (string) - The error type.
  - `message` (string) - The error message.

## Code samples

### cURL

```bash
curl --compressed --request GET \
  --url "https://api.us.nylas.com/v3/grants/<NYLAS_GRANT_ID>/scheduling/configurations/<SCHEDULER_CONFIG_ID>" \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer <NYLAS_API_KEY>' \
  --header 'Content-Type: application/json'
```

### Node.js SDK

```javascript
import Nylas from "nylas";

const nylas = new Nylas({
  apiKey: "<NYLAS_API_KEY>",
  apiUri: "<NYLAS_API_URI>",
});

async function findConfiguration() {
  try {
    const configuration = await nylas.scheduler.configurations.find({
      identifier: "<NYLAS_GRANT_ID>",
      configurationId: "<CONFIGURATION_ID>",
    });

    console.log("Configuration:", configuration);
  } catch (error) {
    console.error("Error finding configuration:", error);
  }
}

findConfiguration();

```

### Python SDK

```python
from nylas import Client

nylas = Client(
    "<NYLAS_API_KEY>",
    "<NYLAS_API_URI>",
)

configuration = nylas.scheduler.configurations.find(
    identifier="<NYLAS_GRANT_ID>",
    config_id="<SCHEDULER_CONFIG_ID>",
)

print("Configuration:", configuration)

```

### Ruby SDK

```ruby
# Load gems
require 'nylas'

# Initialize Nylas client
nylas = Nylas::Client.new(
  api_key: "<NYLAS_API_KEY>"
)

configuration, _request_ids = nylas.scheduler.configurations.find(identifier: "<NYLAS_GRANT_ID>", configuration_id: "<SCHEDULER_CONFIG_ID>")

puts configuration
```

### Java SDK

```java
import com.nylas.NylasClient;
import com.nylas.models.Configuration;
import com.nylas.models.NylasApiError;
import com.nylas.models.NylasSdkTimeoutError;
import com.nylas.models.Response;

public class FindConfiguration {
  public static void main(String[] args) throws NylasSdkTimeoutError, NylasApiError {
    NylasClient nylas = new NylasClient.Builder("<NYLAS_API_KEY>").build();

    Response<Configuration> configuration = nylas.scheduler().configurations()
        .find("<NYLAS_GRANT_ID>", "<CONFIGURATION_ID>");

    System.out.println("Configuration: " + configuration.getData());
  }
}

```

### Kotlin SDK

```kotlin
import com.nylas.NylasClient

fun main() {
  val nylas = NylasClient.Builder("<NYLAS_API_KEY>").build()

  val configuration = nylas.scheduler().configurations()
      .find("<NYLAS_GRANT_ID>", "<CONFIGURATION_ID>")

  println("Configuration: ${configuration.data}")
}

```
