---
title: "Call one of a site's tools"
method: POST
path: "/api/v1/sites/{host}/call/{tool}"
tags: ["Sites"]
---

# Call one of a site's tools

`POST /api/v1/sites/{host}/call/{tool}`

## Request

- Base URL: `https://unbrowse.ai`
- URL: `https://unbrowse.ai/api/v1/sites/{host}/call/{tool}`
- Auth: one of:
  - OAuth 2 (authorization code, authorization URL `https://unbrowse.ai/authorize`, token URL `https://unbrowse.ai/oauth/token`, scopes: `unbrowse`)
  - HTTP bearer

## Path parameters

- `host` string, required
- `tool` string, required

## Query parameters

- `deadlineMs` integer

## Headers

- `x-unbrowse-deadline-ms` integer

## Request body

- object: The tool's inputs (see the site's OpenAPI spec). `deadlineMs` here bounds the call like the header, unless the tool takes an input of that name.

## Response `200`

The tool's result

- Object

## Other responses

- `202`: The run needs input (`input_required`)
- `400`: An error
- `401`: Missing or invalid credentials. The WWW-Authenticate header names the protected-resource metadata.
- `402`: An error
- `404`: An error
- `429`: An error
- `504`: run_timeout: the run did not finish within its deadline. It keeps running: poll `GET /api/v1/runs/{runId}` with the runId given. A verified success is billed once when it lands; a failure is never billed. A retry with the same Idempotency-Key joins the same run.

---

[API](https://skmtc.dev/unbrowse/apis/unbrowse-api.md) · [All operations](https://skmtc.dev/unbrowse/apis/unbrowse-api/llms.txt) · [OpenAPI document](https://skmtc.dev/unbrowse/apis/unbrowse-api/revisions/f49034a1fbff?raw)
