Skip to main content
GET
Get interview notes

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

interviewId
string
required

The unique identifier for the interview

Query Parameters

format
enum<string>
default:text

Response format for the notes. text (default) returns plain text in content; json additionally returns the notes as a Tiptap JSON document in contentDocument.

Available options:
text,
json

Response

Interview notes retrieved successfully

An interview with its notes and AI summary.

id
string
required

The unique identifier for the interview.

source
string
required

Where the interview originated (e.g. "vistaly-api", "direct").

cardIds
string[]
required

IDs of the cards this interview is linked to via insights.

customerUserIds
string[]
required

IDs of the customer users who were interviewed.

interviewerUserIds
string[]
required

IDs of the organization members who conducted the interview.

insightCount
integer
required

The number of accepted insights on the interview: what GET /v1/interviews/{interviewId}/insights returns. AI suggestions the author has not accepted are counted in suggestedInsightCount instead. Normally equal to the length of that endpoint's insights array, but it can exceed it in an edge case: the count is derived from every fragment of the interview document, while the endpoint reads highlights from the notes and transcript only. Do not assume the two are equal.

processed
boolean
required

Whether the interview's processing — transcription and AI analysis — has finished. Note this differs from FeedbackItem.processed, which means the feedback was analyzed for insights.

appUrl
string
required

A link to view the interview in the Vistaly app.

interviewees
object[]
required

The interviewed customers, resolved to people. An id that appears in customerUserIds but not here could not be resolved: its record is gone, or the batched lookup came back short. Absence here is not proof the person was deleted.

interviewers
object[]
required

The organization members who conducted the interview, resolved to people. An id that appears in interviewerUserIds but not here could not be resolved; see interviewees.

suggestedInsightCount
integer
required

The number of AI-suggested insights awaiting the author's decision. Not returned by the insights endpoint.

content
string
required

The interview's notes as plain text. Empty when no notes were written.

summary
string
required

The AI-generated summary of the interview as plain text. Empty when none was generated.

capturedAt
string<date-time>

ISO 8601 timestamp of when the interview was conducted.

createdAt
string<date-time>

ISO 8601 timestamp of when the interview record was created.

sourceUrl
string

Optional link to where the interview originated.

textPreview
string

A short preview of the interview's summary or notes. May be empty.

transcriptType
enum<string>

How the transcript was captured: media for an uploaded recording that was transcribed, text for a pasted transcript. Absent when the interview has no transcript.

Available options:
media,
text
contentDocument
object

The notes as a Tiptap JSON document ({ type: "doc", content: [...] }), preserving headings, lists, links and insight marks that plain text drops. Only present when format=json was requested.