Get interviews
Retrieve all interview sessions. If team_id is not provided, returns interviews for all teams in the organization.
curl --request GET \
--url https://app.ribbon.ai/be-api/v1/interviews \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.ribbon.ai/be-api/v1/interviews"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.ribbon.ai/be-api/v1/interviews', 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.ribbon.ai/be-api/v1/interviews",
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.ribbon.ai/be-api/v1/interviews"
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.ribbon.ai/be-api/v1/interviews")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.ribbon.ai/be-api/v1/interviews")
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{
"interviews": [
{
"interview_flow_id": "<string>",
"interview_id": "<string>",
"team_id": "<string>",
"interview_data": {
"transcript": "<string>",
"transcript_with_timestamp": [
{
"content": "<string>",
"role": "<string>",
"words": [
{
"end": 123,
"start": 123,
"word": "<string>"
}
]
}
],
"questions_to_transcript_mapping": [
{
"script_question": "<string>",
"transcript_item_indices": [
123
],
"start_timestamp": 123,
"end_timestamp": 123,
"transcript_items": [
{
"content": "<string>",
"role": "<string>"
}
]
}
],
"audio_url": null,
"video_url": null,
"summary": null,
"scores": {
"communication": null,
"motivation": null,
"skills": null,
"language_vocabulary_and_expression": null,
"language_grammar_and_structure": null,
"language_fluency_and_pace": null,
"language_comprehension": null
},
"interviewee_email_address": null,
"interviewee_first_name": null,
"interviewee_last_name": null
}
}
]
}{
"message": "<string>",
"code": 123,
"status": "<string>"
}{
"code": 123,
"status": "<string>",
"message": "<string>",
"errors": {}
}{
"code": 123,
"status": "<string>",
"message": "<string>",
"errors": {}
}Authorizations
Provide your API key UUID in the 'Authorization' header prefixed with 'Bearer '. Example: 'Authorization: Bearer 123e4567-e89b-12d3-a456-426614174000'
Query Parameters
The number of interviews to return.
The offset for the list of interviews.
Filter interviews by status. Omit to return all (completed and incomplete).
incomplete, completed, null Filter interviews by team ID. If not provided, returns interviews for all teams in the organization.
How much transcript data to return. 'full' (default) returns the transcript, word-level timestamps, and question mapping. 'text' returns the raw transcript only. 'none' omits all transcript fields.
full, text, none Response
OK
A list of interviews.
Show child attributes
Show child attributes
curl --request GET \
--url https://app.ribbon.ai/be-api/v1/interviews \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.ribbon.ai/be-api/v1/interviews"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.ribbon.ai/be-api/v1/interviews', 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.ribbon.ai/be-api/v1/interviews",
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.ribbon.ai/be-api/v1/interviews"
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.ribbon.ai/be-api/v1/interviews")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.ribbon.ai/be-api/v1/interviews")
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{
"interviews": [
{
"interview_flow_id": "<string>",
"interview_id": "<string>",
"team_id": "<string>",
"interview_data": {
"transcript": "<string>",
"transcript_with_timestamp": [
{
"content": "<string>",
"role": "<string>",
"words": [
{
"end": 123,
"start": 123,
"word": "<string>"
}
]
}
],
"questions_to_transcript_mapping": [
{
"script_question": "<string>",
"transcript_item_indices": [
123
],
"start_timestamp": 123,
"end_timestamp": 123,
"transcript_items": [
{
"content": "<string>",
"role": "<string>"
}
]
}
],
"audio_url": null,
"video_url": null,
"summary": null,
"scores": {
"communication": null,
"motivation": null,
"skills": null,
"language_vocabulary_and_expression": null,
"language_grammar_and_structure": null,
"language_fluency_and_pace": null,
"language_comprehension": null
},
"interviewee_email_address": null,
"interviewee_first_name": null,
"interviewee_last_name": null
}
}
]
}{
"message": "<string>",
"code": 123,
"status": "<string>"
}{
"code": 123,
"status": "<string>",
"message": "<string>",
"errors": {}
}{
"code": 123,
"status": "<string>",
"message": "<string>",
"errors": {}
}