> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nofire.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Custom HTTP Tool

> Turn a read-only HTTP API into agent tools

Connect a read-only HTTP API to bring its data into NOFire's system context. Before a deploy, that context shows what the change touches. When something breaks, the same signals are the evidence NOFire reasons over.

You authenticate with the API's own credential: an API key, a bearer token, or a username and password. You then choose exactly which endpoints NOFire AI can call.

## Step 1: Prepare your API

Before you add the connection, have ready:

* The **base URL** of the API, for example `https://api.example.com`
* A credential, if the API requires one: an API key, a bearer token, or a username and password
* For each endpoint you want NOFire AI to call: its HTTP method, path, and a short description of what it returns

Each endpoint you list becomes a callable agent tool once you save the connection. List read-only endpoints only.

## Step 2: Add Custom HTTP Tool Connection to NOFire AI

<Accordion title="Navigate to the Connections tab" defaultOpen>
  1. In the NOFire AI dashboard, go to **Connections** and click **Connect** on **Custom HTTP Tool**.
  2. Enter your connection details, in order:
     * **Name** — for example `my-http-tool`
     * **Base URL** — must start with `http://` or `https://`
     * **Auth Type** — **None**, **API Key (custom header)**, **Bearer Token**, or **Basic (username + password)**
     * If **Auth Type** is **API Key (custom header)**: **Header Name** (defaults to `X-API-Key`) and **API Key**
     * If **Auth Type** is **Bearer Token**: **Bearer Token**
     * If **Auth Type** is **Basic (username + password)**: **Username** and **Password**
     * **Endpoints (JSON)** — one JSON array entry per endpoint you want the agent to call
     * **Timeout (s)** — default `10`, accepted range 0.5–60
     * **Max Response Bytes** — default `65536`, accepted range 1024–1048576
     * **Allow private/loopback network targets (disables SSRF guard)** — off by default

  <Warning>
    Leave **Allow private/loopback network targets (disables SSRF guard)** off unless you need NOFire AI to reach an address inside your own network. Turning it on disables the SSRF guard.
  </Warning>

  <Note>
    Test checks the configuration and blocks private/loopback URLs. It does not call your endpoints. Each endpoint becomes an agent tool after save.
  </Note>

  Click **Save**. NOFire validates the credentials and creates the connection.
</Accordion>

## Defining endpoints

One entry per endpoint you want the agent to call. Each entry needs a `name`, `method`, `path`, and `description`. Use `path_params`, `query_params`, or `body_params` to declare inputs. You must list placeholders in the path, like `{id}`, under `path_params`.

The field starts pre-filled with a worked example:

```json theme={null}
[
  {
    "name": "get_status",
    "method": "GET",
    "path": "/status",
    "description": "Return service status."
  }
]
```
