Check out project files from Git

POST /project/checkout/{project_path}


This API checks out the specified Git branch for the specified project. Equivalent to git checkout.

You can use Git APIs in Continuous Integration / Continuous Deployment (CI/CD) workflows to pull files from Git repositories. You can use this API to update a project to a newly tagged version or to revert to a previously stable tag.

  • The project must already exist.
  • You can track a maximum of 1000 assets per project. If a check-in would exceed 1000 assets in the repository or if you try to check out a project with more than 1000 assets, an error is thrown.


  • Write access to the assets to be added or updated


  • You cannot use SnapLogic service accounts to call any of the SnapLogic Git operation APIs.


 POST https://{controlplane_path}/api/1/rest/public/project/checkout/{project_path}

Path Parameters

Key Description
controlplane_path Required. The path to the SnapLogic control plane.


For other control planes, substitute the subdomain name for elastic. For example:
Required. The path to the SnapLogic project.

Format: /{env_org}/{project_space}/{project_name}

Important: The path comparison is case-sensitive.

Query Parameters


Request Header

Specify Basic for authorization and application/json for content type.

Authorization: Basic {your_encoded_security_credentials}
Content-Type: application/json

Request Body

  "repo" : "git_repository",
  "ref" : "branch_name",
  "hard_reset" : true,
  "discard_untracked_file" : true
Key Type Description
repo string The Git repository to check out. If not specified, the repository that was previously associated with the project is used.

Default: None

ref string Required. The Git branch to check out.

Default: heads/main

hard_reset Boolean If true, modified assets are discarded and new assets are force-pulled from the repository.

Default: False

discard_untracked_file Boolean If true, untracked assets are discarded.

Default: False


Response Body

  "response_map": {
    "status": "",
    "overwritten": [ ... ],
    "updated": [ ... ],
    "error_msgs": [ ... ],
    "created": [ ... ],
    "ignored": [ ... ]
  "http_status_code": 200
Key Type Description
status string The status of the process.
overwritten array The list of files that were overwritten.
updated array The list of files that were updated.
error_msgs array Any error messages that were thrown during the process.
created array Asset files that were copied from the Git repository into the project.
ignored array Asset files that exist in the Git repository but were not copied into the project.