---
title: "Voice Deal Detail"
method: GET
path: "/api/voice/deals/{deal_id}"
---

# Voice Deal Detail

`GET /api/voice/deals/{deal_id}`

## Request

- Base URL: `https://api.every.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.every.ai/api/voice/deals/{deal_id}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/every/apis/every-api/docs/api/voice/deals/:deal_id/get.ts> (a function with typed inputs; its response is checked against the schema)

One deal as a short spoken briefing, for the app's voice fast path.

The voice layer cannot call a tool -- GPT-Live client delegation has none --
so the APP decides to call this, after recognising a preloaded deal name in
the transcript. The response is sized to be spoken, not to be complete;
anything deeper is what delegating to the Every agent is for.

Org-scoped by the caller's token: `fetch_deal_detail` filters on `org_id`,
so a deal id from another org reads as not-found rather than leaking.

## Path parameters

- `deal_id` string, required

## Query parameters

- `user_id` string
- `org_id` string

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

## Changes

- **2026-09-15** `18ebf474f2a0`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/every/apis/every-api/changes/api/voice/deals/:deal_id/get.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/c643301d3f3a?raw)
