Skip to main content

HTTP Response Status Codes

Overview

This document provides a comprehensive overview of the HTTP response status codes return by Memfault's API, including their meanings, causes, and recommended client handling.

HTTP Codes

Status CodeNameDescriptionRetry Behavior
2xx Success Codes
200Success

The request was successful. If an action was requested, it was performed synchronously. Data has been returned.

Do not retry
202Accepted

The request was successful. If an action was requested, it is performed asynchronously.

Do not retry
204No Content

The request was successful. If an action was requested, it was performed synchronously. There is no data returned.

Do not retry
4xx Error Codes
400Bad Request

The server can not process the request due to a client error. Please refer to API documentation, or contact us.

Do not retry
401Unauthorized

The client is not authenticated or has missing credentials in the request.

Do not retry
403Forbidden

Access to this resource has not been granted. Can also be a result of a quota limit or Memfault plan.

Do not retry
405Method Not AllowedThe route or method implementation does not exist.Do not retry
409ConflictA duplicate resource exists.Do not retry
429Too Many RequestsThe rate limit has been hit.

Do not retry. If Retry-After header is present, retry after given seconds.

5xx Success Codes
500Internal Server Error

This shouldn't happen! If seen, please contact us.

Do not retry
502Bad Gateway

This shouldn't happen! If seen, please contact us.

Retry with exponential backoff
503Service UnavailableMemfault is down for maintenance.Retry with exponential backoff
504Gateway Timeout

The request took too long. If seen, please contact us.

Retry with exponential backoff

Retries With Exponential Backoff

For HTTP requests identified for retry in the table above, Memfault recommends up to five retry attempts with an exponential backoff of 23n2^{3n} seconds between attempts (where nn is the retry number). The example retry strategy follows.

Retry AttemptWait Time (seconds)
18
264
3512
44096
532,768