---
title: "Update an attachment"
method: PATCH
path: "/attachments/{id}"
tags: ["Attachments"]
---

# Update an attachment

`PATCH /attachments/{id}`

Updates an attachment. Set its type via `type` — either a predefined type (`{ name }`) or a custom, tenant-defined type (`{ id }`) — and/or update `expiryDate` and `validFrom`. Fields that are omitted are left unchanged; pass `null` for a date to clear it. The type must be allowed for all records the attachment is linked to: the predefined `CV` type can only be set on attachments linked to a candidate, and custom types define which record types they support. Attachments with platform-internal types are treated as not found.

## Path parameters

- `id` string, required

## Request body

- UpdateAttachmentDto
  - `type` union
    - object
      - `id` string, required
    - object
      - `name` 'UNASSIGNED' | 'CV', required
    - 'UNASSIGNED' | 'CV'
  - `expiryDate` string, date-time
  - `validFrom` string, date-time

## Response `204`

Attachment updated successfully

## Other responses

- `400` — Bad request - invalid body, invalid attachment type, or attachment type not allowed for the records the attachment is linked to
- `401` — Unauthorized - invalid or missing authentication
- `404` — Attachment not found
- `500` — Error response

---

[API](https://skmtc.net/spott/apis/spott-webhooks.md) · [All operations](https://skmtc.net/spott/apis/spott-webhooks/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/spott/spott-webhooks/versions/ad1f8c51cf0a/schema)
