API & Data Library
Frequently asked questions about the platform
Last updated
Frequently asked questions about the platform
Last updated
Yes, you can call any API you like using our Data Library and bind the data to your app design on your Projects page. Some APIs will need authentication.
However, our current architecture requires data to pass through our servers, so be mindful of data that are under regulation compliance (i.e. sensitive data).
The data is hosted by the source of your API requests. Bravo doesn’t host any external data, we display external data on mobile by using API calls.
In Data Library, when you are selecting the data retrieved from the Airtable, if you want to populate a list, you need to select All
in the dropdown next to .data.records.[]
to select the entire array, rather than a specific row.
Then, in Binding Setup - first, select the frame that wraps around the design you want to populate. To the right, select Records[]
, which binds the entire list from the Airtable to the frame. Then, click the +
that appears below to add the design elements within that frame that you want to connect.
Airtable displays the data in a random sort through their API. To display the list in a specific way, you need to add a string to the end of the Request URL. For example, if you want to display the list in the order as shown in your Airtable view, add ?view=VIEW_NAME
to the end.
In the screenshot below, this view is called "Grid view", so my request URL would be https://api.airtable.com/v0/appoLJFg3xOzgIHto/Restaurants?view=Grid%20view
.
You can also find more ways to sort & display the data in the Airtable API Documentation of your table, such as ascending/descending, sort by a column, etc.
To modify the order in which your Airtable data appears in your Bravo app, you need to add a sort or view parameter at the end of the API request URL (see this Airtable doc).
For example, if you want to display the data in the same order as you have in Airtable, add the view parameter like this:
https://api.airtable.com/v0/appid123456/Table1?**view=Grid%20view**
If you want to sort alphabetically by the Name column:
https://api.airtable.com/v0/appid123456/Table1?**sort%5B0%5D%5Bfield%5D=Name**
Here is the tutorial (opens in Figma) on how to connect the detail page to the list item selected: https://www.figma.com/file/fQa8tk6sFpEXftcTLPhOK4/Bravo-Tutorial-Connecting-a-list-and-detail-page-to-Airtable-data
Currently, the limit per request is 100 items. You will have to set up the Pagination configuration on your API collection in order to load more than 100 items. Check documentation here!
It depends on how you set up the backend. Bravo does not have an integrated feature where you set up conditionals in Bravo Studio, it simply displays the data it receives from the API. So you can set up a database (Airtable or Google Sheet) that contains conditional formulas, your app sends input content to the database, the database calculates them, then creates or chooses output content to be displayed back in your app.
We have a timeout for GET requests at 3 seconds and for non-GET requests of 10 seconds. This is to avoid having a bad experience, and the API should be faster. Currently, you could edit the design if you add the timeout code as an Error page state: here.
Didn't answer your question? 🧐
Let us know in the Bravo Community so we can further help you!