curl --request GET \
--url https://api.kombo.dev/v1/ai-apply/postings/forms \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.kombo.dev/v1/ai-apply/postings/forms"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.kombo.dev/v1/ai-apply/postings/forms', 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.kombo.dev/v1/ai-apply/postings/forms",
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://api.kombo.dev/v1/ai-apply/postings/forms"
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://api.kombo.dev/v1/ai-apply/postings/forms")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kombo.dev/v1/ai-apply/postings/forms")
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{
"status": "success",
"data": {
"results": [
{
"id": "<string>",
"career_site": {
"id": "<string>",
"label": "<string>"
},
"url": "<string>",
"job_code": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"archived_at": "2023-11-07T05:31:56Z",
"archived_reason": "JOB_POSTING_TAKEN_OFFLINE",
"availability": "APPLYABLE",
"application_form": [
{
"block_type": "QUESTION",
"question_id": "<string>",
"label": "<string>",
"description": "<string>",
"required": true,
"category": "EEO",
"question_type": "TEXT",
"unified_key": "EMAIL",
"options": [
{
"id": "<string>",
"label": "<string>",
"unified_key": "HOME"
}
],
"display_when": {
"question_id": "<string>",
"answer_equals": "<string>"
}
}
],
"submission_token": "<string>"
}
],
"next": "<string>"
}
}Get job postings with application forms
Get job postings together with their application form and a reusable submission token. Postings that are not applyable return null for both. To fetch a single form with a single-use token at the moment a candidate applies, use the POST /postings/:id/inquire endpoint instead.
curl --request GET \
--url https://api.kombo.dev/v1/ai-apply/postings/forms \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.kombo.dev/v1/ai-apply/postings/forms"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.kombo.dev/v1/ai-apply/postings/forms', 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.kombo.dev/v1/ai-apply/postings/forms",
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://api.kombo.dev/v1/ai-apply/postings/forms"
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://api.kombo.dev/v1/ai-apply/postings/forms")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.kombo.dev/v1/ai-apply/postings/forms")
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{
"status": "success",
"data": {
"results": [
{
"id": "<string>",
"career_site": {
"id": "<string>",
"label": "<string>"
},
"url": "<string>",
"job_code": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"archived_at": "2023-11-07T05:31:56Z",
"archived_reason": "JOB_POSTING_TAKEN_OFFLINE",
"availability": "APPLYABLE",
"application_form": [
{
"block_type": "QUESTION",
"question_id": "<string>",
"label": "<string>",
"description": "<string>",
"required": true,
"category": "EEO",
"question_type": "TEXT",
"unified_key": "EMAIL",
"options": [
{
"id": "<string>",
"label": "<string>",
"unified_key": "HOME"
}
],
"display_when": {
"question_id": "<string>",
"answer_equals": "<string>"
}
}
],
"submission_token": "<string>"
}
],
"next": "<string>"
}
}Authorizations
Query Parameters
An optional cursor string used for pagination. This can be retrieved from the next property of the previous page response.
The number of results to return per page. Maximum is 5.
1 <= x <= 5GET /ai-apply/postings/forms Parameter
GET /ai-apply/postings/forms Parameter
GET /ai-apply/postings/forms Parameter
Filter records whose updated_at is on or after this timestamp, in format YYYY-MM-DDTHH:mm:ss.sssZ. The comparison is inclusive (updated_at >= updated_after).
updated_at only moves on customer-facing changes, so it is stable for incremental polling. For job postings that includes availability, archival, URL, job code, and the current form revision. For applications that includes status, candidate email, and the linked job posting.
^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$Was this page helpful?