# API Request

Action `network`

`action.api_request`

Make HTTP requests to external APIs and services. Supports all standard HTTP methods, custom headers, JSON request bodies, and multiple authentication schemes including Basic Auth, Bearer tokens, and API keys.

The response body and status code are available on separate output ports, making it easy to branch on success/failure using a downstream Condition node.

Destructive action

When the HTTP method is DELETE (and for some destructive POST/PUT patterns), this node removes resources on the remote service. Most APIs do not undo a DELETE. Workflows configured with DELETE prompt for confirmation on every arm.

## Ports

Direction | Name | Data Type | Description
--- | --- | --- | ---
Input | Input | Any | Incoming payload for URL and body interpolation
Output | Response | JSON | Parsed response body
Output | Status | Number | HTTP status code

## Configuration

Field | Type | Default | Description
--- | --- | --- | ---
method | Dropdown | `GET` | HTTP method: GET, POST, PUT, PATCH, DELETE
url | Text | — | Request URL. Supports `{{var}}` interpolation.
body | JSON Editor | — | Request body as JSON. Visible when method is not GET.
Headers
headers | Key-Value | — | Custom HTTP headers as key-value pairs
Authorization
authType | Dropdown | `none` | Auth scheme: None, Basic Auth, Bearer Token, API Key
authUsername | Text | — | Basic auth username. Visible when authType = basic.
authPassword | Text | — | Basic auth password. Visible when authType = basic.
authBearerToken | Text | — | Bearer token value. Visible when authType = bearer.
authApiKeyName | Text | — | API key header/param name. Visible when authType = api_key.
authApiKeyValue | Text | — | API key value. Visible when authType = api_key.
authApiKeyIn | Dropdown | `header` | Where to send the key: Header or Query Param. Visible when authType = api_key.

## Output Variables

Variable | Type | Description
--- | --- | ---
responseBody | JSON | Response body content
statusCode | Number | HTTP response status code
responseHeaders | JSON | Response headers

## Example

Post a Slack message when a webhook fires: