---
title: "Bulk delete project files"
method: POST
path: "/v1/integration/projects/{projectId}/files/batch-delete"
tags: ["Unified Project Lifecycle APIs"]
---

# Bulk delete project files

`POST /v1/integration/projects/{projectId}/files/batch-delete`

## Request

- Base URL: `https://integration-adapter.connect.cloud.precisely.com`
- URL: `https://integration-adapter.connect.cloud.precisely.com/v1/integration/projects/{projectId}/files/batch-delete`
- Auth: HTTP bearer

Bulk deletes project files and preserves generated 200 or 207 bulk-operation statuses.

**Features:**
- Accepts up to 250 file identifiers per batch request (connect-portal's configured maximum).
- Returns per-file results so partial failures do not abort the entire batch.

**Use Cases:**
- VS Code extension deletes multiple files selected in the explorer.
- User prunes generated files no longer referenced by the project.

**Authorization:** Requires `replication-pipeline::delete` when permission harmonization is enabled; otherwise, `replication-pipeline::manage`.

## Path parameters

- `projectId` string, required

## Query parameters

- `projectType` 'REPLICATION' | 'MAINFRAME_REPLICATION' | 'ADVANCED_REPLICATION', required: Supported project types for unified project operations
- `pipelineId` string
- `revisionNumber` integer

## Request body

- ProjectFileBulkDeleteRequest: Request payload for bulk-deleting project files (maximum 250 per request)
  - `fileIds` string[], required: Unique identifiers of the files to delete, up to 250 per request

## Response `200`

All files deleted successfully

- ProjectFileBatchResultResponse: Results for a bulk file save or delete operation
  - `results` ProjectFileBatchItemResponse[]: Per-file results, in request order
    - `fileId` string: Unique identifier of the file
    - `successful` boolean: Whether this file's operation succeeded
    - `error` string: Failure reason, present only when successful is false
    - `metadata` ProjectFileSummaryResponse: Project file metadata. Content is intentionally omitted.
      - `fileId` string: Unique identifier of the file
      - `dataFlowId` string: Advanced Replication dataflow identifier owning this file, when applicable
      - `fileName` string: File name derived from the flattened path
      - `flattenedPath` string: Path of the file within the project's flattened file tree
      - `version` integer: Current version number of the file
      - `phase` 'DRAFT' | 'APPROVED' | 'PENDING_DELETION': Lifecycle phase of the file
      - `mimeType` string: MIME type of the file content
      - `encoding` string: Encoding of the file content
      - `sizeBytes` integer: Size of the file content in bytes
      - `contentHash` string: Hash of the file content, used for change detection
      - `entryFile` boolean: Whether this file is the project's designated entry file
      - `unchanged` boolean: True when an update matched the stored file and no write was performed; omitted for read (list/get) and create/delete responses
    - `unchanged` boolean: True when this update item matched the stored file and no write was performed; omitted for create and delete items

## Other responses

- `207`: Some files could not be deleted
- `400`: Bad Request — batch size exceeds the maximum allowed (DI-ADAPTER-PRF-0006), or the resolved project type does not support files (DI-ADAPTER-PRF-0009)
- `401`: Unauthorized
- `403`: Forbidden — requires replication-pipeline::delete when permission harmonization is enabled, or legacy replication-pipeline::manage otherwise
- `404`: Not Found — project does not exist (DI-ADAPTER-PRF-0001)
- `409`: Conflict — the project has a commit in progress, so file operations are temporarily blocked until it finishes (DI-ADAPTER-PRF-0005)
- `500`: Internal Server Error — batch delete failed (DI-ADAPTER-PRF-0002)

---

[API](https://skmtc.dev/precisely/apis/precisely-integration-adapter-service.md) · [All operations](https://skmtc.dev/precisely/apis/precisely-integration-adapter-service/llms.txt) · [OpenAPI document](https://skmtc.dev/precisely/apis/precisely-integration-adapter-service/revisions/2d2629f4987d?raw)
