curl --request GET \
--url https://app.conveo.ai/public-api/v1/interviews/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.conveo.ai/public-api/v1/interviews/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.conveo.ai/public-api/v1/interviews/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.conveo.ai/public-api/v1/interviews/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.conveo.ai/public-api/v1/interviews/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.conveo.ai/public-api/v1/interviews/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.conveo.ai/public-api/v1/interviews/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "cm393cvz80bdpmcedfzacog26",
"participant": {
"id": "cm14zq5t10egyfkyrfy34ihlc",
"name": "John S"
},
"facets": [
{
"label": "Age",
"values": [
"35"
]
},
{
"label": "Gender",
"values": [
"Female"
]
},
{
"label": "Country",
"values": [
"United States"
]
},
{
"label": "Car Ownership",
"values": [
"Electric Vehicle",
"Previous ICE Owner"
]
},
{
"label": "Opinion on Jaguar's Strategy",
"values": [
"Positive impression",
"Interested in future models"
]
}
],
"videoDownloadURL": "https://...",
"transcriptAsWebVTT": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}Get interview
Returns one completed, non-hidden interview belonging to the API key organization. Unlike the study-scoped list, this endpoint does not require the parent study to be completed.
curl --request GET \
--url https://app.conveo.ai/public-api/v1/interviews/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.conveo.ai/public-api/v1/interviews/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.conveo.ai/public-api/v1/interviews/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.conveo.ai/public-api/v1/interviews/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.conveo.ai/public-api/v1/interviews/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.conveo.ai/public-api/v1/interviews/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.conveo.ai/public-api/v1/interviews/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "cm393cvz80bdpmcedfzacog26",
"participant": {
"id": "cm14zq5t10egyfkyrfy34ihlc",
"name": "John S"
},
"facets": [
{
"label": "Age",
"values": [
"35"
]
},
{
"label": "Gender",
"values": [
"Female"
]
},
{
"label": "Country",
"values": [
"United States"
]
},
{
"label": "Car Ownership",
"values": [
"Electric Vehicle",
"Previous ICE Owner"
]
},
{
"label": "Opinion on Jaguar's Strategy",
"values": [
"Positive impression",
"Interested in future models"
]
}
],
"videoDownloadURL": "https://...",
"transcriptAsWebVTT": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z"
}Authorizations
Organization API key supplied as a Bearer token. MCP OAuth tokens are not accepted by these REST endpoints.
Path Parameters
Response
A single interview
"cm393cvz80bdpmcedfzacog26"
Participant identity when available. The display name uses first name and last initial.
Show child attributes
Show child attributes
List of facets associated with the interview
Show child attributes
Show child attributes
[ { "label": "Age", "values": ["35"] }, { "label": "Gender", "values": ["Female"] }, { "label": "Country", "values": ["United States"] }, { "label": "Car Ownership", "values": ["Electric Vehicle", "Previous ICE Owner"] }, { "label": "Opinion on Jaguar's Strategy", "values": [ "Positive impression", "Interested in future models" ] } ]
Temporary URL to download the stored interview video; null if storage details are unavailable or URL generation fails. The URL expires after 15 minutes. Request the interview again for a fresh URL.
"https://..."
Participant-response messages in WebVTT format, using original message text. Interviewer questions are not included. Null when no response messages are available. Missing timings can produce zero or equal start and end times.
Was this page helpful?
