> For AI agents: the documentation index is at https://platform.detectif.ai/llms.txt. Every page is also available as Markdown by adding `.md` to its path.

# Noesis

Find out who or what answered a phone call, live during the call or from a recording.

Noesis tells you who or what answered a phone call: a person, a voicemail, an IVR menu, a hold queue or an automated voice agent. It listens for the whole call and tells you when the answer changes, for example from `ivr` to `hold` to `human` when a menu transfers you to a person.

Noesis runs on your DetectifAI account: the same API keys, the same credit balance and the same dashboard.

## Two ways to use it

| Use | You send | You get back |
|---|---|---|
| [Live calls](https://platform.detectif.ai/docs/noesis/stream-protocol/) | The callee's audio, streamed over a WebSocket for the whole call | A `classification` event for the first answer and for every change, then a `summary` |
| [Recorded calls](https://platform.detectif.ai/docs/noesis/recorded-calls/) | A recorded call as a WAV file | The answers a live call would have received |

## Base URLs

```
https://api.noesis.detectif.ai
wss://api.noesis.detectif.ai/v1/detect/stream
```

Every request needs an API key that is allowed to use Noesis. See [Authentication](https://platform.detectif.ai/docs/noesis/authentication/).

## Answers

| Label | Category | Meaning | Suggested action |
|---|---|---|---|
| `human` | human | A live person | Start the conversation |
| `ivr` | machine | An automated menu: press or say an option | Stay silent, keep listening |
| `hold` | machine | Waiting, queue music, or "connecting you to an agent" | Stay silent, keep listening |
| `ai_agent` | machine | An automated voice agent that says it is one | Stay silent, keep listening |
| `voicemail` | machine | A mailbox that can record a message | Leave a message or hang up |
| `announcement` | machine | A one-way recording: no menu, no message | Hang up |
| `unavailable` | machine | A carrier message: busy, invalid number, switched off, mailbox full | Hang up |
| `machine` | machine | A machine answered; the type is not known yet | Stay silent; a specific label usually follows |
| `unknown` | unknown | Not enough to tell yet | Wait |

Route on `category` if you only need to know whether a person or a machine answered.

## How the answer behaves

- The first answer comes a few seconds after the callee starts to speak. If nobody speaks (silence or ringing), you get no answer rather than a guess.
- A line that announces a person ("connecting you to our sales team") is `hold`, not `human`. `human` follows when the person speaks.
- Once a person is confirmed, the answer stays `human`, even if they say "please hold".
- English, Hindi and Hinglish are supported.
- Answers are signals, not proof. Build your call flow so that it still works when the answer is `unknown` or arrives late.

Never block a call on Noesis. If the connection fails or closes, carry on with the call as you would without it.

## Recording

Calls you send to Noesis are recorded (audio and transcript) and kept for 30 days, unless you set `record=false`. See [Data and recording](https://platform.detectif.ai/docs/noesis/data-and-recording/).

## Next steps

- [Quickstart](https://platform.detectif.ai/docs/noesis/quickstart/): stream a recording and read the answers.
- [Twilio](https://platform.detectif.ai/docs/noesis/twilio/), [LiveKit](https://platform.detectif.ai/docs/noesis/livekit/), [Pipecat](https://platform.detectif.ai/docs/noesis/pipecat/) and the other integration guides.
- [Stream protocol](https://platform.detectif.ai/docs/noesis/stream-protocol/): audio formats, messages, events and close codes.
- [API Reference](https://platform.detectif.ai/docs/noesis/api/): every Noesis REST endpoint.
