---
title: "Adds a file attachment to an existing candidate"
method: POST
path: "/Entity/CandidateAttachment"
tags: ["Entity"]
---

# Adds a file attachment to an existing candidate

`POST /Entity/CandidateAttachment`

The attachment's Name field must be less than 255 characters.

The AttachmentTypeId field must match active reference data from the /Reference/AttachmentTypes method.
            
The FileExtension should match the file contents and be a valid Windows extension, preceded by a full stop. Infinity 
will not be able to open the file if the extension doesn't match and it could cause issues within Infinity.

The attachment's Content must not exceed the max upload size configured in Infinity.
            
The max upload size can be retrieved from the /Reference/MaxUploadSize method (In KB)

## Request body

- CandidateAttachmentRequest
  - `Name` string, required
  - `Content` string, byte, required — A Base64 document to attach to the candidate. The document cannot exceed the max upload size configured in Infinity.
  - `CandidateId` integer, required
  - `AttachmentTypeId` integer, nullable
  - `FileExtension` string, required

## Response `200`

OK - Created ID

- integer

## Other responses

- `400` — BadRequest
- `401` — Unauthorized
- `404` — NotFound

## Changes

- **2026-08-28** `54661781612a` — 1 breaking
  - the `oneOf[#/components/schemas/CandidateAttachmentRequest]/allOf[subschema #2]/AttachmentTypeId` request property type/format changed from `integer`/`byte` to `integer`/`int32`

[Change history](https://skmtc.dev/vslcloud/apis/infinity-api/changes/Entity/CandidateAttachment/post.md)

---

[API](https://skmtc.dev/vslcloud/apis/infinity-api.md) · [All operations](https://skmtc.dev/vslcloud/apis/infinity-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/vslcloud/infinity-api/revisions/54661781612a/schema)
