Skip to main content

Create & Test API Call

On this page, you will learn how to create and test the API call.

Creating API calls

To use an API in your app, first, you have to create the API Call.

Follow the steps below to create an API Call:

  1. Select API Calls from the left Navigation Menu.
  2. Click on the + Add button and select Create API Call.
  3. Enter the API Call Name.
  4. Select the Method Type: GET, POST, DELETE, PUT, or PATCH.
  5. Enter the API URL of the service you want to access.
note

If you want to use a dynamic URL, for example, <https://reqres.in/api/users/2> where 2 is dynamic and <https://reqres.in/api/users?page=5> where 5 is dynamic:

  1. Replace the hard-coded value with a meaningful name inside the brackets (e.g., from https://reqres.in/api/users/2to https://reqres.in/api/users/[user_id]).
  2. And then, create a new variable with the same name you provided inside the brackets.

The further instructions are based on the Method Type you selected.

For GET & DELETE call

If you selected GET or DELETE as the method type, follow the steps below:

  1. Optional: If the API call requires request headers such as an authorization token, add a header.
  2. Optional: If the API call requires query parameters such as page number or user id, add query parameters.
  3. Click Add Call to save the API Call.
warning

After making any changes, you must save the API call.

In the above demo, a GET API call is defined to fetch users' data from REQ | RES (which provides hosted REST API to try out HTTP requests).

A demo of using a dynamic URL in a GET request is as follows:

To add such an API call:

  1. Replace the hard-coded value with a meaningful name inside the brackets (e.g., from https://reqres.in/api/users/2to https://reqres.in/api/users/[user_id]).
  2. And then, create a new variable with the same name you provided inside the brackets.

The DELETE API Call can also be defined similarly; just make sure you select the Method Type as DELETE.

For POST, PUT & PATCH call

If you have selected POST request, follow the steps below:

  1. Optional: If the API call requires request headers such as an authorization token, add a header.
  2. Create a request body for the API call.
  3. Click Add Call to save the API Call.
warning

After making any changes, you must save the API call.

In this demo, a POST API call is defined with two variables, userName and userJob. The variables are used inside the JSON request body.

The PUT and PATCH API calls can be defined similarly; make sure you enter a valid API URL endpoint and select the correct Method Type.

Grouping API calls

You can create a group of API calls that share the same base URL. Grouping the API calls helps you add all request headers (e.g., auth token) at once, and they will be automatically added for all the API calls inside the group.

warning

For private APIs, headers defined within the group will not be automatically included. You'll need to manually add headers for APIs marked as private.

To create the API Group:

  1. Click on the + button (top left side) and select the Create API Group.
  2. Enter the API Group Name.
  3. Enter the API Base URL. This should be the portion that is common in all the APIs. Note: Do not keep the '/' in the end.
  4. You can add request headers by clicking on the + Add Header button. See detailed instructions on how to add headers.
  5. Click Add Group. This will display the group on the left side.
  6. Open the newly created API group, and click on the + Add API Call.
  7. Add the API call as you would normally do. Note: Inside the API endpoint, enter the URL portion that starts after the base URL.

Import API definitions

We allow you to add multiple API call definitions by importing them directly from the Swagger/OpenAPI in bulk. With just a simple click, you can add a large number of APIs, significantly reducing the time and effort needed to create them manually.

Furthermore, the ability to import Swagger/OpenAPI definitions directly into FlutterFlow eliminates the risk of errors that may occur when creating API definitions manually, ensuring that applications are reliable and efficient.

info

We also add all settings that are required to run the API, such as headers, query parameters, variables, and body as they are defined in the Swagger file. However, you might need to replace the hard-coded values in Body text with the variables.

warning

Please note that while it is possible to import APIs created with OAS 2.0 in FlutterFlow, you might face some issues, such as the body request being lost during the import process. Our import functionality is built based on the OAS 3.0 standard, so for the best experience and compatibility, it is recommended to use APIs that adhere to OAS 3.0 or above.

To import API call definitions:

  1. Click the Import OpenAPI icon. This will open a new popup.
  2. Click Upload File. Here you can upload your swagger file available in .yml or .json file format.
  3. After the import is successful, you will see the list of all APIs created and added as a group.

Here's an example of importing API calls in bulk, taken from here.

Testing API calls

You should always test your API call before using it inside your app. We make it easy for you to try the API call inside our builder.

To test the API call along with its response, follow the steps below:

  1. Select an API call you have already created or are currently defining, and go to the Response & Test tab.
  2. On the left side, you will see the Variables section, where you can enter the values for the variables defined for your API call.
  3. On the right, the Preview section lets you check the API URL, request headers, request body, and response. In the Test Response tab, you can view the full API response, including both the JSON format and raw body text, as well as the response header.
  4. Click Test API Call to trigger the API call. You'll notice that the status of the GET request is displayed, and if it's successful (status code 200), the result returned from that request will also be displayed below.
  5. Any value of the JSON result can be accessed by defining the JSON path.

The demo below shows the testing of creating a new user using a POST request. The API Call takes two variables: userName and userJob. The successful POST request returns a status code of 201.

info

The testing of PUT and PATCH requests would also be similar to this.

Trigger API calls [Action]

Using this action, you can trigger the API Call defined in your project.

tip

You can also add the API Call as a Backend Query that gets triggered automatically when the page or widget is loaded on the screen.

Go to your project and follow the steps below to define the Action to any widget.

  1. Select the Widget (e.g., Button) on which you want to define the action.
  2. Select Actions from the Properties panel (the right menu), and click Open. This will open an Action Flow Editor in a new popup window.
  3. Click on the + Add Action.
  4. On the right side, search and select the API Call (under Backend/Database) action.
    1. Select the Group or Call Name from the dropdown.
    2. Optional: If your API call requires variables (e.g., auth token, query parameters, user id, etc.), pass their value by clicking on the + Variable button.
    3. The Action Output Variable Name helps you retrieve the response of an API call. By default, we set it to any random name. However, you can change it to a meaningful name if you wish to. (e.g., loginResponse).
    4. You can add a conditional action that checks if the API call is succeeded.
    5. If the API call is succeeded, all actions under the TRUE path will be executed. For example, navigate to the home page if the login is successful.
    6. If the API call is failed, all actions under the FALSE path will be executed. For example, showing a snackbar if the login is unsuccessful.

Was this article helpful?