curl --request GET \
--url https://api.alex.com/v1/api/reports \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.alex.com/v1/api/reports"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.alex.com/v1/api/reports', 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.alex.com/v1/api/reports",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.alex.com/v1/api/reports"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.alex.com/v1/api/reports")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.alex.com/v1/api/reports")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"reportId": "reportId",
"candidateId": "candidateId",
"positionId": "positonId",
"externalJobId": "12345",
"overallScore": 85,
"overallFeedback": "The candidate performed well overall.",
"questionSummary": [
{
"question": "What is your favorite color?",
"summary": "The candidate's favorite color is blue."
}
],
"tags": [
{
"name": "Work Authorization",
"value": "Yes",
"evidence": "The candidate confirmed they are authorized to work in the United States"
}
],
"skills": [
{
"name": "Communication",
"score": 85,
"feedback": "The candidate communicated clearly and effectively."
}
],
"resumeFit": {
"score": 85,
"currentRole": "Senior Registered Nurse",
"experienceSummary": "Six years of acute care nursing.",
"explanation": {
"breakdown": [
{
"category": "Clinical experience",
"score": 90,
"evidence": "Six years in an acute care setting.",
"gapAnalysis": "No significant gaps identified.",
"transferableSkills": "Triage under load."
}
],
"keyFitPoints": [
"Direct ICU experience"
],
"areasForDiscussion": [
"Night shift availability"
]
}
},
"timeCompleted": 1620000000,
"videoURL": "https://example.com/video.mp4",
"pdfURL": "https://example.com/report.pdf"
}
]{
"error": true,
"message": "<string>"
}Get Reports
Returns a list reports from the system. Can be filtered by the positionId, reportId, or candidateId. Will only return reports that are completed.
curl --request GET \
--url https://api.alex.com/v1/api/reports \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.alex.com/v1/api/reports"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.alex.com/v1/api/reports', 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.alex.com/v1/api/reports",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.alex.com/v1/api/reports"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.alex.com/v1/api/reports")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.alex.com/v1/api/reports")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body[
{
"reportId": "reportId",
"candidateId": "candidateId",
"positionId": "positonId",
"externalJobId": "12345",
"overallScore": 85,
"overallFeedback": "The candidate performed well overall.",
"questionSummary": [
{
"question": "What is your favorite color?",
"summary": "The candidate's favorite color is blue."
}
],
"tags": [
{
"name": "Work Authorization",
"value": "Yes",
"evidence": "The candidate confirmed they are authorized to work in the United States"
}
],
"skills": [
{
"name": "Communication",
"score": 85,
"feedback": "The candidate communicated clearly and effectively."
}
],
"resumeFit": {
"score": 85,
"currentRole": "Senior Registered Nurse",
"experienceSummary": "Six years of acute care nursing.",
"explanation": {
"breakdown": [
{
"category": "Clinical experience",
"score": 90,
"evidence": "Six years in an acute care setting.",
"gapAnalysis": "No significant gaps identified.",
"transferableSkills": "Triage under load."
}
],
"keyFitPoints": [
"Direct ICU experience"
],
"areasForDiscussion": [
"Night shift availability"
]
}
},
"timeCompleted": 1620000000,
"videoURL": "https://example.com/video.mp4",
"pdfURL": "https://example.com/report.pdf"
}
]{
"error": true,
"message": "<string>"
}Authorizations
Query Parameters
The id of the report to filter by. If this is provided, all other filters will be ignored.
The id of the position to filter by
The id of the candidate to filter by
Response
Reports response
The unique identifier of the report
"reportId"
The unique identifier of the candidate
"candidateId"
The unique identifier of the position
"positonId"
The ID of the position's job in the connected ATS, or null if there is no linked ATS record
"12345"
The overall score of the candidate
85
Feedback on the candidate's overall performance
"The candidate performed well overall."
List of dictionaries, each containing the question and a summary of the candidate's answer
Show child attributes
Show child attributes
A list of dictionaries, each containing the tag name, value, and evidence
Show child attributes
Show child attributes
A list of dictionaries, each containing the skill and the candidate's score and feedback
Show child attributes
Show child attributes
The resume fit analysis for this candidate and position, or null if no analysis was run
Show child attributes
Show child attributes
The UNIX Epoch time (in seconds) of when the interview was completed
1620000000
The public URL for an mp4 video recording of this interview, or an empty string if there is no recording
"https://example.com/video.mp4"
The public URL of the PDF report
"https://example.com/report.pdf"