Version:
Only show these results:

Nylas error responses: 500-599

500 responses return when there is an error on the server side.

Error 500 - Server Error

Cause
An error occurred in the Nylas server.

Solution
If this persists, see the Nylas status page.

Error 502 - Server Error

Cause
An error occurred in the Nylas server.

Solution
If this persists, see the Nylas status page.

Error 503 - Server Unavailable

Microsoft

Error 503’ Throttle Header, 'X-MS-ASThrottle: CommandFrequency

Cause
There are too many commands.

Solution

  • Managed Exchange accounts should contact the administrator to increase the threshold for CommandFrequency.
  • The default value for CommandFrequency is to block after 400 commands in 10 minutes. Block for 20 minutes.

Error 503 - Server Error

Cause
An error occurred in the Nylas server.

Solution
If this persists, see our status page or contact support.

Error 504 - Provider Error

Status 504 usually means Nylas is having trouble connecting to the provider. The error message indicates the details of the failure.
In most cases if you use an exponential back-off retry, the request will eventually succeed. Some common reasons a request could fail with status 504 are listed below.

Request timed out

This error happens when a request takes a very long time to process. Nylas has a request deadline of 90 seconds. Nylas terminates any request that takes longer than 90 seconds, which results in a request timeout.

Here are some common reasons why a request takes long, and how you can prevent them.

  1. For Microsoft, one thread request can trigger Nylas to make many individual Microsoft Graph API requests in the back end. This is known as "request fanout". Nylas has to make at least one Microsoft Graph API Graph request per message for each thread API request. The total time of all of these combined Graph API requests can easily exceed 90 seconds. To avoid this, try to retrieve, update, or delete the individual messages of a thread instead of the thread itself. If you are experiencing timeout during thread listing, try with a smaller limit.
  2. For On-premises Exchange, a request can time out when the Exchange server has too many requests to process. When this happens you might also see status 429 rate limit errors. When an Exchange server is overloaded, it can tell new requests to wait and retry. The wait time might be around 90 seconds, which means that if the request goes through it will already be close to the Nylas timeout. To avoid this, try spread out your requests and add exponential back-off retries.
  3. For IMAP, a request can time out when the email server is very slow. Updating or deleting a thread or message typically takes a long time on IMAP. Downloading attachments can also take a long time if the file is very large. There is nothing Nylas can do in these cases as this is an issue with the IMAP provider's server, and Nylas does not control or administer the provider's servers. Your best course of action is to contact the IMAP administrator and tell them to scale up their servers.

IMAP server errors

This error happens when an IMAP server does not support certain operations, such as renaming or removing a system folder. It can also happen if the IMAP server is unstable.

There is nothing Nylas can do in these cases as this is an issue with the IMAP provider's server, and Nylas does not control or administer the provider's servers. Your best course of action is to contact the IMAP administrator and ask them to support specific IMAP commands or find out what is making the server unstable (and fix it).

Internal errors

Sometimes, the Google API and Microsoft Graph API return internal errors. This is usually caused by bugs in the Google or Microsoft API. Contact Nylas support if you encounter this very often.

Error 550 - Service Unavailable

The message was classified as spam and may not be delivered.

Cause

Some email providers review all outbound emails through their spam filter before sending, to preserve their email-sending reputation. Spam filters work by comparing emails to an extensive list of matching behaviors and giving each behavior a score. We return that the email was blocked for spam in the API response, but we don't have any visibility into exactly what caused the block.

Solution

Take a look at our docs on Dealing with spam.