The Call REST Endpoint task lets you call any third-party REST
API from your integration. The response from the REST API call will be available to
you in an integration variable and can be used in other down-stream tasks.
Before you begin
To connect to an authentication endpoint for the REST API call, ensure that you have either created
an OAuth 2.0 profile or attached a user-managed service account to your integration. If your API does not require authentication, then the Authentication profile field in the task configuration pane can be left empty. To see a list of configurations, see Configuration properties.
If your integration has both OAuth 2.0 profile and a user-managed service account configured, then by default the OAuth 2.0 profile is used for authentication. If neither OAuth 2.0 profile nor user-managed service account is configured, then the execution fails.
If your integration has a service account attached, then based on the REST endpoint URL, grant the required IAM role to that service account. For example, if your REST endpoint URL calls a Cloud Storage service, then grant the required IAM role for the Cloud Storage service.
The Integrations page appears listing all the integrations available in the Google Cloud project.
Select an existing integration or click Create integration to create a new one.
If you are creating a new integration:
Enter a name and description in the Create Integration pane.
Select a region for the integration.
Select a service account for the integration. You can change or update the service account details of an integration any time from the infoIntegration summary pane in the integration toolbar.
Click Create. The newly created integration opens in the integration editor.
In the integration editor navigation bar, click Tasks to view the list of available tasks and connectors.
Click and place the Call REST Endpoint element in the integration editor.
Click the Call REST Endpoint element on the designer to view the Call REST Endpoint task
configuration pane.
Configure the displayed fields using the configuration properties of the task as detailed in the table below.
Changes to the properties are saved automatically.
Configuration properties
The following table describes the configuration properties of the Call REST Endpoint task.
The query parameters are in the form of key-value pairs where key is the key name
and the value is the corresponding key value. You can enter more than one key-value
pair by clicking on the plus icon.
HTTP headers
HTTP header key: String
Value: String
HTTP headers required for the REST API call.
The HTTP headers are in the form of key-value pairs where key is the key name and the
value is the corresponding key value. You can enter more than one key-value pair
by clicking on the plus icon.
Follow redirects
Boolean
Follow URL redirects.
You can select any one of the values:
True : Calls the redirected URL if the Endpoint base URL
is forwarded to another URL.
False: Does not call the redirected URL if the Endpoint base URL
is forwarded to another URL.
Task should fail on HTTP error
Boolean
Exception handling strategy when the REST API call fails.
The Call REST Endpoint fails if the HTTP response code is 4xx or 5xx. For a list of error codes, see Error codes. For other HTTP response codes, return error code and error message in the response.
You can select any one of the values:
True : Throws an exception.
False: Does not throw an exception. But returns the
error code and the error message in the response.
Response header (<Task name>)
String
Uncompressed response header from the REST APIs response.
Response body (<Task name>)
String
Uncompressed response body from the REST APIs response.
Response status (<Task name>)
String
HTTP response code and the corresponding code text from the REST APIs response.
Best practices
For information about the usage limits that apply to the Call REST Endpoint task, see Usage limits.
Error handling strategy
An error handling strategy for a task specifies the action to take if the task fails due to a temporary error. For information about how to use an error handling strategy, and to know about the different types of error handling strategies, see Error handling strategies.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-26 UTC."],[[["\u003cp\u003eThe \u003cstrong\u003eCall REST Endpoint\u003c/strong\u003e task enables integrations to interact with any third-party REST API, with the response data being accessible for use in subsequent tasks.\u003c/p\u003e\n"],["\u003cp\u003eThis task is restricted to calling endpoints accessible over the public internet and cannot connect to resources within private networks like VPCs.\u003c/p\u003e\n"],["\u003cp\u003eAuthentication for REST API calls requires either a pre-configured OAuth 2.0 profile or an attached user-managed service account, however, authentication isn't needed if it's not required by the API.\u003c/p\u003e\n"],["\u003cp\u003eThe task supports various HTTP methods (DELETE, GET, HEAD, PATCH, POST, PUT) and allows for the configuration of URL query string parameters and HTTP headers.\u003c/p\u003e\n"],["\u003cp\u003eThe task has a response limit of 50 MB, and you can manage error handling, with the ability to throw exceptions or return error codes and messages based on HTTP status codes.\u003c/p\u003e\n"]]],[],null,["# Call REST Endpoint task\n\nSee the [supported connectors](/integration-connectors/docs/connector-reference-overview) for Application Integration.\n\nCall REST Endpoint task\n=======================\n\nThe **Call REST Endpoint** task lets you call any third-party REST\nAPI from your integration. The response from the REST API call will be available to\nyou in an integration variable and can be used in other down-stream tasks.\n| **Note:**\n|\n| - The network configuration of the **Call REST Endpoint** task allows it to call endpoints only available over the public internet. Hence, the task can't connect to hosts or IPs that reside only within a private network such as a VPC, even if that VPC is peered with your other Google Cloud services such as Apigee X.\n| - This task can process a maximum of 50 MB of REST response.\n\nBefore you begin\n----------------\n\n- To connect to an authentication endpoint for the REST API call, ensure that you have either [created\n an OAuth 2.0 profile](/application-integration/docs/configuring-auth-profile#createAuthProfile) or [attached a user-managed service account](/application-integration/docs/access-control#add-service-account) to your integration. If your API does not require authentication, then the **Authentication profile** field in the task configuration pane can be left empty. To see a list of configurations, see [Configuration properties](#params).\n\n If your integration has both OAuth 2.0 profile and a user-managed service account configured, then by default the OAuth 2.0 profile is used for authentication. If neither OAuth 2.0 profile nor user-managed service account is configured, then the execution fails.\n- If your integration has a service account attached, then based on the REST endpoint URL, grant the required IAM role to that service account. For example, if your REST endpoint URL calls a Cloud Storage service, then grant the required IAM role for the Cloud Storage service. For information about granting roles to a service account, see [Manage access to service accounts](/iam/docs/manage-access-service-accounts).\n\n- Ensure that [VPC Service Controls](/application-integration/docs/vpc-service-controls) is **NOT** setup for Application Integration in your Google Cloud project. **Warning:** **Cloud Function** does not function or stops functioning if [VPC Service Controls](/application-integration/docs/vpc-service-controls) is setup for Application Integration in your Google Cloud project.\n\nConfigure the Call REST Endpoint task\n-------------------------------------\n\nTo configure the **Call REST Endpoint** task:\n\n1. In the Google Cloud console, go to the **Application Integration** page.\n\n [Go to Application Integration](https://console.cloud.google.com/integrations)\n2. In the navigation menu, click **Integrations** .\n\n\n The **Integrations** page appears listing all the integrations available in the Google Cloud project.\n3. Select an existing integration or click **Create integration** to create a new one.\n\n\n If you are creating a new integration:\n 1. Enter a name and description in the **Create Integration** pane.\n 2. Select a region for the integration. **Note:** The **Regions** dropdown only lists the regions provisioned in your Google Cloud project. To provision a new region, click **Enable Region** . See [Enable new region](/application-integration/docs/enable-new-region) for more information.\n 3. Select a service account for the integration. You can change or update the service account details of an integration any time from the info **Integration summary** pane in the integration toolbar. **Note:** The option to select a service account is displayed only if you have enabled integration governance for the selected region.\n 4. Click **Create** . The newly created integration opens in the *integration editor*.\n\n\n4. In the *integration editor* navigation bar, click **Tasks** to view the list of available tasks and connectors.\n5. Click and place the **Call REST Endpoint** element in the integration editor.\n6. Click the **Call REST Endpoint** element on the designer to view the **Call REST Endpoint** task configuration pane.\n7. Configure the displayed fields using the [configuration properties](#params) of the task as detailed in the table below.\n\n\n Changes to the properties are saved automatically.\n | **Note:** If you update the authentication profile for a **Call REST Endpoint** task, and test the integration without publishing the changes, the integration uses the old authentication profile. To ensure that the integration uses the updated authentication profile, you must [publish the integration](https://cloud.google.com/application-integration/docs/test-publish-integrations) before testing.\n\nConfiguration properties\n------------------------\n\n\nThe following table describes the configuration properties of the **Call REST Endpoint** task.\n\nBest practices\n--------------\n\nFor information about the usage limits that apply to the **Call REST Endpoint** task, see [Usage limits](/application-integration/docs/quotas#usage-limits).\n\nError handling strategy\n-----------------------\n\n\nAn error handling strategy for a task specifies the action to take if the task fails due to a [temporary error](/application-integration/docs/error-handling). For information about how to use an error handling strategy, and to know about the different types of error handling strategies, see [Error handling strategies](/application-integration/docs/error-handling-strategy).\n\nTo learn how to handle retry strategies for `4xx` or `5xx` errors, see the [How to retry Rest Caller Task based on Response Status](https://www.googlecloudcommunity.com/gc/Integration-Services/How-to-retry-Rest-Caller-Task-based-on-Response-Status/m-p/618079) blog.\n\nQuotas and limits\n-----------------\n\nFor information about quotas and limits, see [Quotas and limits](/application-integration/docs/quotas).\n\nWhat's next\n-----------\n\n- Learn about [all tasks and triggers](/application-integration/docs/all-triggers-tasks).\n- Learn how to [test and publish an integration](/application-integration/docs/test-publish-integrations).\n- Learn about [error handling](/application-integration/docs/error-handling-strategy).\n- Learn about [integration execution logs](/application-integration/docs/introduction-logs)."]]