---
title: "Delete an agent chat attachment"
method: DELETE
path: "/agents/{agentKey}/conversations/attachments/{recordId}"
tags: ["Agents"]
---

# Delete an agent chat attachment

`DELETE /agents/{agentKey}/conversations/attachments/{recordId}`

Deletes a previously uploaded attachment by proxying `DELETE` to the query service
(`/api/v1/chat/attachments/{recordId}`). The Node handler always ends the response **without
a JSON body** on success (empty body); the **status code** is the upstream status, or **204**
if none is returned.

On validation failure in the gateway (invalid / blank path params), the response is **400**
with a small JSON error object. Same fire-and-forget semantics as
`DELETE /conversations/attachments/{recordId}` on the client.

## Path parameters

- `agentKey` string, required
- `recordId` string, required

## Response `204`

Success with no content (typical when upstream returns 204).

## Other responses

- `400` — Invalid or blank path params (`agentKey` or `recordId`).
- `401` — Unauthorized
- `403` — Missing `agent:execute` scope
- `default` — Other status codes are forwarded from the query service (e.g. 404) with an **empty** response body from this route.

---

[API](https://skmtc.dev/pipeshub-ai/apis/pipeshub-api.md) · [All operations](https://skmtc.dev/pipeshub-ai/apis/pipeshub-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/pipeshub-ai/pipeshub-api/revisions/64bfe76b130e/schema)
