top of page

Template Scanner API Integration

Integrate the AUTOMATE+ Template Scanner with your pipeline via API

β¦Ώ Step 1 : Navigate to Template Scanner
https://app.6pillars.ai/template-scanner

Click on Tab on How to generate token tab

Read through the instructions

or else follow these steps

Before using template scanner you need to create a new API user. This is same as creating app user. Go to Manage users page (Manage Users )

On top right corner of the page you can see β€œGenerate API Token” click this

Then you would be able to see the API token this is valid only for 3 months. Please make sure you safely secure this token.

Once Everything Setup and you have the access token you can now follow step 2 End-point: Get all template results

β¦Ώ Step 2 : REST API endpoints

API End-point: Get all template results

Method - POST
URL - https://api.app.6pillars.ai/templatescanner/results
Header πŸ”‘- Authorization : Bearer: {token}
Request Body - None
Response Body: (JSON)

{
β€Ž β€Ž β€Ž β€Ž "status": 1,
β€Ž β€Ž β€Ž β€Ž "msg": "success",
β€Ž β€Ž β€Ž β€Ž "results": {
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "ec2.tf": {
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "results": [
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž {
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "id": "TSN_SECRET_2",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "check_type": "secrets",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "finding": "FAILED",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "resource": "fc3f784491eba6121c3bfcc1652a2c",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "description": "AWS Access Key",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "file_line_range": "15-16",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "severity": "N/A"
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž },
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž {
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "id": "TSN_SECRET_6",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "check_type": "secrets",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "finding": "FAILED",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "resource": "c00f1a6e4b20aa64691d50781b8107",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "description": "Base64 High Entropy String",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "file_line_range": "16-17",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "severity": "N/A"
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž }
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž],
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž"summary": {
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "filename": "ec2.tf",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "alias": "N/A",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "created_at": "2023-09-26 03:46:14",
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "passed": 0,
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "failed": 2,
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "critical": 0,
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "high": 0,
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "medium": 0,
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž "low": 0
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž β€Ž }
β€Ž β€Ž β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž}
β€Ž β€Ž β€Ž β€Ž }
}


cURL:

curl --location --request POST 'https://api.app.6pillars.ai/templatescanner/results' \
--header 'Authorization: Bearer {token}'

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

API End-point: Upload Template
Method: POST
URL: https://api.app.6pillars.ai/templatescanner/upload-template
Request Body (JSON)

{
β€Ž β€Ž β€Ž β€Ž β€Ž"fileName": "main.tf",
β€Ž β€Ž β€Ž β€Ž β€Ž"fileAlias": "MainTemplate",
β€Ž β€Ž β€Ž β€Ž β€Ž"fileString": "cHJvdmlkZXIgImF3cyIge1xuICBhY2Nlc3Nfa2V5ID0gIkFLSUFJT1NGT0ROTjdFWEFNUExFIlxuICBzZWNyZXRfa2V5ID0gIndKYWxyWFV0bkZFTUkvSzdNREVORy9iUHhSZmlDWUVYQU1BQUFLRVkiXG59"
}

{
β€Ž β€Ž β€Ž β€Ž β€Ž"status": 1,
β€Ž β€Ž β€Ž β€Ž β€Ž"msg": "success"
}

Request Body Parameters:
fileName: String
fileAlias [optional]: String
fileString [base64 encoded file contents]: String

Response Body:

cURL:

curl --location 'https://api.app.6pillars.ai/templatescanner/upload-template' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \
--data '{
β€Ž β€Ž β€Ž β€Ž β€Ž"fileName": "main.tf",
β€Ž β€Ž β€Ž β€Ž β€Ž"fileAlias": "MainTemplate",
β€Ž β€Ž β€Ž β€Ž β€Ž"fileString": "cHJvdmlkZXIgImF3cyIge1xuICBhY2Nlc3Nfa2V5ID0gIkFLSUFJT1NGT0ROTjdFWEFNUExFIlxuICBzZWNyZXRfa2V5ID0gIndKYWxyWFV0bkZFTUkvSzdNREVORy9iUHhSZmlDWUVYQU1BQUFLRVkiXG59"
}'

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

End-point: Get single result

Method: POST
URL: https://api.app.6pillars.ai/templatescanner/result
Request Body (JSON)
Header - Authorization : Bearer: {token}

{
β€Ž β€Ž β€Ž β€Ž β€Ž"fileName": "main.tf",
β€Ž β€Ž β€Ž β€Ž β€Ž"fileAlias": "Main File Alias"
}

{
β€Ž β€Ž β€Ž β€Ž β€Ž"status": 1,
β€Ž β€Ž β€Ž β€Ž β€Ž"msg": "success",
β€Ž β€Ž β€Ž β€Ž β€Ž"summary": {
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"filename": "main.tf",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"alias": "N/A",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"passed": 0,
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"critical": 0,
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"high": 0,
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"medium": 0,
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"low": 0,
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"created_at": "2023-09-26 03:46:37",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"failed": 2
β€Ž β€Ž β€Ž β€Ž β€Ž},
β€Ž β€Ž β€Ž β€Ž β€Ž"results": [
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž{
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"id": "TSN_SECRET_2",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"check_type": "secrets",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"finding": "FAILED",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"resource": "25910f981e85ca04baf359199dd0bd",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"description": "AWS Access Key",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"file_line_range": "1-2",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"severity": "N/A"
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž},
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž{
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"id": "TSN_SECRET_6",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"check_type": "secrets",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"finding": "FAILED",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"resource": "c00f1a6e4b20aa64691d50781b8107",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"description": "Base64 High Entropy String",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"file_line_range": "1-2",
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž"severity": "N/A"
β€Ž β€Ž β€Ž β€Ž β€Žβ€Ž β€Ž β€Ž β€Ž β€Ž}
β€Ž β€Ž β€Ž β€Ž β€Ž]
}



cURL:

curl --location 'https://api.app.6pillars.ai/templatescanner/result' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer {token}' \
--data '{
β€Ž β€Ž β€Ž β€Ž "fileName": "main.tf"
}'

Postman Collection
(available on request)

⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃ ⁃

Template Scanner API Integration

6pl org white ai logo.png

(C) Copyright 2023 6PILLARS CLOUD AUTOMATION PTY LTD

bottom of page