Infrakit REST API is open for your integration project. All you need is an Infrakit user account with access to your existing project in Infrakit. Please contact your organization’s Infrakit Admin or Infrakit Services to obtain an account. Also ask them to create a project for you, if you don’t already have one.

Please specify whether you need a test account and a test project OR a real production account in a live production environment.

You will need your Organization UUID to work with the Infrakit REST API. Your admin can find it on the Admin/Organization page in Infrakit.

You will need your Project UUID to work with the Infrakit REST API. Your admin can find it on the Admin/Project page in Infrakit.

Infrakit environments

We strongly recommend that you use a separate environment for development and testing purposes.

Your Infrakit user account for development and testing is separate from your Infrakit user account in production. Also the organization and project are set up separately for different environments.

 

Development and testing environment

The Infrakit customer test service instance is available at:

https://test.infrakit.com/kuura/

Use the Infrakit IAM test service for authentication:

https://iam.test.infrakit.info/auth/token

Your development and testing Infrakit user account, organization UUID, and project UUID are separate from production. Your test account will not work in production nor in the perpetual beta service instance.

 

Production environment

The latest bleeding edge product version is available at the Infrakit perpetual beta service instance:

https://beta.infrakit.com/kuura/

The latest stable product version is available at the Infrakit main service instance:

https://app.infrakit.com/kuura/

Use the Infrakit IAM service for authentication:

https://iam.infrakit.com/auth/token

You can use your production Infrakit user account for both the perpetual beta and production service instances. Your production account will not work in the development and testing environment.

A project can only exist in one Infrakit service instance. It means that you must choose whether you want your project in the perpetual beta environment or in a stable production environment.

Currently, it is not possible to move a project from one service instance to another.

Getting started

Infrakit REST API reference documentation is available at:

  • Kuura API –

    https://docs.infrakit.com/
  • Enterprise API –

    https://docs.infrakit.com/enterprise-api.html
    
    

In the examples below, please copy the commands each to a single line – removing any line breaks.

Machine control integration

Authorization

curl -X POST 'https://iam.test.infrakit.info/auth/token' -F 'grant_type=password' -F 'username=john.doe@infrakit.com' -F 'password=***REDACTED***'

Replace the username and password above with your Infrakit credentials.

{
    "accessToken": "eyJraWQiOiI4M1p1cDE4aWY4WStWUGNwaDhTQ1wvZSsyWnMwajNFUmliNHViT3d2M2x",
    "refreshToken": "eyJjdGkiOiJKW1QiLAJlbmBiOiJBQsU2R0NNIidiYWxnIjqiUlNBLU1BRVAiwQ.qRt",
    "idToken": "eyJraWQiOiJoV0hNaEJ3YU8rMXVcL0MyTXJnaHRzRnhpWUtiWFFTWG51bmtjRW5taVFEWT0",
    "expiresIn": 3600
}

 

If you are using Linux Bash compatible shell and have tools like jq available, you can store the token in an environment variable with a one-liner like so:

TOKEN=$(curl --no-progress-meter -X POST 'https://iam.test.infrakit.info/auth/token' -F 'grant_type=password' -F 'username=john.doe@infrakit.com' -F 'password=***REDACTED***' | jq -r .accessToken)

The rest of the examples below are assuming that you have the access token in the TOKEN environment variable; otherwise, you should replace the ${TOKEN} with the actual value.

Listing projects

Suppose you need to list your available projects in Infrakit. This is as easy as it gets:

curl --request GET 'https://test.infrakit.com/kuura/v1/projects' --header 'Authorization: Bearer ${TOKEN}'

Replace the Bearer token with yours, of course.

You will get a result like:

{
    "id": 283,
    "uuid": "206bc4f1-4783-40bc-8957-025f830784c8",
    "name": "Tammitie 3D",
    "erpId": null,
    "coordinateSystemId": 10,
    "heightSystemId": 2,
    "crossSectionWidth": 60,
    "crossSectionYScale": 1.0,
    "crossSectionLogpointDelta": 2.5,
    "organizationId": 28,
    "timestamp": 1414444339000,
    "endDate": null,
    "accuracyTolerance": {
        "id": 75,
        "x": 0.2,
        "y": 0.2,
        "z": 0.05,
        "enabled": true
    },
    "archived": false,
    "optLock": 279,
    "reportsEnabled": true,
    "truckMode": "ADVANCED_MODE_ENABLED",
    "uuidAsString": "206bc4f1-4783-40bc-8957-025f830784c8",
    "projectGroupName": "Tammitie_3D"
}

Machines

To create a new machine, use endpoint POST /v1/equipment:

curl -X POST 'https://test.infrakit.com/kuura/v1/equipment'
 --header 'Authorization: Bearer ${TOKEN}'
 --header 'Content-Type: application/json'
 --data-raw '{
  "uuid": "857a81b2-539e-424d-9dc3-574824782c58",
  "identifier": "12345-123",
  "name": "My truck",
  "vendor": "infrakit",
  "type": "truck",
  "activeProjectUuid": "857a81b2-539e-424d-9dc3-574824782c58",
  "organizationUuid": "857a81b2-539e-424d-9dc3-574824782c58",
  "detail": {
    "driverName": "infrakit",
    "driverPhone": "+358401234567",
    "vehicleInfo": "My green truck" 
    }
  }'

If everything is correct, you will get a response with status code 200 OK:

{ "status": true,   "uuid": "0ad84b10-54a5-44a6-97b0-351e7d82730e" }

To access the machine’s details, use endpoint GET /v1/equipment/{uuid} using desired machine's unique identifier:

curl --request GET 'https://test.infrakit.com/kuura/v1/equipment/0ad84b10-54a5-44a6-97b0-351e7d82730e' --header 'Authorization: Bearer ${TOKEN}'

In case of a correct request, the response will contain the equipment details, like:

{
  "uuid": "857a81b2-539e-424d-9dc3-574824782c58",
  "identifier": "12345-123",
  "name": "My truck",
  "vendor": "infrakit",
  "type": "truck",
  "activeProjectUuid": "857a81b2-539e-424d-9dc3-574824782c58",
  "organizationUuid": "857a81b2-539e-424d-9dc3-574824782c58",
  "detail": {
    "driverName": "infrakit",
    "driverPhone": "+358401234567",
    "vehicleInfo": "My green truck"
  }
}

Note: you can filter the equipment by vendor or connection - see the docs for details.

For all other possible use cases, please refer to this Equipment API

Models

Models can be accessed in a few ways - both from equipment attachment, or the folder structure. Our API offers the following endpoints:

To access models through the equipment, request GET /v1/equipment/{equipmentUuid}/models:
curl -X GET 'https://test.infrakit.com/kuura/v1/equipment/857a81b2-539e-424d-9dc3-574824782c58/models' --header 'Authorization: Bearer ${TOKEN}'

For the OK request, you will get an OK response - the list of models:

[
  {
    "uuid": "857a81b2-539e-424d-9dc3-574824782c58",
    "headUuid": "98e36a77-0eb8-4b47-8a6a-6003c7fd6e77",
    "name": "my_document_under_my_folder",
    "folderPath": "/some_folder/my_folder",
    "uuidPath": "/f153e042-ecf7-4500-95d8-55ae9bbc61f2/8ab35a1e-5796-4a91-8096-21fc6c68da60",
    "version": 1,
    "state": "UNKNOWN",
    "timestamp": "2021-12-21T12:00:13Z",
    "filesize": 15322,
    "md5": "10ae7fc41b70f68b9f0d94b212608282",
    "properties": {
      "key": "my_property",
      "value": "my_property_value"
    }
  }
]

 

To download a specific model - having its unique identifier, use POST /v1/document/{uuid}/async-download

curl -X POST "https://test.infrakit.com/kuura/v1/document/857a81b2-539e-424d-9dc3-574824782c58/async-download" --header "Authorization: Bearer ${TOKEN}"

The response will be the payload:

{
  "downloadUrl": "string",
  "expires": "2020-12-21T12:00:13+00:00",
  "document": {
    "uuid": "857a81b2-539e-424d-9dc3-574824782c58",
    "headUuid": "98e36a77-0eb8-4b47-8a6a-6003c7fd6e77",
    "name": "my_document_under_my_folder",
    "folderPath": "/some_folder/my_folder",
    "uuidPath": "/f153e042-ecf7-4500-95d8-55ae9bbc61f2/8ab35a1e-5796-4a91-8096-21fc6c68da60",
    "version": 1,
    "state": "UNKNOWN",
    "timestamp": "2020-12-21T12:00:13Z",
    "filesize": 15322,
    "md5": "10ae7fc41b70f68b9f0d94b212608282",
    "properties": {
      "key": "my_property",
      "value": "my_property_value"
    }
  }
}

Afterwards, execute GET downloadUrl request targeting the download URL from previous response.

curl -X GET 'https://download.url'

Download URL must not be changed in any way, and make sure URL will not be encoded.

We can access folder’s content by its UUID. A folder can contain folders, models, documents, images etc. For the models in particular, use GET /v1/folder/{uuid}/models

curl -X GET "https://test.infrakit.com/kuura/v1/folder/857a81b2-539e-424d-9dc3-574824782c58/models" --header "Authorization: Bearer ${TOKEN}"

The response in case of a correct request is a list of models:

{
  "status": true,
  "folder": {
    "id": 1,
    "uuid": "857a81b2-539e-424d-9dc3-574824782c58",
    "name": "my_folder_under_sub_folder",
    "folderPath": "/root/sub_folder",
    "uuidPath": "/f153e042-ecf7-4500-95d8-55ae9bbc61f2/8ab35a1e-5796-4a91-8096-21fc6c68da60",
    "depth": 2
  },
  "models": [
    {
      "id": 1,
      "name": "Model 1",
      "timestamp": 1577833200000,
      "deleted": false
    }
  ]
}

 

Position telemetry

To report new position of a piece of equipment, use POST /v1/equipment/{uuid}/position
You can give either lat, lon, and altitude (WSG84), OR optionally northing, easting, and elevation values.

curl -X POST "https://test.infrakit.com/kuura/v1/equipment/0ad84b10-54a5-44a6-97b0-351e7d82730e/position?lat=22.95&lon=44.11&altitude=1.7" --header "Authorization: Bearer ${TOKEN}"

For usage with different parameters, see equipment/position API reference.

The OK response is just a successful status:
{ "status": true }

Log points

API supports posting log points.

POST /v1/logpoint

curl -X POST "https://test.infrakit.com/kuura/v1/logpoint" 
-H "Content-Type: application/x-www-form-urlencoded" 
-H "Authorization: Bearer ${TOKEN}"
-d "n=22.56&e=44.34&z=1.23&pointNumber=1&code=2&equipmentUuid=0ad84b10-54a5-44a6-97b0-351e7d82730e"

 

Project integration

Authorization is performed the same way as above (see Machine control integration).

Fetching projects: GET /v1/projects

Initial fetching of Infrakit folder structure and files per project:
GET /v1/folder/{uuid}
curl -X GET "https://test.infrakit.com/kuura/v1/folder/857a81b2-539e-424d-9dc3-574824782c58" --header "Authorization: Bearer ${TOKEN}

The response will be all folder attributes (metadata, documents, sub-folders)

{
  "status": true,
  "folder": {
    "id": 1,
    "uuid": "857a81b2-539e-424d-9dc3-574824782c58",
    "name": "my_folder_under_sub_folder",
    "folderPath": "/root/sub_folder",
    "uuidPath": "/f153e042-ecf7-4500-95d8-55ae9bbc61f2/8ab35a1e-5796-4a91-8096-21fc6c68da60",
    "depth": 2
  },
  "documents": [
    {
      "uuid": "857a81b2-539e-424d-9dc3-574824782c58",
      "headUuid": "98e36a77-0eb8-4b47-8a6a-6003c7fd6e77",
      "name": "my_document_under_my_folder",
      "folderPath": "/some_folder/my_folder",
      "uuidPath": "/f153e042-ecf7-4500-95d8-55ae9bbc61f2/8ab35a1e-5796-4a91-8096-21fc6c68da60",
      "version": 1,
      "state": "UNKNOWN",
      "timestamp": "2020-12-21T12:00:13Z",
      "filesize": 15322,
      "md5": "10ae7fc41b70f68b9f0d94b212608282",
      "properties": {
        "key": "my_property",
        "value": "my_property_value"
      }
    }
  ],
  "folders": [
    {
      "id": 1,
      "uuid": "857a81b2-539e-424d-9dc3-574824782c58",
      "name": "my_folder_under_sub_folder",
      "folderPath": "/root/sub_folder",
      "uuidPath": "/f153e042-ecf7-4500-95d8-55ae9bbc61f2/8ab35a1e-5796-4a91-8096-21fc6c68da60",
      "depth": 2
    }
  ]
}

Files are available for download, as described above, use POST /v1/document/{uuid}/async-download

Tracking for file changes inside Infrakit:
GET /v1/models/changed-files
curl -X GET "https://test.infrakit.com/kuura/v1/models/changed-files?fromTimestamp=1651059357&projectId=1" -H "Authorization: Bearer ${TOKEN}"

It will return the list of changed files:

{
  "status": true,
  "documents": [
    {
      "id": 1,
      "name": "Model 1",
      "timestamp": 1577833200000,
      "deleted": false
    }
  ]
}

 

Upload files to Infrakit:
POST /v1/model/async-upload

curl -X POST "https://test.infrakit.com/kuura/v1/model/async-upload" 
-H "Content-Type: application/json" 
-H "Authorization: Bearer ${TOKEN}"
--data-raw '{
  "filename": "string",
  "folderUuid": "string",
  "headUuid": "string",
  "contentType": "application/json",
  "size": 0,
  "checksum": "string",
  "description": "string",
  "lat": 0,
  "lon": 0,
  "accuracy": 0,
  "confidence": 0,
  "altitude": 0,
  "alignmentUuid": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "alignmentIndex": 0,
  "station": 0,
  "direction": 0,
  "originalTimestamp": "2022-04-27T11:40:58.111Z"
}'

 

The response confirms that pre-signed upload URL was created successfully:

{
  "uploadUrl": "string",
  "expires": "2020-12-21T12:00:13+00:00",
  "document": {
    "uuid": "857a81b2-539e-424d-9dc3-574824782c58",
    "headUuid": "98e36a77-0eb8-4b47-8a6a-6003c7fd6e77",
    "name": "my_document_under_my_folder",
    "folderPath": "/some_folder/my_folder",
    "uuidPath": "/f153e042-ecf7-4500-95d8-55ae9bbc61f2/8ab35a1e-5796-4a91-8096-21fc6c68da60",
    "version": 1,
    "state": "UNKNOWN",
    "timestamp": "2020-12-21T12:00:13Z",
    "filesize": 15322,
    "md5": "10ae7fc41b70f68b9f0d94b212608282",
    "properties": {
      "key": "my_property",
      "value": "my_property_value"
    }
  }
}

 

 

Execute an HTTP PUT targeting the uploadUrl with the model file as (binary) data.
The PUT request must contain a Content-Type and Content-Length headers matching the given contentType and size parameters in the request body.

curl -X PUT 'https://upload.url'

The response of that will be - the link to the created document instance metadata, with state being pending upload.

Postman

Postman is another application, like cURL, used for API testing. It is an HTTP client that tests HTTP requests with a graphical user interface through which we obtain different types of responses that need to be subsequently validated.

The above curl examples are also available in Postman format: see below

Note that, after importing to Postman, you should set variable TOKEN and set its value to the token from login request.

{
	"info": {
		"_postman_id": "f77f9188-a764-4d0a-8a7f-9be38532307f",
		"name": "Infrakit API examples",
		"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
	},
	"item": [
		{
			"name": "login - IAM",
			"request": {
				"method": "POST",
				"header": [],
				"body": {
					"mode": "formdata",
					"formdata": [
						{
							"key": "grant_type",
							"value": "password",
							"type": "default"
						},
						{
							"key": "username",
							"value": "john.doe@infrakit.com",
							"type": "default"
						},
						{
							"key": "password",
							"value": "Password123",
							"type": "default"
						}
					]
				},
				"url": {
					"raw": "https://iam.test.infrakit.info/auth/token",
					"protocol": "https",
					"host": [
						"iam",
						"test",
						"infrakit",
						"info"
					],
					"path": [
						"auth",
						"token"
					]
				},
				"description": "login on test"
			},
			"response": []
		},
		{
			"name": "avaiable projects",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{TOKEN}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"url": {
					"raw": "https://test.infrakit.com/kuura/v1/projects",
					"protocol": "https",
					"host": [
						"test",
						"infrakit",
						"com"
					],
					"path": [
						"kuura",
						"v1",
						"projects"
					]
				}
			},
			"response": []
		},
		{
			"name": "equipment",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{TOKEN}}",
							"type": "string"
						}
					]
				},
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json",
						"type": "default"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\r\n    \"uuid\": \"857a81b2-539e-424d-9dc3-574824782c58\", \r\n    \"identifier\": \"12345-123\", \r\n    \"name\": \"My truck\", \r\n    \"vendor\": \"infrakit\", \r\n    \"type\": \"truck\", \r\n    \"activeProjectUuid\": \"857a81b2-539e-424d-9dc3-574824782c58\", \r\n    \"organizationUuid\": \"857a81b2-539e-424d-9dc3-574824782c58\", \r\n    \"detail\": { \r\n        \"driverName\": \"infrakit\", \r\n        \"driverPhone\": \"+358401234567\", \r\n        \"vehicleInfo\": \"My green truck\" \r\n    }\r\n}"
				},
				"url": {
					"raw": "https://test.infrakit.com/kuura/v1/equipment",
					"protocol": "https",
					"host": [
						"test",
						"infrakit",
						"com"
					],
					"path": [
						"kuura",
						"v1",
						"equipment"
					]
				}
			},
			"response": []
		},
		{
			"name": "equipment/uuid",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{TOKEN}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"url": {
					"raw": "https://test.infrakit.com/kuura/v1/equipment/0ad84b10-54a5-44a6-97b0-351e7d82730e",
					"protocol": "https",
					"host": [
						"test",
						"infrakit",
						"com"
					],
					"path": [
						"kuura",
						"v1",
						"equipment",
						"0ad84b10-54a5-44a6-97b0-351e7d82730e"
					]
				}
			},
			"response": []
		},
		{
			"name": "equipment/by-project/uuid",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{TOKEN}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"url": {
					"raw": "https://test.infrakit.com/kuura/v1/equipment/by-project/0ad84b10-54a5-44a6-97b0-351e7d82730e",
					"protocol": "https",
					"host": [
						"test",
						"infrakit",
						"com"
					],
					"path": [
						"kuura",
						"v1",
						"equipment",
						"by-project",
						"0ad84b10-54a5-44a6-97b0-351e7d82730e"
					]
				}
			},
			"response": []
		},
		{
			"name": "equipment/uuid/models",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{TOKEN}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"url": {
					"raw": "https://test.infrakit.com/kuura/v1/equipment/857a81b2-539e-424d-9dc3-574824782c58/models",
					"protocol": "https",
					"host": [
						"test",
						"infrakit",
						"com"
					],
					"path": [
						"kuura",
						"v1",
						"equipment",
						"857a81b2-539e-424d-9dc3-574824782c58",
						"models"
					]
				}
			},
			"response": []
		},
		{
			"name": "models/id/file-download",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{TOKEN}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"url": {
					"raw": "https://test.infrakit.com/kuura/v1/models/123/file-download",
					"protocol": "https",
					"host": [
						"test",
						"infrakit",
						"com"
					],
					"path": [
						"kuura",
						"v1",
						"models",
						"123",
						"file-download"
					]
				}
			},
			"response": []
		},
		{
			"name": "folder/uuid/models",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{TOKEN}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"url": {
					"raw": "https://test.infrakit.com/kuura/v1/folder/857a81b2-539e-424d-9dc3-574824782c58/models",
					"protocol": "https",
					"host": [
						"test",
						"infrakit",
						"com"
					],
					"path": [
						"kuura",
						"v1",
						"folder",
						"857a81b2-539e-424d-9dc3-574824782c58",
						"models"
					]
				}
			},
			"response": []
		},
		{
			"name": "equipment/uuid/position",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{TOKEN}}",
							"type": "string"
						}
					]
				},
				"method": "POST",
				"header": [],
				"url": {
					"raw": "https://test.infrakit.com/kuura/v1/equipment/0ad84b10-54a5-44a6-97b0-351e7d82730e/position?lat=22.95&lon=44.11&altitude=1.7",
					"protocol": "https",
					"host": [
						"test",
						"infrakit",
						"com"
					],
					"path": [
						"kuura",
						"v1",
						"equipment",
						"0ad84b10-54a5-44a6-97b0-351e7d82730e",
						"position"
					],
					"query": [
						{
							"key": "lat",
							"value": "22.95"
						},
						{
							"key": "lon",
							"value": "44.11"
						},
						{
							"key": "altitude",
							"value": "1.7"
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "logpoint",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{TOKEN}}",
							"type": "string"
						}
					]
				},
				"method": "POST",
				"header": [],
				"body": {
					"mode": "formdata",
					"formdata": [
						{
							"key": "n",
							"value": "44.12",
							"type": "default"
						},
						{
							"key": "e",
							"value": "20.34",
							"type": "default"
						},
						{
							"key": "z",
							"value": "1",
							"type": "default"
						},
						{
							"key": "pointNumber",
							"value": "1",
							"type": "default"
						},
						{
							"key": "code",
							"value": "1",
							"type": "default"
						},
						{
							"key": "equipmentUuid",
							"value": "8cf0ce06-4bf4-4084-a4e0-72014676c6ac",
							"type": "default"
						}
					],
					"options": {
						"raw": {
							"language": "json"
						}
					}
				},
				"url": {
					"raw": "https://test.infrakit.com/kuura/v1/logpoint",
					"protocol": "https",
					"host": [
						"test",
						"infrakit",
						"com"
					],
					"path": [
						"kuura",
						"v1",
						"logpoint"
					],
					"query": [
						{
							"key": "n",
							"value": null,
							"disabled": true
						},
						{
							"key": "e",
							"value": null,
							"disabled": true
						},
						{
							"key": "pointNumber",
							"value": null,
							"disabled": true
						},
						{
							"key": "pointName",
							"value": null,
							"disabled": true
						},
						{
							"key": "code",
							"value": null,
							"disabled": true
						},
						{
							"key": "folderId",
							"value": null,
							"disabled": true
						},
						{
							"key": "modelId",
							"value": null,
							"disabled": true
						},
						{
							"key": "type",
							"value": null,
							"disabled": true
						},
						{
							"key": "timestampSeconds",
							"value": null,
							"disabled": true
						},
						{
							"key": "vehicleId",
							"value": null,
							"disabled": true
						},
						{
							"key": "useProjectMainAlignment",
							"value": null,
							"disabled": true
						},
						{
							"key": "lat",
							"value": null,
							"disabled": true
						},
						{
							"key": "lon",
							"value": null,
							"disabled": true
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "folder/uuid",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{TOKEN}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"url": {
					"raw": "https://test.infrakit.com/kuura/v1/folder/857a81b2-539e-424d-9dc3-574824782c58",
					"protocol": "https",
					"host": [
						"test",
						"infrakit",
						"com"
					],
					"path": [
						"kuura",
						"v1",
						"folder",
						"857a81b2-539e-424d-9dc3-574824782c58"
					]
				}
			},
			"response": []
		},
		{
			"name": "models/changed-files",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{TOKEN}}",
							"type": "string"
						}
					]
				},
				"method": "GET",
				"header": [],
				"url": {
					"raw": "https://test.infrakit.com/kuura/v1/models/changed-files?fromTimestamp=1651059357&projectId=1",
					"protocol": "https",
					"host": [
						"test",
						"infrakit",
						"com"
					],
					"path": [
						"kuura",
						"v1",
						"models",
						"changed-files"
					],
					"query": [
						{
							"key": "fromTimestamp",
							"value": "1651059357"
						},
						{
							"key": "projectId",
							"value": "1"
						}
					]
				}
			},
			"response": []
		},
		{
			"name": "model/async-upload",
			"request": {
				"auth": {
					"type": "bearer",
					"bearer": [
						{
							"key": "token",
							"value": "{{TOKEN}}",
							"type": "string"
						}
					]
				},
				"method": "POST",
				"header": [
					{
						"key": "Content-Type",
						"value": "application/json"
					}
				],
				"body": {
					"mode": "raw",
					"raw": "{\n  \"filename\": \"string\",\n  \"folderUuid\": \"string\",\n  \"headUuid\": \"string\",\n  \"contentType\": \"string\",\n  \"size\": 0,\n  \"checksum\": \"string\",\n  \"description\": \"string\",\n  \"lat\": 0,\n  \"lon\": 0,\n  \"accuracy\": 0,\n  \"confidence\": 0,\n  \"altitude\": 0,\n  \"alignmentUuid\": \"3fa85f64-5717-4562-b3fc-2c963f66afa6\",\n  \"alignmentIndex\": 0,\n  \"station\": 0,\n  \"direction\": 0,\n  \"originalTimestamp\": \"2022-04-27T11:40:58.111Z\"\n}"
				},
				"url": {
					"raw": "https://test.infrakit.com/kuura/v1/model/async-upload",
					"protocol": "https",
					"host": [
						"test",
						"infrakit",
						"com"
					],
					"path": [
						"kuura",
						"v1",
						"model",
						"async-upload"
					]
				}
			},
			"response": []
		}
	]
}