TypeScript
import { Kombo } from "@kombo-api/sdk";
const kombo = new Kombo({
integration_id: "workday:HWUTwvyx2wLoSUHphiWVrp28",
api_key: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
const result = await kombo.ats.moveApplicationToStage({
application_id: "GRKdd9dibYKKCrmGRSMJf3wu",
body: {
stage_id: "3PJ8PZhZZa1eEdd2DtPNtVup",
},
});
console.log(result);
}
run();require 'kombo'
Models = ::Kombo::Models
s = ::Kombo::Kombo.new(
integration_id: 'workday:HWUTwvyx2wLoSUHphiWVrp28',
security: Models::Shared::Security.new(
api_key: '<YOUR_BEARER_TOKEN_HERE>'
)
)
res = s.ats.move_application_to_stage(application_id: 'GRKdd9dibYKKCrmGRSMJf3wu', body: Models::Shared::PutAtsApplicationsApplicationIdStageRequestBody.new(
stage_id: '3PJ8PZhZZa1eEdd2DtPNtVup'
))
unless res.put_ats_applications_application_id_stage_positive_response.nil?
# handle response
endfrom kombo import Kombo
with Kombo(
integration_id="workday:HWUTwvyx2wLoSUHphiWVrp28",
api_key="<YOUR_BEARER_TOKEN_HERE>",
) as k_client:
res = k_client.ats.move_application_to_stage(application_id="GRKdd9dibYKKCrmGRSMJf3wu", stage_id="3PJ8PZhZZa1eEdd2DtPNtVup")
# Handle response
print(res)curl --request PUT \
--url https://api.kombo.dev/v1/ats/applications/{application_id}/stage \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Integration-Id: <x-integration-id>' \
--data '
{
"stage_id": "3PJ8PZhZZa1eEdd2DtPNtVup"
}
'const options = {
method: 'PUT',
headers: {
'X-Integration-Id': '<x-integration-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({stage_id: '3PJ8PZhZZa1eEdd2DtPNtVup'})
};
fetch('https://api.kombo.dev/v1/ats/applications/{application_id}/stage', 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/ats/applications/{application_id}/stage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'stage_id' => '3PJ8PZhZZa1eEdd2DtPNtVup'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Integration-Id: <x-integration-id>"
],
]);
$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.kombo.dev/v1/ats/applications/{application_id}/stage"
payload := strings.NewReader("{\n \"stage_id\": \"3PJ8PZhZZa1eEdd2DtPNtVup\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-Integration-Id", "<x-integration-id>")
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.put("https://api.kombo.dev/v1/ats/applications/{application_id}/stage")
.header("X-Integration-Id", "<x-integration-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"stage_id\": \"3PJ8PZhZZa1eEdd2DtPNtVup\"\n}")
.asString();{
"status": "success",
"data": {},
"warnings": [
{
"message": "This is an example warning!"
}
]
}Applications
Move application to stage
Moves an application to a specified stage. Use job-specific stages from GET /jobs, not the deprecated /application-stages endpoint.
PUT
/
ats
/
applications
/
{application_id}
/
stage
TypeScript
import { Kombo } from "@kombo-api/sdk";
const kombo = new Kombo({
integration_id: "workday:HWUTwvyx2wLoSUHphiWVrp28",
api_key: "<YOUR_BEARER_TOKEN_HERE>",
});
async function run() {
const result = await kombo.ats.moveApplicationToStage({
application_id: "GRKdd9dibYKKCrmGRSMJf3wu",
body: {
stage_id: "3PJ8PZhZZa1eEdd2DtPNtVup",
},
});
console.log(result);
}
run();require 'kombo'
Models = ::Kombo::Models
s = ::Kombo::Kombo.new(
integration_id: 'workday:HWUTwvyx2wLoSUHphiWVrp28',
security: Models::Shared::Security.new(
api_key: '<YOUR_BEARER_TOKEN_HERE>'
)
)
res = s.ats.move_application_to_stage(application_id: 'GRKdd9dibYKKCrmGRSMJf3wu', body: Models::Shared::PutAtsApplicationsApplicationIdStageRequestBody.new(
stage_id: '3PJ8PZhZZa1eEdd2DtPNtVup'
))
unless res.put_ats_applications_application_id_stage_positive_response.nil?
# handle response
endfrom kombo import Kombo
with Kombo(
integration_id="workday:HWUTwvyx2wLoSUHphiWVrp28",
api_key="<YOUR_BEARER_TOKEN_HERE>",
) as k_client:
res = k_client.ats.move_application_to_stage(application_id="GRKdd9dibYKKCrmGRSMJf3wu", stage_id="3PJ8PZhZZa1eEdd2DtPNtVup")
# Handle response
print(res)curl --request PUT \
--url https://api.kombo.dev/v1/ats/applications/{application_id}/stage \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Integration-Id: <x-integration-id>' \
--data '
{
"stage_id": "3PJ8PZhZZa1eEdd2DtPNtVup"
}
'const options = {
method: 'PUT',
headers: {
'X-Integration-Id': '<x-integration-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({stage_id: '3PJ8PZhZZa1eEdd2DtPNtVup'})
};
fetch('https://api.kombo.dev/v1/ats/applications/{application_id}/stage', 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/ats/applications/{application_id}/stage",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'stage_id' => '3PJ8PZhZZa1eEdd2DtPNtVup'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Integration-Id: <x-integration-id>"
],
]);
$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.kombo.dev/v1/ats/applications/{application_id}/stage"
payload := strings.NewReader("{\n \"stage_id\": \"3PJ8PZhZZa1eEdd2DtPNtVup\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-Integration-Id", "<x-integration-id>")
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.put("https://api.kombo.dev/v1/ats/applications/{application_id}/stage")
.header("X-Integration-Id", "<x-integration-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"stage_id\": \"3PJ8PZhZZa1eEdd2DtPNtVup\"\n}")
.asString();{
"status": "success",
"data": {},
"warnings": [
{
"message": "This is an example warning!"
}
]
}Supported integrations
Supported integrations
This feature is currently available for the following integrations:
Workday
SAP SuccessFactors
SmartRecruiters
Oracle Recruiting Cloud
Lever
iCIMS
Cornerstone TalentLink
Tellent Recruitee
RecruiterFlow
Atlas
Greenhouse (V1)
Greenhouse (V3)
Teamtailor
Ashby
Onlyfy
UKG Pro
UKG Ready
BambooHR
Bullhorn for Salesforce
Bullhorn
Workable
Jobvite
Fountain
Pinpoint
d.vinci admin
TRAFFIT
Abacus Umantis
Haufe Umantis
Jobylon
Zoho Recruit
Eploy
Paradox
Recruit CRM
Homerun
Carerix
Carerix (GraphQL)
InRecruiting by Zucchetti
JobAdder
Odoo
Gem
Laura
Mercury
Manatal
Avionté
Asymbl
Breezy HR
Kombo Sandbox
Spott
Logic Melon
Loxo
Kula
TrackerRMS
Talent360
This endpoint requires the permission Set application stage to be enabled in your scope config.
Example Request Body
{
"stage_id": "3PJ8PZhZZa1eEdd2DtPNtVup",
"remote_fields": {}
}
Authorizations
Headers
ID of the integration you want to interact with.
Path Parameters
The Kombo ID of the application you want to move to a different stage.
Body
application/json
PUT /ats/applications/:application_id/stage Request body
The Kombo ID of the stage to move the application to. This stage must be allowed for the job that the application is connected to. Get available stages from the stages property on the job, not from the deprecated application-stages endpoint.
Additional fields that we will pass through to specific ATS systems.
Show child attributes
Show child attributes
Response
PUT /ats/applications/:application_id/stage Positive response
Was this page helpful?