---
title: "Download all project files as a ZIP archive"
method: GET
path: "/v1/integration/projects/{projectId}/files/archive"
tags: ["Unified Project Lifecycle APIs"]
---

# Download all project files as a ZIP archive

`GET /v1/integration/projects/{projectId}/files/archive`

## Request

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

Downloads every file currently associated with the project — not a single file — bundled
into one ZIP archive. This is a bulk read/export operation; it never changes the lifecycle
phase of a file. Passes through the generated archive response without application-side
byte-array buffering.

**Features:**
- Streams the ZIP directly, one entry at a time.
- Optionally scoped by `view`, `revisionNumber`, and `pathPrefix`.
- A size pre-flight runs before any bytes are written, so an over-budget request fails
  cleanly with `413` instead of half-writing a ZIP. A content-read failure that occurs
  **after** streaming has started aborts the connection instead of returning a new HTTP
  problem response — the `500` example below only applies to failures detected before
  streaming begins.

**Use Cases:**
- VS Code extension downloads a project snapshot for offline inspection.
- User exports a committed revision's files for audit retention.

**Authorization:** Requires `replication-pipeline::view`.

## Path parameters

- `projectId` string, required

## Query parameters

- `projectType` 'REPLICATION' | 'MAINFRAME_REPLICATION' | 'ADVANCED_REPLICATION': Supported project types for unified project operations
- `pipelineId` string
- `view` 'CURRENT' | 'COMMITTED': Project file-tree view scope: CURRENT (working set) or COMMITTED (a specific revision)
- `revisionNumber` integer
- `pathPrefix` string

## Response `200`

ZIP archive of every file associated with the project

## Other responses

- `400`: Bad Request — the resolved project type does not support files (DI-ADAPTER-PRF-0009)
- `401`: Unauthorized
- `403`: Forbidden — requires replication-pipeline::view
- `404`: Not Found — project does not exist (DI-ADAPTER-PRF-0001)
- `413`: Payload Too Large — export size exceeds the maximum allowed, detected pre-flight before any bytes are streamed (DI-ADAPTER-PRF-0008)
- `500`: Internal Server Error — export failed before streaming started (DI-ADAPTER-PRF-0002). A content-read failure discovered after streaming has already begun aborts the connection instead of producing this response.

---

[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)
