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.