Create API version from Git
POST https://{controlplane_path}/api/1/rest/public/apim/create-version/{path_to_apiversion}
Important: This page describes a Classic APIM API.
Overview
Create a Classic APIM API version using the files in the specified Git repository and branch.
Note: The Git Integration counts files separately for the Service
folder, each version folder, and each endpoint folder, and tracks up to 1,000 files in each.
The count includes every tracked asset, because each asset is stored as one file, plus the
metadata file in the folder and any other files the folder holds in the repository. Each
file can be up to 50 MB. An operation that exceeds either limit fails with an error.
Prerequisites
- Environment (Org) admin permissions
- Git hosting provider requirements:
- The environment (Org) must be correctly configured to use a Git hosting provider supported by SnapLogic.
- The user must have an authenticated account with the Git hosting provider.
Learn more: SnapLogic - Git Integration
Limitations
- You can't use SnapLogic service accounts to call any of the SnapLogic API Management Git operation APIs.
Request header
Use the application/json content type with basic authentication (email
and password) or a JWT. For examples, refer to Authentication.
Example
This example uses Basic authentication. For a JWT example, refer to Authentication.
curl -X 'POST' \
'https://elastic.snaplogic.com/api/1/rest/public/apim/create-version/acme/apim/BookStore/1.0' \
-H 'Authorization: Basic {base64_encoded email:password}' \
-H 'Content-Type: application/json' \
-d '{
"repo": "https://github.com/acme/bookstore-api",
"ref": "refs/heads/main"
}'
Response
{
"response_map": [
{
"org_name/apim/api/apiversion": {
"status": "updated",
"overwritten": [],
"ignored": [],
"updated": [],
"created": [
"Company name",
"file.zip",
"file.txt",
"mypipeline",
"mypipelineTask",
"test.txt"
],
"error_msgs": []
}
}
],
"http_status_code": 200
}
| Key | Type | Description |
|---|---|---|
status |
string | The status of the version creation command performed using the Public API. |
overwritten |
array | An empty list. No files are overwritten, because the project is new. |
ignored |
array | Asset files that exist in the Git repository but were not copied into the project. |
updated |
array | An empty list. No files are updated, because the project is new. |
created |
array | Asset files that were copied from the Git repository into the API version. |
error_msgs |
array/string | Any error messages that appear when the version creation command is performed. |
Error handling
| HTTP status codes | Message | Resolution |
|---|---|---|
| 400 | Repo and ref are required for creating version from branch | Ensure both repo and ref parameters are provided in the request body. |
| 400 | Org not found for the user | Verify the Org name in the API version path is correct. |
| 401 | Unauthorized | Verify your credentials and permissions. |
| 404 | Not Found | Verify the Snaplex path exists and is accessible. |