1. Tasks
  2. API Call

Tasks

API Call

The API Call task is utilized to interact with an external API, enabling the retrieval of data that can be subsequently utilized in subsequent tasks.

Use cases

  • Integrate seamlessly with a REST API endpoint.
  • Perform a POST request with a specified body.
  • Trigger an API call upon executing a specific action.
  • Retrieve data from third-party systems.
  • Call an API endpoint requiring client certificate authentication.
  • Invoke a webhook on a stub.

Basic usage

loading...

Parameters

apiurl
required
string

The endpoint that the task will invoke. If there are any query strings or URL parameters required, they should be specified here.


method
optional
string

The HTTP method to be used for the API call.
For example you can use GET, POST, PUT, DELETE, PATCH. Any HTTP verbs are supported.

Default: GET


headers
optional
object

Any headers that you wish to include in the request. This is where you would typically put the Authorization header.

Default:

loading...

body
optional
object

The body in JSON that you would like to send as part of a PUT or POST request.
The body would typically use variable substitution so that you can replace values with some values from the stub or stubpost.data.


timeout_seconds
optional
number

The seconds after which the apicall will time out.

Default: 15

org_credentials
optional
array or object

The org credentials to use for an API call. This requires setting up the org credentials on the Credentials page of Stubber Manage.

Example:

loading...

response_merge
optional
object

An object that is deep-merged into the apiresult after the API call completes, before the result is made available to subsequent tasks or stub/stubpost data. This allows you to overwrite, hide, or transform fields in the response.

NOTE

response_merge is interpolated using the apicall interpolator, not the standard one. This means interpolation happens after the API call, giving you access to payload.apiresult in your expressions. To target this step explicitly, use the ~~#target 'apicall'# syntax. See Hashtag Helpers: Target for details.

Example — hash a sensitive field from the response:

loading...

Result

loading...

Properties

apiresult.status

integer

The status code indicating the outcome of the API call.


apiresult.statusText

string

A textual description of the result status.


apiresult.body

object

Contains the body of the API result, providing the actual data retrieved from the external API. The type depends on the API response but is typically a JSON object or array.

Examples

These are some more complex examples

Request with body

Include a body in your apicall request

loading...

Request with headers

Include custom headers in your apicall request

loading...

Upload file with multipart/formdata

Include custom headers in your apicall request

loading...

Custom Header Org Credential

This requires the Custom Header credential to be created in the organization's Credentials page of Stubber Manage.

loading...

Response merge

Use response_merge to overwrite fields in the API response before they are exposed to the rest of the template. This is useful for hiding sensitive data or limiting what gets stored in stub/stubpost data.

loading...

In this example, meta and reviews are removed from the result and price is replaced with its MD5 hash using the apicall interpolator, which has access to payload.apiresult.


NTLM Org Credential

This requires the NTLM credential to be created in the organization's Credentials page of Stubber Manage. Typically used for authenticating with older Microsoft systems.

loading...

OAuth Org Credential

This requires the Generic OAuth credential to be created in the organization's Credentials page of Stubber Manage.

loading...