Append a message to the screen
curl --request PATCH \
--url {protocol}://{host}:{port}/screen/{screen_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "I have 5 years of experience with Python and Django..."
}
'import requests
url = "{protocol}://{host}:{port}/screen/{screen_id}"
payload = { "content": "I have 5 years of experience with Python and Django..." }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({content: 'I have 5 years of experience with Python and Django...'})
};
fetch('{protocol}://{host}:{port}/screen/{screen_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_PORT => "62437",
CURLOPT_URL => "{protocol}://{host}:{port}/screen/{screen_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'content' => 'I have 5 years of experience with Python and Django...'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "{protocol}://{host}:{port}/screen/{screen_id}"
payload := strings.NewReader("{\n \"content\": \"I have 5 years of experience with Python and Django...\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("{protocol}://{host}:{port}/screen/{screen_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"I have 5 years of experience with Python and Django...\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("{protocol}://{host}:{port}/screen/{screen_id}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"I have 5 years of experience with Python and Django...\"\n}"
response = http.request(request)
puts response.read_body{
"message": "That's great! Can you tell me more about a specific project where you used Django at scale?"
}Screen
Append a message to the screen
Sends a candidate message to the AI and returns the AI’s response. Loads the screen history from Redis, sends the message through the AI model with full conversation context, and saves the updated history.
If the interview duration has elapsed, the AI receives an ENDTIME signal.
PATCH
/
screen
/
{screen_id}
Append a message to the screen
curl --request PATCH \
--url {protocol}://{host}:{port}/screen/{screen_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"content": "I have 5 years of experience with Python and Django..."
}
'import requests
url = "{protocol}://{host}:{port}/screen/{screen_id}"
payload = { "content": "I have 5 years of experience with Python and Django..." }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({content: 'I have 5 years of experience with Python and Django...'})
};
fetch('{protocol}://{host}:{port}/screen/{screen_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_PORT => "62437",
CURLOPT_URL => "{protocol}://{host}:{port}/screen/{screen_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'content' => 'I have 5 years of experience with Python and Django...'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "{protocol}://{host}:{port}/screen/{screen_id}"
payload := strings.NewReader("{\n \"content\": \"I have 5 years of experience with Python and Django...\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("{protocol}://{host}:{port}/screen/{screen_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"content\": \"I have 5 years of experience with Python and Django...\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("{protocol}://{host}:{port}/screen/{screen_id}")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"content\": \"I have 5 years of experience with Python and Django...\"\n}"
response = http.request(request)
puts response.read_body{
"message": "That's great! Can you tell me more about a specific project where you used Django at scale?"
}Authorizations
User JWT token passed in Authorization header
Headers
Required JWT permission: screen (informational only -- enforced server-side)
Path Parameters
UUID of the screen
Body
application/json
Candidate's message text
Response
AI response returned
AI's response message