from kombo import Kombo
with Kombo(
integration_id="workday:HWUTwvyx2wLoSUHphiWVrp28",
api_key="<YOUR_BEARER_TOKEN_HERE>",
) as k_client:
res = k_client.ats.get_ats_attachments(page_size=100, include_deleted=False, ignore_unsupported_filters=False)
while res is not None:
# Handle items
res = res.next()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.getAtsAttachments({});
for await (const page of result) {
console.log(page);
}
}
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.get_ats_attachments(page_size: 100, include_deleted: false, ignore_unsupported_filters: false)
unless res.get_ats_attachments_positive_response.nil?
# handle response
endcurl --request GET \
--url https://api.kombo.dev/v1/ats/attachments \
--header 'Authorization: Bearer <token>' \
--header 'X-Integration-Id: <x-integration-id>'const options = {
method: 'GET',
headers: {'X-Integration-Id': '<x-integration-id>', Authorization: 'Bearer <token>'}
};
fetch('https://api.kombo.dev/v1/ats/attachments', 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/attachments",
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>",
"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"
"net/http"
"io"
)
func main() {
url := "https://api.kombo.dev/v1/ats/attachments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Integration-Id", "<x-integration-id>")
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/ats/attachments")
.header("X-Integration-Id", "<x-integration-id>")
.header("Authorization", "Bearer <token>")
.asString();Get attachments
Retrieve all attachments.
from kombo import Kombo
with Kombo(
integration_id="workday:HWUTwvyx2wLoSUHphiWVrp28",
api_key="<YOUR_BEARER_TOKEN_HERE>",
) as k_client:
res = k_client.ats.get_ats_attachments(page_size=100, include_deleted=False, ignore_unsupported_filters=False)
while res is not None:
# Handle items
res = res.next()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.getAtsAttachments({});
for await (const page of result) {
console.log(page);
}
}
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.get_ats_attachments(page_size: 100, include_deleted: false, ignore_unsupported_filters: false)
unless res.get_ats_attachments_positive_response.nil?
# handle response
endcurl --request GET \
--url https://api.kombo.dev/v1/ats/attachments \
--header 'Authorization: Bearer <token>' \
--header 'X-Integration-Id: <x-integration-id>'const options = {
method: 'GET',
headers: {'X-Integration-Id': '<x-integration-id>', Authorization: 'Bearer <token>'}
};
fetch('https://api.kombo.dev/v1/ats/attachments', 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/attachments",
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>",
"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"
"net/http"
"io"
)
func main() {
url := "https://api.kombo.dev/v1/ats/attachments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Integration-Id", "<x-integration-id>")
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/ats/attachments")
.header("X-Integration-Id", "<x-integration-id>")
.header("Authorization", "Bearer <token>")
.asString();Supported integrations
Supported integrations
(id IN ids) AND (remote_id IN remote_ids)Authorizations
Headers
ID of the integration you want to interact with.
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 250.
1 <= x <= 250Filter the entries based on the modification date in format YYYY-MM-DDTHH:mm:ss.sssZ. Returns records where either the record itself OR its nested data has been updated since this timestamp, even if the record's own changed_at field remains unchanged.
If you want to track entry deletion, also set the include_deleted=true query parameter, because otherwise, deleted entries will be hidden.
For more details, see Understanding changed_at vs updated_after Behavior.
For this endpoint, only changes to the returned record itself are considered.
^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?)?Z?$By default, deleted entries are not returned. Use the include_deleted query param to include deleted entries too.
true, false When set to true, filters targeting fields not supported by this integration will be ignored instead of filtering out all results.
true, false Filter by a comma-separated list of IDs such as 222k7eCGyUdgt2JWZDNnkDs3,B5DVmypWENfU6eMe6gYDyJG3.
Filter by a comma-separated list of remote IDs.
Filter by a comma-separated list of candidate IDs. Prefer filtering by candidate_ids when you want every file a candidate has, across all their applications.
Filter by a comma-separated list of application IDs. We will only return attachments that the ATS filed under any of these applications, which excludes the files that hang off the candidate directly.
Response
GET /ats/attachments Positive response
"success"Show child attributes
Show child attributes
{ "next": "eyJwYWdlIjoxMiwibm90ZSI6InRoaXMgaXMganVzdCBhbiBleGFtcGxlIGFuZCBub3QgcmVwcmVzZW50YXRpdmUgZm9yIGEgcmVhbCBjdXJzb3IhIn0=", "results": [ { "id": "EYJjhMQT3LtVKXnTbnRT8s6U", "remote_id": "1001", "candidate_id": "BTbkvY2w5ou3z3hdwuKcKzDh", "application_id": "H5daSm8e85Dmvmne3wLeCPhX", "type": "CV", "file_name": "Frank Doe CV.pdf", "content_ref": { "bucket": "acme-kombo-attachments", "key": "kombo/ats_attachments/integrations/greenhousev3:BsUP8fPMzHDo/candidates/BTbkvY2w5ou3z3hdwuKcKzDh/EYJjhMQT3LtVKXnTbnRT8s6U", "type": "s3" }, "remote_created_at": "2022-08-07T14:01:29.196Z", "remote_updated_at": "2022-08-07T14:01:29.196Z", "remote_data": null, "changed_at": "2022-08-07T14:01:29.196Z", "remote_deleted_at": null } ] }
Was this page helpful?