Call REST Endpoint task

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.

    For information about granting roles to a service account, see Manage access to service accounts.

  • Ensure that VPC Service Controls is NOT setup for Apigee Integration in your Google Cloud project.

Configure the Call REST Endpoint task

To configure the Call REST Endpoint task:

  1. In the Apigee UI, select your Apigee Organization.
  2. Click Develop > Integrations.
  3. Select an existing integration or create a new integration by clicking Create Integration.

    If you are creating a new integration:

    1. Enter a name and description in the Create Integration dialog.
    2. Select a Region for the integration from the list of supported regions.
    3. Click Create.

    This opens the integration in the integration designer.

  4. In the integration designer navigation bar, click +Add a task/trigger > Tasks to view the list of available tasks.
  5. Click and place the Call REST Endpoint element in the integration editor.
  6. Click the Call REST Endpoint element on the designer to view the Call REST Endpoint task configuration pane.
  7. 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.

Property Data type Description
Label String Optional: add a label for your task.
Authentication String Optional: configures and stores the authentication details for connections to external systems. For more information, see Create authentication profiles in Apigee Integration.
Endpoint base URL String REST endpoint URL without the query parameters.
HTTP method NA HTTP method to use.

You can select any of the following HTTP methods:

  • DELETE
  • GET
  • HEAD
  • PATCH
  • POST
  • PUT
URL query string parameters Query string key : String

Value: String

Query parameters required for the REST API call.

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.

To learn how to handle retry strategies for 4xx or 5xx errors, see the How to retry Rest Caller Task based on Response Status blog.