openapi: 3.2.0 info: title: Nylas Connector credentials API version: v3 summary: The complete Nylas v3 API — Email, Calendar, Contacts, Notetaker, Scheduling, Administration, and Migration. description: The Nylas API is designed using the REST ideology to provide simple and predictable URIs to access and modify objects. contact: url: https://www.nylas.com/ x-provenance: method: harvested first_party: true publisher: Nylas source: https://developer.nylas.com/_spec-files/nylas-api.yaml harvested: '2026-08-21' sha256: 7ff001d571e163b1ffe22178741b59f813d8208ec878157a839a33dc2c13fd35 bytes: 1666223 note: 'Published by Nylas as the unified contract for the Nylas v3 API and stored verbatim; API Evangelist added only this provenance block. Submitted by the provider in api-evangelist/nylas#1 and verified against the live URL before harvest: OpenAPI 3.1.0, 118 paths, 208 operations, 174 component schemas, 100% of operations carrying summary, description, tag and a unique operationId, x-code-samples on 208 of 208. This document REPLACES a 22-operation scaffold API Evangelist derived from reading the documentation, now quarantined under openapi/_scaffold/.' x-evidence: - url: https://developer.nylas.com/_spec-files/nylas-api.yaml what: the published unified contract, harvested verbatim 2026-08-21 (200, text/yaml, 1,666,223 bytes) - url: https://developer.nylas.com/.well-known/api-catalog what: RFC 9727 linkset advertising that URL as service-desc for api.us.nylas.com and api.eu.nylas.com (200, application/linkset+json) servers: - url: https://api.us.nylas.com description: U.S. - url: https://api.eu.nylas.com description: E.U. security: - ACCESS_TOKEN: [] - NYLAS_API_KEY: [] tags: - name: Connector credentials description: A Nylas connector credential is a special type of record that securely stores information (such as provider settings) that allows you to connect using an administrator account. paths: /v3/connectors/{provider}/creds: post: operationId: create_credential tags: - Connector credentials summary: Create a credential description: Manually create a credential record. security: - NYLAS_API_KEY: [] parameters: - $ref: '#/components/parameters/provider' requestBody: required: true description: '' content: application/json: schema: oneOf: - type: object title: Connector Override description: Override the default connector with another auth app. required: - name - credential_type - credential_data properties: name: type: string description: The name of the credential. Must be unique. example: Google auth app \#2 multitenant credential_type: type: string description: The type of the credential. Set this value to `connector` if you have multiple provider auth applications for a single provider and need to create an override credential.

For example, if you have two Google provider auth apps, the Google connector for each application can only connect to one of those Google auth apps by default. You can set up a connector override credential, however, then specify that credential ID in authentication requests so that the request goes through the Google connector, but goes to the non-default Google auth app. example: connector credential_data: type: object description: 'An object that contains special information that must be included in the credential. This information is securely encrypted and stored, and isn''t visible to users. You must include data such as the `client_id` and `client_secret` for the provider auth application.' example: client_id: 3805ABCD1234-ABCD1234uv02m.apps.googleusercontent.com client_secret: Ilg....01pe8db - type: object title: Service Account description: Service account credential for Google App Permission. required: - name - credential_type - credential_data properties: name: type: string description: The name of the credential. Must be unique. example: My first Google credential credential_type: type: string description: The type of the credential. For the App Permission flow (currently supported for [Google App Permission](/docs/v3/auth/bulk-auth-grants/#google-app-permission-via-nylas) only), the type must be `serviceaccount`. example: serviceaccount credential_data: type: object description: An object that specifies some special information required for the credential. This information is securely encoded and stored, and is _not_ visible to end users.

For the [Google App Permission flow](/docs/v3/auth/bulk-auth-grants/#google-app-permission-via-nylas), this field must contain the `private_key_id`, `private_key`, and `client_email`. example: type: service_account project_id: marketplace-sa-test private_key_id: abcd1234defg5678 private_key: '-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY----- ' client_email: some-name@marketplace-sa-test.iam.gserviceaccount.com client_id: '123456789' auth_uri: https://accounts.google.com/o/oauth2/auth token_uri: https://oauth2.googleapis.com/token auth_provider_x509_cert_url: https://www.googleapis.com/oauth2/v1/certs client_x509_cert_url: https://www.googleapis.com/robot/v1/metadata/x509/some-name%40marketplace-sa-test.iam.gserviceaccount.com - type: object title: Admin Consent description: Admin consent credential for Microsoft bulk auth. required: - name - credential_type - credential_data properties: name: type: string description: The name of the credential. Must be unique. example: My Microsoft Admin Consent credential credential_type: type: string description: The type of the credential. For the [Microsoft Admin Consent flow](/docs/v3/auth/bulk-auth-grants/#use-a-microsoft-bulk-authentication-grant), the type must be `adminconsent`. example: adminconsent credential_data: type: object description: 'An object that specifies some special information required for the credential. This information is securely encoded and stored, and isn''t visible to users. For the Microsoft Admin Consent 2.0 flow, this field must contain the `tenant` (either yours or the user''s). If you don''t specify the Azure `client_id` and `client_secret` Nylas uses the information from your Nylas application''s Microsoft connector.' example: client_id: 2f70ABCD-1234-ABCD-1234-ABCD0316be16 client_secret: yhg7.....6BoK4j tenant: 2f70ABCD-5678-DEFG-5678-ABCD0316be16 responses: '201': content: application/json: schema: type: object properties: request_id: type: string description: The request ID. example: 5967ca40-a2d8-4ee0-a0e0-6f18ace39a90 data: $ref: '#/components/schemas/CredentialObject' description: The credential is created. '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/400' '401': description: Not Authenticated content: application/json: schema: $ref: '#/components/schemas/401' x-code-samples: - lang: bash label: cURL source: "curl --request POST \\\n --url 'https://api.us.nylas.com/v3/connectors//creds' \\\n --header 'Content-Type: application/json' \\\n --header 'Accept: application/json' \\\n --header 'Authorization: Bearer ' \\\n --data '{\n \"name\": \"CONNECTOR\",\n \"credential_type\": \"connector\",\n \"credential_data\": {\n \"client_id\": \"\", // PROVIDER_CLIENT_ID or NYLAS_CLIENT_ID, depending on credential type.\n \"client_secret\": \"\" // PROVIDER_CLIENT_SECRET or NYLAS_CLIENT_SECRET, depending on credential type.\n }\n }'" - lang: javascript label: Node.js SDK source: "import Nylas, { CredentialType } from \"nylas\";\n\nconst nylas = new Nylas({\n apiKey: \"\",\n apiUri: \"\",\n});\n\nconst credential = await nylas.connectors.credentials.create({\n provider: \"google\",\n requestBody: {\n name: \"Google connector override\",\n credentialType: CredentialType.CONNECTOR,\n credentialData: {\n client_id: \"\",\n client_secret: \"\",\n },\n },\n});\n\nconsole.log(\"Credential created:\", credential);\n" - lang: python label: Python SDK source: "from nylas import Client\n\nnylas = Client(\n \"\",\n \"\",\n)\n\ncredential = nylas.connectors.credentials.create(\n provider=\"google\",\n request_body={\n \"name\": \"Google connector override\",\n \"credential_type\": \"connector\",\n \"credential_data\": {\n \"client_id\": \"\",\n \"client_secret\": \"\",\n },\n },\n)\n\nprint(\"Created credential:\", credential)\n" - lang: java label: Java SDK source: "import com.nylas.NylasClient;\nimport com.nylas.models.AuthProvider;\nimport com.nylas.models.Credential;\nimport com.nylas.models.CreateCredentialRequest;\nimport com.nylas.models.CredentialData;\nimport com.nylas.models.NylasApiError;\nimport com.nylas.models.NylasSdkTimeoutError;\nimport com.nylas.models.Response;\n\npublic class CreateCredential {\n public static void main(String[] args) throws NylasSdkTimeoutError, NylasApiError {\n NylasClient nylas = new NylasClient.Builder(\"\").build();\n\n CredentialData.ConnectorOverride credentialData = new CredentialData.ConnectorOverride(\n \"\", \"\", null);\n\n CreateCredentialRequest requestBody = new CreateCredentialRequest.Connector(\n \"Google connector override\", credentialData);\n\n Response credential = nylas.connectors().credentials()\n .create(AuthProvider.GOOGLE, requestBody);\n\n System.out.println(\"Credential created: \" + credential.getData());\n }\n}\n" - lang: kotlin label: Kotlin SDK source: "import com.nylas.NylasClient\nimport com.nylas.models.AuthProvider\nimport com.nylas.models.CreateCredentialRequest\nimport com.nylas.models.CredentialData\n\nfun main() {\n val nylas = NylasClient.Builder(\"\").build()\n\n val credentialData = CredentialData.ConnectorOverride(\n clientId = \"\",\n clientSecret = \"\")\n\n val requestBody = CreateCredentialRequest.Connector(\n name = \"Google connector override\",\n credentialData = credentialData)\n\n val credential = nylas.connectors().credentials().create(AuthProvider.GOOGLE, requestBody)\n\n println(\"Credential created: ${credential.data}\")\n}\n" get: operationId: get_credential_all tags: - Connector credentials summary: List credentials description: List credentials for the specified provider. security: - NYLAS_API_KEY: [] parameters: - in: query name: limit description: Limit the number of credentials Nylas returns. schema: type: integer default: 10 - in: query name: offset description: Offset the results. schema: default: 0 type: integer - in: query name: sort_by description: Sort the returned credentials using the contents of the specified field. schema: type: string default: created_at enum: - created_at - updated_at - in: query name: order_by description: Specify the sort order of returned credentials. schema: type: string default: desc enum: - desc - asc - $ref: '#/components/parameters/provider' responses: '200': content: application/json: schema: type: object properties: request_id: type: string description: The request ID. example: 5967ca40-a2d8-4ee0-a0e0-6f18ace39a90 data: type: array items: $ref: '#/components/schemas/CredentialObject' limit: type: integer example: 10 offset: type: integer example: 0 description: Returns an array of Credential objects. '401': description: Not Authenticated content: application/json: schema: $ref: '#/components/schemas/401' '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/404' x-code-samples: - lang: bash label: cURL source: "curl --request GET \\\n --url 'https://api.us.nylas.com/v3/connectors//creds' \\ \n --header 'Accept: application/json' \\\n --header 'Authorization: Bearer ' \\" - lang: javascript label: Node.js SDK source: "import Nylas from \"nylas\";\n\nconst nylas = new Nylas({\n apiKey: \"\",\n apiUri: \"\",\n});\n\nconst credentials = await nylas.connectors.credentials.list({\n provider: \"google\",\n});\n\nconsole.log(\"Credentials:\", credentials);\n" - lang: python label: Python SDK source: "from nylas import Client\n\nnylas = Client(\n \"\",\n \"\",\n)\n\ncredentials = nylas.connectors.credentials.list(\n provider=\"google\",\n query_params={\n \"limit\": 50,\n },\n)\n\nprint(\"Credentials:\", credentials)\n" - lang: java label: Java SDK source: "import com.nylas.NylasClient;\nimport com.nylas.models.AuthProvider;\nimport com.nylas.models.Credential;\nimport com.nylas.models.ListResponse;\nimport com.nylas.models.NylasApiError;\nimport com.nylas.models.NylasSdkTimeoutError;\n\npublic class ListCredentials {\n public static void main(String[] args) throws NylasSdkTimeoutError, NylasApiError {\n NylasClient nylas = new NylasClient.Builder(\"\").build();\n\n ListResponse credentials = nylas.connectors().credentials().list(AuthProvider.GOOGLE);\n\n System.out.println(\"Credentials: \" + credentials.getData());\n }\n}\n" - lang: kotlin label: Kotlin SDK source: "import com.nylas.NylasClient\nimport com.nylas.models.AuthProvider\n\nfun main() {\n val nylas = NylasClient.Builder(\"\").build()\n\n val credentials = nylas.connectors().credentials().list(AuthProvider.GOOGLE)\n\n println(\"Credentials: ${credentials.data}\")\n}\n" /v3/connectors/{provider}/creds/{id}: get: operationId: get_credential_by_id tags: - Connector credentials summary: Get credential description: Return a credential with the specified ID. security: - NYLAS_API_KEY: [] parameters: - $ref: '#/components/parameters/provider' - $ref: '#/components/parameters/id' responses: '200': content: application/json: schema: type: object properties: request_id: type: string description: The request ID. example: 5967ca40-a2d8-4ee0-a0e0-6f18ace39a90 data: $ref: '#/components/schemas/CredentialObject' description: Returns the credential with the specified ID. '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/400' '401': description: Not Authenticated content: application/json: schema: $ref: '#/components/schemas/401' x-code-samples: - lang: bash label: cURL source: "curl --request GET \\\n --url 'https://api.us.nylas.com/v3/connectors//creds/' \\\n --header 'Accept: application/json' \\\n --header 'Authorization: Bearer ' \\" - lang: javascript label: Node.js SDK source: "import Nylas from \"nylas\";\n\nconst nylas = new Nylas({\n apiKey: \"\",\n apiUri: \"\",\n});\n\nconst credential = await nylas.connectors.credentials.find({\n provider: \"google\",\n credentialsId: \"\",\n});\n\nconsole.log(\"Credential:\", credential);\n" - lang: python label: Python SDK source: "from nylas import Client\n\nnylas = Client(\n \"\",\n \"\",\n)\n\ncredential = nylas.connectors.credentials.find(\n provider=\"google\",\n credential_id=\"\",\n)\n\nprint(\"Credential:\", credential)\n" - lang: java label: Java SDK source: "import com.nylas.NylasClient;\nimport com.nylas.models.AuthProvider;\nimport com.nylas.models.Credential;\nimport com.nylas.models.NylasApiError;\nimport com.nylas.models.NylasSdkTimeoutError;\nimport com.nylas.models.Response;\n\npublic class FindCredential {\n public static void main(String[] args) throws NylasSdkTimeoutError, NylasApiError {\n NylasClient nylas = new NylasClient.Builder(\"\").build();\n\n Response credential = nylas.connectors().credentials()\n .find(AuthProvider.GOOGLE, \"\");\n\n System.out.println(\"Credential: \" + credential.getData());\n }\n}\n" - lang: kotlin label: Kotlin SDK source: "import com.nylas.NylasClient\nimport com.nylas.models.AuthProvider\n\nfun main() {\n val nylas = NylasClient.Builder(\"\").build()\n\n val credential = nylas.connectors().credentials().find(AuthProvider.GOOGLE, \"\")\n\n println(\"Credential: ${credential.data}\")\n}\n" patch: operationId: patch_credential_by_id tags: - Connector credentials summary: Update a connector credential description: 'Updates the specified connector credential. When you make a `PATCH` request, Nylas replaces all data in the nested object with the information included in your request. For more information, see Updating objects.' security: - NYLAS_API_KEY: [] parameters: - $ref: '#/components/parameters/provider' - $ref: '#/components/parameters/id' requestBody: required: true description: '' content: application/json: schema: type: object properties: name: type: string description: The credential name. example: My first Google credential credential_data: description: 'An object that specifies some special information required for the credential. This information is securely encoded and stored, and is _not_ visible to users. For the [Google App Permission flow](/docs/v3/auth/bulk-auth-grants/#google-app-permission-via-nylas), this field must contain the `private_key_id`, `private_key`, and `client_email`. For the [Microsoft App Permission flow](/docs/v3/auth/bulk-auth-grants/#use-a-microsoft-bulk-authentication-grant), this field must contain the Azure `client_id` and `client_secret`. To use the credential to override a connector, this field must contain the `client_id` and `client_secret`.' example: type: service_account project_id: marketplace-sa-test private_key_id: abcd1234defg5678 private_key: '-----BEGIN PRIVATE KEY----- ... -----END PRIVATE KEY----- ' client_email: some-name@marketplace-sa-test.iam.gserviceaccount.com client_id: '123456789' auth_uri: https://accounts.google.com/o/oauth2/auth token_uri: https://oauth2.googleapis.com/token auth_provider_x509_cert_url: https://www.googleapis.com/oauth2/v1/certs client_x509_cert_url: https://www.googleapis.com/robot/v1/metadata/x509/some-name%40marketplace-sa-test.iam.gserviceaccount.com type: object responses: '200': content: application/json: schema: type: object properties: request_id: type: string description: The request ID. example: 5967ca40-a2d8-4ee0-a0e0-6f18ace39a90 data: $ref: '#/components/schemas/CredentialObject' description: Returns the updated credential. '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/400' '401': description: Not Authenticated content: application/json: schema: $ref: '#/components/schemas/401' x-code-samples: - lang: bash label: cURL source: "curl --request PATCH \\\n --url 'https://api.us.nylas.com/v3/connectors//creds/' \\\n --header 'Content-Type: application/json' \\\n --header 'Accept: application/json' \\\n --header 'Authorization: Bearer ' \\\n --data '{\n \"name\": \"google\",\n \"credential_data\": {\n \"client_id\": \"\",\n \"client_secret\": \"\"\n }\n }'" - lang: javascript label: Node.js SDK source: "import Nylas from \"nylas\";\n\nconst nylas = new Nylas({\n apiKey: \"\",\n apiUri: \"\",\n});\n\nconst updated = await nylas.connectors.credentials.update({\n provider: \"google\",\n credentialsId: \"\",\n requestBody: {\n name: \"google\",\n credentialData: {\n client_id: \"\",\n client_secret: \"\",\n },\n },\n});\n\nconsole.log(\"Credential updated:\", updated);\n" - lang: python label: Python SDK source: "from nylas import Client\n\nnylas = Client(\n \"\",\n \"\",\n)\n\ncredential = nylas.connectors.credentials.update(\n provider=\"google\",\n credential_id=\"\",\n request_body={\n \"name\": \"Updated connector override\",\n },\n)\n\nprint(\"Updated credential:\", credential)\n" - lang: java label: Java SDK source: "import com.nylas.NylasClient;\nimport com.nylas.models.AuthProvider;\nimport com.nylas.models.Credential;\nimport com.nylas.models.CredentialData;\nimport com.nylas.models.NylasApiError;\nimport com.nylas.models.NylasSdkTimeoutError;\nimport com.nylas.models.Response;\nimport com.nylas.models.UpdateCredentialRequest;\n\npublic class UpdateCredential {\n public static void main(String[] args) throws NylasSdkTimeoutError, NylasApiError {\n NylasClient nylas = new NylasClient.Builder(\"\").build();\n\n CredentialData.ConnectorOverride credentialData = new CredentialData.ConnectorOverride(\n \"\", \"\", null);\n\n UpdateCredentialRequest requestBody = new UpdateCredentialRequest.Builder()\n .name(\"google\")\n .credentialData(credentialData)\n .build();\n\n Response updated = nylas.connectors().credentials()\n .update(AuthProvider.GOOGLE, \"\", requestBody);\n\n System.out.println(\"Credential updated: \" + updated.getData());\n }\n}\n" - lang: kotlin label: Kotlin SDK source: "import com.nylas.NylasClient\nimport com.nylas.models.AuthProvider\nimport com.nylas.models.CredentialData\nimport com.nylas.models.UpdateCredentialRequest\n\nfun main() {\n val nylas = NylasClient.Builder(\"\").build()\n\n val credentialData = CredentialData.ConnectorOverride(\n clientId = \"\",\n clientSecret = \"\")\n\n val requestBody = UpdateCredentialRequest.Builder()\n .name(\"google\")\n .credentialData(credentialData)\n .build()\n\n val updated = nylas.connectors().credentials()\n .update(AuthProvider.GOOGLE, \"\", requestBody)\n\n println(\"Credential updated: ${updated.data}\")\n}\n" delete: operationId: delete_credential_by_id tags: - Connector credentials summary: Delete credential description: 'Deletes the credential with the specified ID. You can''t delete a connector''s default (active) credential, only a non-default one. Any grants that use the deleted credential stop working right away. To learn what gets removed and when, see Deleting resources and data.' security: - NYLAS_API_KEY: [] parameters: - $ref: '#/components/parameters/provider' - $ref: '#/components/parameters/id' responses: '200': content: application/json: schema: type: object properties: request_id: type: string description: The request ID. example: 5967ca40-a2d8-4ee0-a0e0-6f18ace39a90 description: The credential is deleted from the database. '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/400' '401': description: Not Authenticated content: application/json: schema: $ref: '#/components/schemas/401' x-code-samples: - lang: bash label: cURL source: "curl --request DELETE \\\n --url 'https://api.us.nylas.com/v3/connectors//creds/' \\\n --header 'Accept: application/json' \\\n --header 'Authorization: Bearer ' \\" - lang: javascript label: Node.js SDK source: "import Nylas from \"nylas\";\n\nconst nylas = new Nylas({\n apiKey: \"\",\n apiUri: \"\",\n});\n\nconst result = await nylas.connectors.credentials.destroy({\n provider: \"google\",\n credentialsId: \"\",\n});\n\nconsole.log(\"Deleted:\", result);\n" - lang: python label: Python SDK source: "from nylas import Client\n\nnylas = Client(\n \"\",\n \"\",\n)\n\nresponse = nylas.connectors.credentials.destroy(\n provider=\"google\",\n credential_id=\"\",\n)\n\nprint(\"Credential deleted:\", response)\n" - lang: java label: Java SDK source: "import com.nylas.NylasClient;\nimport com.nylas.models.AuthProvider;\nimport com.nylas.models.DeleteResponse;\nimport com.nylas.models.NylasApiError;\nimport com.nylas.models.NylasSdkTimeoutError;\n\npublic class DeleteCredential {\n public static void main(String[] args) throws NylasSdkTimeoutError, NylasApiError {\n NylasClient nylas = new NylasClient.Builder(\"\").build();\n\n DeleteResponse result = nylas.connectors().credentials()\n .destroy(AuthProvider.GOOGLE, \"\");\n\n System.out.println(\"Deleted: \" + result);\n }\n}\n" - lang: kotlin label: Kotlin SDK source: "import com.nylas.NylasClient\nimport com.nylas.models.AuthProvider\n\nfun main() {\n val nylas = NylasClient.Builder(\"\").build()\n\n val result = nylas.connectors().credentials().destroy(AuthProvider.GOOGLE, \"\")\n\n println(\"Deleted: $result\")\n}\n" components: schemas: CredentialObject: type: object additionalProperties: false required: - id - name - created_at - updated_at properties: id: type: string description: Credential ID example: e19f8e1a-eb1c-41c0-b6a6-d2e59daf7f47 name: description: Unique name of this credential type: string example: My first Google credential created_at: type: integer description: Date of creation of the credential example: 1617817109 updated_at: type: integer description: Initially same as `created_at`. Can differ if the credential has been updated. example: 1617817109 '401': type: object required: - request_id - error additionalProperties: false properties: request_id: description: ID of the request type: string example: 5967ca40-a2d8-4ee0-a0e0-6f18ace39a90 error: description: Error object type: object properties: type: type: string description: Type of error example: invalid_request_error message: description: Informative error message default: Authentication error type: string example: Authentication error provider_error: description: (OPTIONAL) informative error message from provider's side type: object example: error: invalid_grant provider_error: Bad Request '400': type: object required: - request_id - error additionalProperties: false properties: request_id: description: ID of the request type: string example: 5967ca40-a2d8-4ee0-a0e0-6f18ace39a90 error: description: Error object type: object properties: type: type: string description: Type of error example: bad_request message: description: Informative error message default: Bad request type: string example: Bad request provider_error: description: (OPTIONAL) informative error message from provider's side type: object example: error: invalid_grant provider_error: Bad Request '404': type: object required: - request_id - error additionalProperties: false properties: request_id: description: ID of the request type: string example: 5967ca40-a2d8-4ee0-a0e0-6f18ace39a90 error: description: Error object type: object properties: type: type: string description: Type of error example: xyz.not_found_error message: description: Informative error message default: Resource not found type: string example: Resource not found provider_error: description: (OPTIONAL) informative error message from provider's side type: object example: error: invalid_grant provider_error: Bad Request parameters: id: name: id required: true in: path schema: type: string example: e19f8e1a-eb1c-41c0-b6a6-d2e59daf7f47 provider: name: provider in: path required: true schema: type: string enum: - google - microsoft - imap - icloud - yahoo - ews - virtual-calendar - zoom - nylas example: google securitySchemes: ACCESS_TOKEN: scheme: bearer type: http bearerFormat: NYLAS_ACCESS_TOKEN description: 'The Nylas **access token** for a specific grant. Issued as part of OAuth 2.1 flow token exchange.' NYLAS_API_KEY: scheme: bearer type: http bearerFormat: NYLAS_API_KEY description: 'The Nylas **API key** provides application-level access to APIs and all grants. You can generate these from the Dashboard. Learn more about [authorizing requests](/docs/v3/auth/).' SCHEDULER_SESSION_TOKEN: scheme: bearer type: http bearerFormat: Session ID description: The Nylas Scheduler **session ID** that Scheduler UI Components use to authorize API requests.