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: You can track a maximum of 1000 assets per API version. 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

  • 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.