# Request timeouts on Bravo

When performing an API request from a mobile app built with Bravo, both from Bravo Vision and a published app, an HTTP request message is sent to the Bravo servers. Then, another request is sent to the corresponding remote API, which is responsible for building the HTTP response. The communication schema for the API request is shown below.

![](/files/-Mj4frAs_to7KYJSlLkq)

Due to connection problems, misconfigurations or other errors, it might happen that either the Bravo servers or the remote API servers are unable to receive and process the HTTP request, and are therefore unable to complete the communication. In case this happens, timeout and connection retry strategies are applied.

## Client-side connection timeouts and retries

Sometimes, the client-side requests (sent from the mobile app) can't reach the Bravo servers. Normally, this happens when there are network errors, for instance, due to poor Internet connection from the mobile device.

In these cases, the client (mobile app) will retry the request up to 3 times per 1 second. Sometimes, the network issues are temporary - for instance, the phone user passing by an area with bad coverage.

In case the Bravo servers don't give any response within **60 seconds** (this timeout is enforced both on Android and iOS), a **timeout error** will be raised, and the end users will see a network error screen on the app.

## How Bravo servers process the requests

Requests are processed using a throttling algorithm. This means some rate limits are applied to enforce the quality of service.

When the remote API server is unreachable from Bravo servers, no retry strategies are applied. Besides, the following timeout limits are applied:

* 3s of connection timeout / 5s total duration limit for GET requests
* 8s of connection timeout / 10s total duration limit for non-GET requests.

Once these timeouts are reached, a timeout error is returned.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.bravostudio.app/good-to-know/troubleshoot/errors-in-api-requests/request-timeouts-on-bravo.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
