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

# Finding and labelling conversations

> Search transcripts by project, fetch one to read its turns, and define transcript properties to record what the runtime cannot know.

A transcript is one conversation your agent had, kept whole and in order.
Finding the ones you care about is a search; recording what the runtime could
not know about them is a property.

## Finding conversations

Transcript search is a `POST` rather than a `GET`, because the filters are rich
enough to need a body:

```bash theme={null}
curl -X POST "https://realtime-api.voiceflow.com/v1/stable/transcript/search" \
  -H "Authorization: Bearer $VF_PAT" \
  -H "Content-Type: application/json" \
  -d '{ "projectID": "'"$VF_PROJECT_ID"'" }'
```

Fetching a single transcript by ID returns its turns, so a common shape is
search for the conversations you care about, then fetch each one.

## Properties are your own metadata

A **transcript property** is a field you define on the project, and a property
value is that field set on one transcript. Use them to record things the runtime
cannot know: whether the conversation was escalated, which experiment a user was
in, what the outcome was.

Define the property once, then set its value per transcript. Because properties
are project-level, they also become the vocabulary you filter searches by.

## What transcripts are not for

Transcript endpoints return conversations, not counts. If you want totals,
costs, or usage over time, that is
[Analytics](/api-reference/sections/analytics). If you want quality scored
against criteria, that is [Insights](/api-reference/sections/insights).

## Where to go next

Transcripts are the input to [evaluations](/api-reference/sections/insights) -
you can run an evaluation over conversations that already happened.
