Get an interview template
curl --request GET \
--url https://api.heymilo.ai/api/v2/interview-templates/{template_id} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.heymilo.ai/api/v2/interview-templates/{template_id}"
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.heymilo.ai/api/v2/interview-templates/{template_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://api.heymilo.ai/api/v2/interview-templates/{template_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 => [
"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.heymilo.ai/api/v2/interview-templates/{template_id}"
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.heymilo.ai/api/v2/interview-templates/{template_id}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heymilo.ai/api/v2/interview-templates/{template_id}")
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{
"data": {
"id": "<string>",
"template_code": "<string>",
"name": "<string>",
"posting_id": "<string>",
"created_at": 123,
"updated_at": 123,
"object": "interview_template",
"description": "Standard 3-stage interview for senior backend roles.",
"is_default": false
},
"meta": {}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"errors": [
{
"code": "<string>",
"message": "<string>",
"param": "title"
}
]
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"errors": [
{
"code": "<string>",
"message": "<string>",
"param": "title"
}
]
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"errors": [
{
"code": "<string>",
"message": "<string>",
"param": "title"
}
]
}
}Get an interview template
Returns a single interview template by ID.
GET
/
api
/
v2
/
interview-templates
/
{template_id}
Get an interview template
curl --request GET \
--url https://api.heymilo.ai/api/v2/interview-templates/{template_id} \
--header 'X-API-KEY: <api-key>'import requests
url = "https://api.heymilo.ai/api/v2/interview-templates/{template_id}"
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.heymilo.ai/api/v2/interview-templates/{template_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://api.heymilo.ai/api/v2/interview-templates/{template_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 => [
"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.heymilo.ai/api/v2/interview-templates/{template_id}"
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.heymilo.ai/api/v2/interview-templates/{template_id}")
.header("X-API-KEY", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.heymilo.ai/api/v2/interview-templates/{template_id}")
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{
"data": {
"id": "<string>",
"template_code": "<string>",
"name": "<string>",
"posting_id": "<string>",
"created_at": 123,
"updated_at": 123,
"object": "interview_template",
"description": "Standard 3-stage interview for senior backend roles.",
"is_default": false
},
"meta": {}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"errors": [
{
"code": "<string>",
"message": "<string>",
"param": "title"
}
]
}
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"errors": [
{
"code": "<string>",
"message": "<string>",
"param": "title"
}
]
}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}{
"error": {
"type": "<string>",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"doc_url": "<string>",
"errors": [
{
"code": "<string>",
"message": "<string>",
"param": "title"
}
]
}
}Authorizations
API key for authentication. Pass your key in the X-API-KEY header.
Path Parameters
Response
Successful Response
A reusable interview agent configuration.
Interview templates capture a blueprint posting's full agentic
workflow (questions, criteria, agent settings) so it can be cloned
onto new postings or used as the seed for new agents. Each template
references its blueprint posting via posting_id.
Show child attributes
Show child attributes
Optional metadata. Shape varies by endpoint.
Was this page helpful?
⌘I