Skip to main content
POST
/
ats
/
candidates
/
{candidate_id}
/
attachments
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.addCandidateAttachment({
    candidate_id: "GRKdd9dibYKKCrmGRSMJf3wu",
    body: {
      attachment: {
        name: "Frank Doe CV.txt",
        content_type: "text/plain",
        data: "SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=",
        type: "CV",
      },
    },
  });

  console.log(result);
}

run();
{ "status": "<string>", "data": {}, "warnings": [ { "message": "<string>" } ] }
We recommend using the add attachment to application endpoint instead.We realized that in practice it was always more about adding attachments to applications instead of candidates, so we created a new, more aptly named one that you should use instead: add attachment to application
This endpoint requires the permission Add attachments to be enabled in your scope config.

Example Request Body

{
  "candidate_id": "GRKdd9dibYKKCrmGRSMJf3wu",
  "attachment": {
    "name": "Frank Doe CV.txt",
    "data": "SGkgdGhlcmUsIEtvbWJvIGlzIGN1cnJlbnRseSBoaXJpbmcgZW5naW5lZXJzIHRoYXQgbG92ZSB0byB3b3JrIG9uIGRldmVsb3BlciBwcm9kdWN0cy4=",
    "type": "CV",
    "content_type": "text/plain"
  }
}

Authorizations

Authorization
string
header
required

Create an API key on the Secrets page in the Kombo dashboard.

Headers

X-Integration-Id
string
required

ID of the integration you want to interact with.

Path Parameters

candidate_id
string
required

The Kombo ID of the candidate you want to add the attachment to.

Body

application/json

POST /ats/candidates/:candidate_id/attachments Request body

attachment
object
required
remote_fields
object

Additional fields that we will pass through to specific ATS systems.

Response

POST /ats/candidates/:candidate_id/attachments Positive response

status
string
required
Allowed value: "success"
data
object
required
warnings
object[]
required

These are the interaction warnings that are shown in the dashboard. They are meant to provide debug information to you. We recommend logging them to the console.