curl --request POST \
--url https://api.bindbee.dev/api/ats/v1/candidates/{candidate_id}/attachments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Connector-Token: <api-key>' \
--data '
{
"file_name": "resume.pdf",
"attachment_type": "RESUME",
"file_url": "https://example.com/path/to/resume.pdf",
"file_content": "SGVsbG8sIFdvcmxkIQ==",
"content_type": "application/pdf",
"candidate": "018b4bfb-5ece-70b1-ad5e-862a9433aa65",
"remote_user_id": "018b4bfb-5ece-70b1-ad5e-862a9433aa65"
}
'import requests
url = "https://api.bindbee.dev/api/ats/v1/candidates/{candidate_id}/attachments"
payload = {
"file_name": "resume.pdf",
"attachment_type": "RESUME",
"file_url": "https://example.com/path/to/resume.pdf",
"file_content": "SGVsbG8sIFdvcmxkIQ==",
"content_type": "application/pdf",
"candidate": "018b4bfb-5ece-70b1-ad5e-862a9433aa65",
"remote_user_id": "018b4bfb-5ece-70b1-ad5e-862a9433aa65"
}
headers = {
"Authorization": "Bearer <token>",
"X-Connector-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'X-Connector-Token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
file_name: 'resume.pdf',
attachment_type: 'RESUME',
file_url: 'https://example.com/path/to/resume.pdf',
file_content: 'SGVsbG8sIFdvcmxkIQ==',
content_type: 'application/pdf',
candidate: '018b4bfb-5ece-70b1-ad5e-862a9433aa65',
remote_user_id: '018b4bfb-5ece-70b1-ad5e-862a9433aa65'
})
};
fetch('https://api.bindbee.dev/api/ats/v1/candidates/{candidate_id}/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.bindbee.dev/api/ats/v1/candidates/{candidate_id}/attachments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'file_name' => 'resume.pdf',
'attachment_type' => 'RESUME',
'file_url' => 'https://example.com/path/to/resume.pdf',
'file_content' => 'SGVsbG8sIFdvcmxkIQ==',
'content_type' => 'application/pdf',
'candidate' => '018b4bfb-5ece-70b1-ad5e-862a9433aa65',
'remote_user_id' => '018b4bfb-5ece-70b1-ad5e-862a9433aa65'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Connector-Token: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bindbee.dev/api/ats/v1/candidates/{candidate_id}/attachments"
payload := strings.NewReader("{\n \"file_name\": \"resume.pdf\",\n \"attachment_type\": \"RESUME\",\n \"file_url\": \"https://example.com/path/to/resume.pdf\",\n \"file_content\": \"SGVsbG8sIFdvcmxkIQ==\",\n \"content_type\": \"application/pdf\",\n \"candidate\": \"018b4bfb-5ece-70b1-ad5e-862a9433aa65\",\n \"remote_user_id\": \"018b4bfb-5ece-70b1-ad5e-862a9433aa65\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("X-Connector-Token", "<api-key>")
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.post("https://api.bindbee.dev/api/ats/v1/candidates/{candidate_id}/attachments")
.header("Authorization", "Bearer <token>")
.header("X-Connector-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"file_name\": \"resume.pdf\",\n \"attachment_type\": \"RESUME\",\n \"file_url\": \"https://example.com/path/to/resume.pdf\",\n \"file_content\": \"SGVsbG8sIFdvcmxkIQ==\",\n \"content_type\": \"application/pdf\",\n \"candidate\": \"018b4bfb-5ece-70b1-ad5e-862a9433aa65\",\n \"remote_user_id\": \"018b4bfb-5ece-70b1-ad5e-862a9433aa65\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bindbee.dev/api/ats/v1/candidates/{candidate_id}/attachments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["X-Connector-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"file_name\": \"resume.pdf\",\n \"attachment_type\": \"RESUME\",\n \"file_url\": \"https://example.com/path/to/resume.pdf\",\n \"file_content\": \"SGVsbG8sIFdvcmxkIQ==\",\n \"content_type\": \"application/pdf\",\n \"candidate\": \"018b4bfb-5ece-70b1-ad5e-862a9433aa65\",\n \"remote_user_id\": \"018b4bfb-5ece-70b1-ad5e-862a9433aa65\"\n}"
response = http.request(request)
puts response.read_body{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"detail": "<string>"
}Create Candidate Attachment
Uploads an attachment for a given candidate.
curl --request POST \
--url https://api.bindbee.dev/api/ats/v1/candidates/{candidate_id}/attachments \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'X-Connector-Token: <api-key>' \
--data '
{
"file_name": "resume.pdf",
"attachment_type": "RESUME",
"file_url": "https://example.com/path/to/resume.pdf",
"file_content": "SGVsbG8sIFdvcmxkIQ==",
"content_type": "application/pdf",
"candidate": "018b4bfb-5ece-70b1-ad5e-862a9433aa65",
"remote_user_id": "018b4bfb-5ece-70b1-ad5e-862a9433aa65"
}
'import requests
url = "https://api.bindbee.dev/api/ats/v1/candidates/{candidate_id}/attachments"
payload = {
"file_name": "resume.pdf",
"attachment_type": "RESUME",
"file_url": "https://example.com/path/to/resume.pdf",
"file_content": "SGVsbG8sIFdvcmxkIQ==",
"content_type": "application/pdf",
"candidate": "018b4bfb-5ece-70b1-ad5e-862a9433aa65",
"remote_user_id": "018b4bfb-5ece-70b1-ad5e-862a9433aa65"
}
headers = {
"Authorization": "Bearer <token>",
"X-Connector-Token": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
Authorization: 'Bearer <token>',
'X-Connector-Token': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
file_name: 'resume.pdf',
attachment_type: 'RESUME',
file_url: 'https://example.com/path/to/resume.pdf',
file_content: 'SGVsbG8sIFdvcmxkIQ==',
content_type: 'application/pdf',
candidate: '018b4bfb-5ece-70b1-ad5e-862a9433aa65',
remote_user_id: '018b4bfb-5ece-70b1-ad5e-862a9433aa65'
})
};
fetch('https://api.bindbee.dev/api/ats/v1/candidates/{candidate_id}/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.bindbee.dev/api/ats/v1/candidates/{candidate_id}/attachments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'file_name' => 'resume.pdf',
'attachment_type' => 'RESUME',
'file_url' => 'https://example.com/path/to/resume.pdf',
'file_content' => 'SGVsbG8sIFdvcmxkIQ==',
'content_type' => 'application/pdf',
'candidate' => '018b4bfb-5ece-70b1-ad5e-862a9433aa65',
'remote_user_id' => '018b4bfb-5ece-70b1-ad5e-862a9433aa65'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"X-Connector-Token: <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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.bindbee.dev/api/ats/v1/candidates/{candidate_id}/attachments"
payload := strings.NewReader("{\n \"file_name\": \"resume.pdf\",\n \"attachment_type\": \"RESUME\",\n \"file_url\": \"https://example.com/path/to/resume.pdf\",\n \"file_content\": \"SGVsbG8sIFdvcmxkIQ==\",\n \"content_type\": \"application/pdf\",\n \"candidate\": \"018b4bfb-5ece-70b1-ad5e-862a9433aa65\",\n \"remote_user_id\": \"018b4bfb-5ece-70b1-ad5e-862a9433aa65\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("X-Connector-Token", "<api-key>")
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.post("https://api.bindbee.dev/api/ats/v1/candidates/{candidate_id}/attachments")
.header("Authorization", "Bearer <token>")
.header("X-Connector-Token", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"file_name\": \"resume.pdf\",\n \"attachment_type\": \"RESUME\",\n \"file_url\": \"https://example.com/path/to/resume.pdf\",\n \"file_content\": \"SGVsbG8sIFdvcmxkIQ==\",\n \"content_type\": \"application/pdf\",\n \"candidate\": \"018b4bfb-5ece-70b1-ad5e-862a9433aa65\",\n \"remote_user_id\": \"018b4bfb-5ece-70b1-ad5e-862a9433aa65\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bindbee.dev/api/ats/v1/candidates/{candidate_id}/attachments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["X-Connector-Token"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"file_name\": \"resume.pdf\",\n \"attachment_type\": \"RESUME\",\n \"file_url\": \"https://example.com/path/to/resume.pdf\",\n \"file_content\": \"SGVsbG8sIFdvcmxkIQ==\",\n \"content_type\": \"application/pdf\",\n \"candidate\": \"018b4bfb-5ece-70b1-ad5e-862a9433aa65\",\n \"remote_user_id\": \"018b4bfb-5ece-70b1-ad5e-862a9433aa65\"\n}"
response = http.request(request)
puts response.read_body{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}{
"detail": "<string>"
}For SAP Success Factor Integration
If integrating with SAP_SUCCESS_FACTOR, the request body must only contain:| Key | Type | Required | Description |
|---|---|---|---|
file_name | string | required | Name of the file including its extension |
file_content | string (base64) | required | Base64 encoded file content |
remote_user_id | UUID | required | UUID of remote user created by Bindbee |
For Teamtailor Integration
If integrating with Teamtailor, the request body must only contain:| Key | Type | Required | Description |
|---|---|---|---|
file_name | string | required | Name of the file including its extension |
file_url | string | required | Publically accessible file url |
remote_user_id | UUID | required | UUID of remote user created by Bindbee |
Authorizations
Your Bindbee API key, sent as Authorization: Bearer <BINDBEE_API_KEY>. Required on every request.
The connector token for one customer's connection. This is not your Bindbee API key. Required on requests that read or write a single customer's data.
Path Parameters
Body
The AtsAttachmentWriteForCandidate object is used to represent a file attachment linked to a candidate's application within the ATS.
The name of the file attached.
"resume.pdf"
The type of attachment. If the value is not one of the defined enum values, the original value passed through will be returned.
"RESUME"
The URL where the file is stored and can be retrieved.
1 - 2083"https://example.com/path/to/resume.pdf"
File in base64 format
"SGVsbG8sIFdvcmxkIQ=="
The MIME type of the file (e.g., 'application/pdf', 'image/png').
"application/pdf"
The candidate to whom the attachment belongs.
"018b4bfb-5ece-70b1-ad5e-862a9433aa65"
The id of user using the integration
"018b4bfb-5ece-70b1-ad5e-862a9433aa65"
Response
Successful Response
Was this page helpful?