---
title: "Action send_request"
description: "Sends an HTTP request to an external system with optional authentication."
---

# Action `send_request`

> **System ID:** `action_send_request`

## Description

Sends an HTTP request to an external URL. Supports methods, body, headers, Basic and Bearer authentication, placeholders. Unlike `send_me`, it does **not** automatically add `chat_id` and `channel` to the request data.

## Events (scenario branches)

| Event | When it occurs |
|-------|----------------|
| **ok** | Request completed successfully |
| **not_ok** | Network, authentication, response, or timeout error |

## Parameters

| Parameter | Type | Required | Default | Description |
|-----------|------|----------|---------|-------------|
| `url` | string | yes | — | Request URL (placeholders) |
| `method` | string | no | `"POST"` | HTTP method: `GET`, `POST`, `PUT`, `DELETE`, `PATCH`, etc. |
| `data` | object | no | `{}` | Request body / data (placeholders in values) |
| `headers` | object | no | `{}` | HTTP headers (placeholders in values) |
| `basic_auth` | object | no | — | Basic authentication |
| `basic_auth.login` | string | no | `null` | Login (placeholders) |
| `basic_auth.pass` | string | no | `null` | Password (placeholders) |
| `bearer_auth` | object | no | — | Bearer authentication |
| `bearer_auth.token` | string | no | `null` | Token (placeholders) |

## Configuration example

```json
{
  "url": "https://api.example.com/endpoint",
  "method": "POST",
  "data": {
    "key": "value"
  },
  "headers": {
    "Content-Type": "application/json"
  },
  "basic_auth": {
    "login": "username",
    "pass": "password"
  },
  "bearer_auth": {
    "token": "{{api_token}}"
  }
}
```

## Related docs

- [Actions reference](/en/actionjail/reference/actions-reference.md)
