---
title: "Voice Tool Call"
method: POST
path: "/api/voice/tools/{name}"
---

# Voice Tool Call

`POST /api/voice/tools/{name}`

Run one voice function tool for a `responses`-mode session.

The backend Responses model's function call arrives at the app; the app
relays `{call_id, session_id, thread_id, arguments}` here and returns our response as
the `function_call_output`. `ask_every` is executed by the app (a full
Every agent turn), so it is a 400 here; any other unknown name is a 404.
Every read and write runs as the caller (see services/voice_tools.py).

## Path parameters

- `name` string, required

## Query parameters

- `user_id` string
- `org_id` string

## Request body

- VoiceToolCallRequest
  - `call_id` string, required
  - `session_id` string, required
  - `thread_id` string, nullable
  - `arguments` object

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

## Changes

- **2026-09-23** `cd8cdbbf7118` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/every/apis/every-api/changes/api/voice/tools/:name/post.md)

---

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