> Portal Navigation:
> 
> - Append `.md` to any URL under `https://dev.wix.com/docs/` to get its markdown version.
> - Pages are either content pages (article or reference text) or menu pages (a list of links to child pages).
> - To get a menu page, truncate any URL to a parent path and append `.md` (e.g. `https://dev.wix.com/docs/sdk.md`, `https://dev.wix.com/docs/sdk/core-modules.md`).
> - Top-level index of all portals: https://dev.wix.com/docs/llms.txt
> - Full concatenated docs: https://dev.wix.com/docs/llms-full.txt

## Resource: Transfer Repository Archives

## Article: Transfer Repository Archives

## Article Link: https://dev.wix.com/docs/api-reference/account-level/git-codestore/transfer-repository-archives.md

## Article Content:

# Transfer Repository Archives

The Git Code Store Projects API returns signed URLs for transferring ZIP files. These HTTP transfers are separate from the API calls. Set `DOWNLOAD_URL` or `UPLOAD_URL` to the exact URL from the corresponding API response before running the commands below.

For a download, use the exact `downloadUrl` returned by [Generate Git Code Store Project Download Url](https://dev.wix.com/docs/api-reference/account-level/git-codestore/generate-git-code-store-project-download-url.md):

```bash
curl -f "$DOWNLOAD_URL" -o repository.zip
```

For an upload, use the exact `uploadUrl` and every entry in `headers` returned by [Generate Git Code Store Project Upload Url](https://dev.wix.com/docs/api-reference/account-level/git-codestore/generate-git-code-store-project-upload-url.md). For example, if `headers` contains only `content-type: application/zip`:

```bash
curl -f -X PUT "$UPLOAD_URL" \
  -H 'content-type: application/zip' \
  --data-binary @repository.zip
```

Include any additional returned headers unchanged. Don't send the Wix authorization value to either signed transfer URL. Wait for a successful PUT before committing, and don't replace the staged ZIP while a commit is in progress.