Check out project files from Git
POST https://{controlplane_path}/api/1/rest/public/project/checkout/{project_path}
Overview
This API checks out the specified Git branch for the specified project. Equivalent to git checkout.
- 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.
Prerequisites
- Write access to the assets to be added or updated
Limitations
- You cannot use SnapLogic service accounts to call any of the SnapLogic Git operation APIs.
Request
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:
elastic.snaplogic.com
For the UAT or EMEA control plane, substitute the name for elastic. For
example:
|
project_path |
Required.
The path to the SnapLogic project.
Format:
Important: The path comparison is case-sensitive.
|
Query parameters
None.
Request header
Basic authentication
To use basic authentication, specify Basic for authorization in the request
header, add your credentials (email and password for your SnapLogic user or service account), and
specify application/json for content type. For example:
Authorization: Basic {base64_encoded <email>:<password>}
Content-Type: application/json
Example of basic authentication using Postman:
Learn more about the basic authentication header in REST API requests.
JWT authentication
When using JWT authentication, the API request includes specific headers. In the request header,
specify Bearer Token for authorization, add the token, and specify
application/json for content type. These headers are automatically added when
you configure bearer token authentication in your API client. The authorization header contains
the word Bearer followed by a space and your JWT.
Authorization: Bearer Token {token}
Content-Type: application/json
Example of JWT authentication using Postman:
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: |
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
{
"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. |