Patch API
curl --request PATCH \
--url https://api.interviewflowai.com/api/external/custom-fields \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"interviewId": "<string>",
"candidateAdditionalFields": {}
}
'import requests
url = "https://api.interviewflowai.com/api/external/custom-fields"
payload = {
"interviewId": "<string>",
"candidateAdditionalFields": {}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({interviewId: '<string>', candidateAdditionalFields: {}})
};
fetch('https://api.interviewflowai.com/api/external/custom-fields', 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://api.interviewflowai.com/api/external/custom-fields",
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([
'interviewId' => '<string>',
'candidateAdditionalFields' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$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 := "https://api.interviewflowai.com/api/external/custom-fields"
payload := strings.NewReader("{\n \"interviewId\": \"<string>\",\n \"candidateAdditionalFields\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
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("https://api.interviewflowai.com/api/external/custom-fields")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"interviewId\": \"<string>\",\n \"candidateAdditionalFields\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.interviewflowai.com/api/external/custom-fields")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"interviewId\": \"<string>\",\n \"candidateAdditionalFields\": {}\n}"
response = http.request(request)
puts response.read_bodyAPI Integration
Patch API
Update custom fields and sync statuses back to candidate records in InterviewFlowAI.
PATCH
/
api
/
external
/
custom-fields
Patch API
curl --request PATCH \
--url https://api.interviewflowai.com/api/external/custom-fields \
--header 'Content-Type: application/json' \
--header 'X-API-KEY: <api-key>' \
--data '
{
"interviewId": "<string>",
"candidateAdditionalFields": {}
}
'import requests
url = "https://api.interviewflowai.com/api/external/custom-fields"
payload = {
"interviewId": "<string>",
"candidateAdditionalFields": {}
}
headers = {
"X-API-KEY": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {'X-API-KEY': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({interviewId: '<string>', candidateAdditionalFields: {}})
};
fetch('https://api.interviewflowai.com/api/external/custom-fields', 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://api.interviewflowai.com/api/external/custom-fields",
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([
'interviewId' => '<string>',
'candidateAdditionalFields' => [
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-KEY: <api-key>"
],
]);
$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 := "https://api.interviewflowai.com/api/external/custom-fields"
payload := strings.NewReader("{\n \"interviewId\": \"<string>\",\n \"candidateAdditionalFields\": {}\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("X-API-KEY", "<api-key>")
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("https://api.interviewflowai.com/api/external/custom-fields")
.header("X-API-KEY", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"interviewId\": \"<string>\",\n \"candidateAdditionalFields\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.interviewflowai.com/api/external/custom-fields")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["X-API-KEY"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"interviewId\": \"<string>\",\n \"candidateAdditionalFields\": {}\n}"
response = http.request(request)
puts response.read_bodyThe Patch API allows you to update custom fields for a specific interview record. This is highly useful for syncing data, scores, or review flags from your external tools back into InterviewFlowAI.
Rate limit: 60 requests per minute per API key. Requests over the limit return
429 Too Many Requests.Request body fields
string
required
The UUID of the interview to update.
object
required
Custom fields to update on the Candidate record.
Example request
curl -X PATCH "https://api.interviewflowai.com/api/external/custom-fields" \
-H "Content-Type: application/json" \
-H "X-API-KEY: your_api_key_here" \
-d '{
"interviewId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
"candidateAdditionalFields": {
"score": 72,
"review": "yes",
"isSynced": true
}
}'

