---
title: "Delete Attachment from String/Asset Comment"
method: DELETE
path: "/projects/{projectId}/comments/{commentId}/attachments/{attachmentId}"
tags: ["String/Asset Comments"]
---

# Delete Attachment from String/Asset Comment

`DELETE /projects/{projectId}/comments/{commentId}/attachments/{attachmentId}`

## Request

- Base URL: `https://api.crowdin.com/api/v2`
- URL: `https://api.crowdin.com/api/v2/projects/{projectId}/comments/{commentId}/attachments/{attachmentId}`
- Auth: none declared
- TypeScript: <https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/docs/projects/:projectId/comments/:commentId/attachments/:attachmentId/delete.ts> (a function with typed inputs; its response is checked against the schema)

**Required scopes:** `project.source.string` (Read and Write).

## Path parameters

- `projectId` integer, required
- `commentId` integer, required
- `attachmentId` integer, required

## Response `200`

Attachment was successfully removed from the comment

- EnterpriseStringCommentResource: Base schema of resource container. Container is a wrapper object that contains payload in required `data` property and provides space for adding any other metadata.
  - `data` EnterpriseStringComment, required: String/Asset Comment Response Model. For string comments, `stringId` is provided and `fileId` is null. For asset comments, `fileId` is provided and `stringId` is null.
    - `id` integer: Comment ID
    - `isShared` boolean: Whether the comment is shared
    - `text` string: Comment text
    - `userId` integer: User ID
    - `user` object: User object
      - `id` integer: User ID
      - `username` string: User username
      - `fullName` string: User full name
      - `avatarUrl` string: User avatar URL
    - `projectId` integer: Project ID
    - `languageId` string: Language ID
    - `type` 'comment' | 'issue': Comment type
    - `issueType` 'general_question' | 'translation_mistake' | 'context_request' | 'source_mistake': Issue type
    - `issueStatus` 'resolved' | 'unresolved': Issue status
    - `resolverId` integer: Resolver ID
    - `senderOrganization` object: Sender organization object
      - `id` integer: Sender organization ID
      - `domain` string: Sender organization domain
    - `resolverOrganization` object: Resolver organization object
      - `id` integer: Resolver organization ID
      - `domain` string: Resolver organization domain
    - `resolver` object: Resolver object
      - `id` integer: Resolver ID
      - `username` string: Resolver username
      - `fullName` string: Resolver full name
      - `avatarUrl` string: Resolver avatar URL
    - `resolvedAt` string, date-time: Resolved at
    - `createdAt` string, date-time: Created at
    - `attachments` object[]: List of attachments added to the comment
      - `id` integer: Attachment ID
      - `name` string: Original file name
      - `mime` string: MIME type
      - `size` integer: File size in bytes
      - `category` string: Attachment category (image, video, audio, document, other)
      - `thumbnailUrl` string, nullable: Thumbnail URL
      - `url` string: Preview URL
      - `downloadUrl` string: Download URL
    - `stringId` integer: String ID
    - `string` object: String object
      - `id` integer: String ID
      - `text` string: String text
      - `type` string: String type
      - `hasPlurals` boolean: Whether the string has plurals
      - `isIcu` boolean: Whether the string is ICU
      - `context` string: String context
      - `fileId` integer: File ID

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `404`: Project, comment or attachment with specified id was not found
- `405`: Method Not Allowed
- `503`: Service Unavailable

---

[API](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2.md) - [All operations](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/crowdin/apis/crowdin-enterprise-api-v2/revisions/dc68744c5384?raw)
