The Git Code Store Projects API lets you transfer a managed project's Git repository as a ZIP archive to inspect or edit its code outside Wix.
With the Git Code Store Projects API, you can:
Uploading a ZIP stages its contents. The repository changes only when you commit the upload. Committing creates a normal child commit and preserves Git history. It doesn't publish or deploy the app.
It's important to note the following points before starting to code:
https://www.wixapis.com/codestore/v2/git-code-store-projects. The examples use <AUTH> for an authorization value representing the authenticated user. For companion apps, send the site's ID in the wix-site-id header. The site ID selects the context. It doesn't grant access or replace the user's identity.AppManagedProject with a Git repository. Use this ID as managedProjectId throughout the download, upload, and commit flow. A site ID or a legacy v1 Code Store project ID is not a substitute. These three operations do not create or discover managed projects.main when omitted. A revision ID is a full 40-character Git commit SHA. When downloading an older revision, it must be reachable from the selected branch.expectedHeadRevisionId when committing to prevent overwriting intervening changes.The API enforces the following archive limits:
| Limit | Download | Upload |
|---|---|---|
| Compressed ZIP size | 64 MiB | 64 MiB |
| Total expanded content | 256 MiB | 256 MiB |
| Count | 10,000 tracked files | 10,000 ZIP entries, including directories |
Download limits are checked when generating the archive. Upload limits are checked when committing. A successful signed PUT does not mean the archive is valid or within these limits. Exceeding a limit returns REPOSITORY_ARCHIVE_TOO_LARGE.
ZIP entries represent paths relative to the repository root. Put the repository's contents at the archive root, without an extra enclosing project directory. Regular files, executable files, directories, and supported symbolic links can be uploaded. Downloads include hidden files and materialized Git LFS content, but exclude Git history.
/ between path components.. and .. components, .git components in any letter case, backslashes, colons, and characters below U+0020 are rejected. A leading ./ and directory entries ending in / are accepted on upload.src/file. is rejected.README.md and readme.md can't both appear. A file or symbolic link can't also be the parent directory of another entry..git component are rejected.Unsupported or malformed archives return INVALID_REPOSITORY_ARCHIVE. This code can also indicate invalid commit metadata or an invalid expected head. Check the error message before rebuilding the ZIP.
The Sample Flows article describes these workflows. The Transfer Repository Archives article shows the signed HTTP transfers used in them.
managedProjectId.uploadId. Its contents affect the repository only after you commit it.Last updated: 12 October 2026