# Return all standalone Notetakers

> **GET** `https://api.us.nylas.com/v3/notetakers`

Source: https://developer.nylas.com/docs/reference/api/standalone-notetaker/get-all-standalone-notetakers/

Returns a list of standalone Notetaker bots.

**Authentication:** NYLAS_API_KEY

## Parameters

### Query parameters

| Name | Type | Required | Description |
|------|------|----------|-------------|
| `join_time_end` | number | No | Filter for Notetaker bots that have join times that end at or are before a specific time, in Unix timestamp format. |
| `join_time_start` | number | No | Filter for Notetaker bots that have join times that start at or after a specific time, in Unix timestamp format. |
| `limit` | integer | No | The maximum number of objects to return. See [Pagination](/docs/reference/api/#pagination) for more information. |
| `order_by` | string | No | The field to order the Notetaker bots by. |
| `order_direction` | string | No | The direction to order the Notetaker bots by. |
| `state` | string | No | Filter for Notetaker bots with the specified meeting state. |
| `page_token` | string | No | An identifier that specifies which page of data to return. You can get this value from the `next_cursor` response field. See [Pagination](/docs/reference/api/#pagination) for more information. |
| `prev_page_token` | string | No | An identifier that specifies which page of data to return. You can get this value from the `prev_cursor` response field. See [Pagination](/docs/reference/api/#pagination) for more information. |

## Responses

### 200 - Success. Returns list of standalone Notetaker bots.

- `request_id` (string) - The request ID.
- `data` (array)
  - `id` (string) - The Notetaker ID.
  - `join_time` (integer) - When Notetaker joined the meeting, in seconds using the Unix timestamp format.
  - `meeting_link` (string) - The meeting link.
  - `meeting_provider` (string) - The meeting provider.
  - `meeting_settings` (object) - A collection of settings for the Notetaker bot.
    - `action_items` (boolean) - When `true`, Notetaker generates a list of action items from the meeting. If `action_items` is
`true`, `video_recording`, `audio_recording`, and `transcription` must also be `true`.
    - `action_items_settings` (object)
      - `custom_instructions` (string) - A custom prompt to pass to Nylas' AI model and specify settings for the list of action items
it generates. `action_items` must be `true` to use this field.
    - `audio_recording` (boolean) - When `true`, Notetaker records the meeting's audio.
    - `leave_after_silence_seconds` (integer) - The number of seconds of silence after which the Notetaker bot automatically leaves
the meeting. This helps end recordings when meetings have concluded but participants
haven't disconnected the call. Must be between 10 and 3600 seconds (1 hour).
    - `summary` (boolean) - When `true`, Notetaker generates a summary of the meeting. If `summary` is `true`,
`video_recording`, `audio_recording`, and `transcription` must also be `true`.
    - `summary_settings` (object)
      - `custom_instructions` (string) - A custom prompt to pass to Nylas' AI model and specify settings for the summary it generates.
`summary` must be `true` to use this field.
    - `transcription` (boolean) - When `true`, Notetaker transcribes the meeting's audio. If `transcription` is `true`,
`video_recording` and `audio_recording` must also be `true`.
    - `video_recording` (boolean) - When `true`, Notetaker records the meeting's video.
    - `transcription_settings` (object) - Optional settings that tune how Notetaker transcribes audio. `transcription` must be
`true` for these settings to take effect. Provide any combination of the fields below.

The fields fall into two independent groups:

- **Language hints** (`expected_languages`, `fallback_language`) constrain automatic
  language detection. This declares the languages you expect; it does not translate
  transcripts or force the recording into a specific language.
- **Keyword hints** (`keywords`, `use_speaker_names_as_keywords`) bias recognition toward
  domain-specific terms such as names, acronyms, and product names.

Set on individual Notetakers, on calendar sync, or on event sync. When set on a calendar,
events inherit the value unless the event's own request overrides it. Send `null` or `{}`
to clear inherited settings and return to default transcription behavior.

See [Set transcription languages](/docs/v3/notetaker/#set-transcription-languages) for
supported language codes and validation rules.
      - `expected_languages` (array) - Language codes the audio is expected to contain. Optional. When provided, it must
contain at least one supported code and cannot be `null` or empty. When omitted,
transcription considers all supported languages.
      - `fallback_language` (string) - Language to use if Notetaker does not detect one of the `expected_languages`. Optional.
When `expected_languages` is set, the fallback must be one of those codes. When
`expected_languages` is omitted, transcription considers all supported languages and
the fallback may be any supported code. When `fallback_language` is omitted, the
transcriber auto-detects the language. The field is not stored, so responses do not
return it.
      - `keywords` (array) - Domain-specific terms that bias transcription toward recognizing them correctly, such
as names, acronyms, and product names. Optional. Up to 200 terms; each term must be
1 to 200 characters and cannot contain control characters. Cannot be `null`.
      - `use_speaker_names_as_keywords` (boolean) - When `true`, Notetaker adds known speaker names to the keyword set so they are
transcribed accurately. Optional. Cannot be `null`.
  - `name` (string) - The display name for the Notetaker bot.
  - `object` (string) - The type of object.
  - `state` (string) - The current state of the Notetaker bot.
  - `status` (string) - The current status of the Notetaker bot.
- `next_cursor` (string,null) - A cursor pointing to the next page of results for the request.
- `prev_cursor` (string,null) - A cursor pointing to the previous page of results for the request.

### 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.

### 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.

## Code samples

### cURL

```bash
curl --request GET \
  --url "https://api.us.nylas.com/v3/notetakers" \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer <NYLAS_API_KEY>'
```

### Node.js SDK

```javascript
import Nylas from "nylas";

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

async function listStandaloneNotetakers() {
  try {
    const notetakers = await nylas.notetakers.list({
      queryParams: {
        limit: 50,
      },
    });

    console.log("Standalone notetakers:", notetakers);
  } catch (error) {
    console.error("Error listing notetakers:", error);
  }
}

listStandaloneNotetakers();

```

### Python SDK

```python
from nylas import Client

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

notetakers = nylas.notetakers.list(
    query_params={
        "limit": 50,
    },
)

print("Standalone notetakers:", notetakers)

```

### Java SDK

```java
import com.nylas.NylasClient;
import com.nylas.models.ListNotetakersQueryParams;
import com.nylas.models.ListResponse;
import com.nylas.models.Notetaker;
import com.nylas.models.NylasApiError;
import com.nylas.models.NylasSdkTimeoutError;

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

    ListNotetakersQueryParams queryParams = new ListNotetakersQueryParams.Builder()
        .limit(50)
        .build();

    // Omit the grant identifier to query the standalone (account-level) Notetakers.
    ListResponse<Notetaker> notetakers = nylas.notetakers().list(queryParams);

    System.out.println("Standalone notetakers: " + notetakers.getData());
  }
}

```

### Kotlin SDK

```kotlin
import com.nylas.NylasClient
import com.nylas.models.ListNotetakersQueryParams

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

  val queryParams = ListNotetakersQueryParams.Builder()
      .limit(50)
      .build()

  // Omit the grant identifier to query the standalone (account-level) Notetakers.
  val notetakers = nylas.notetakers().list(queryParams)

  println("Standalone notetakers: ${notetakers.data}")
}

```
