Project types

This section shows the different kinds of projects that any user can create and interact with. As well as the main benefits and drawbacks of using each one of them.

Intro to project types

A user can create projects to organize and separate their sensors before uploading their data to the blockchain.

However, Airtrace supports more than one type of project, each with their own unique advantages.

In order to create any project, the user can create it directly from the website by pressing the "Create new project" button, or they can use the specific POST method for the project they want to create, each of the methods is documented below.

Hierarchical projects

Hierarchical projects are composed of different deployments, each deployment generally encompasses a set of spots which are geographically close to one another.

The user can assign sensors to a spot after creating an identity for that sensor, see Infrastructure

Hierarchical projects do not have a commit interval associated, instead, each of the deployments associated to the project will have it's own commit interval, this allows the user to set many deployments with different values for the commit interval inside their project if they consider some spots should blockchainize the data more often than others.

A hierarchical project has a title and optional picture associated with it, which may be inputed by the user during the project creation, in the following endpoint:

Creates a new project

POST https://api.airtrace.io/v1/projects

Request Body

Name
Type
Description

name*

String

Name of the new project

photo*

String

Project picture url

status*

String

Status of the current project

Plain projects

Plain projects serve as a group of spots, each with the same commit interval. Spots can be directly created under a plain project without the need of intermediary deployments.

The user can assign sensors directly to a plain project after creating an identity for that sensor, see Infrastructure

The user may create a plain project if they feel like the different spots inside the project needn't be grouped by either geographical location or commit interval.

To create a new plain project the user can either add a new optional field "commit_interval" to the hierarchical project creation endpoint, or user the more specific plain project creation endpoint:

Creates a new plain project

POST https://api.airtrace.io/v1/plain

Request Body

Name
Type
Description

name*

String

Name of the new project

photo*

String

Project picture url

status*

String

Status of the current project

commit_interval*

String

Commit interval for the project

Bio projects

Bio projects are similar to plain projects but exist to serve the specific purpose of tracking the species and their environmental resilience in a given environment.

Bio projects may host biological data on the species contained in them and use satellite imagery merged with artificial intelligence in order to track the evolution and environmental resilience of the ecosystem through time.

The user may create a bio project and add biological data either manually or by submitting a shapefile containing the necessary information to our API.

Creates a new bio project

POST https://api.airtrace.io/v1/bio

Request Body

Name
Type
Description

name*

String

Name of the new project

photo*

String

Project picture url

status*

String

Status of the current project

commit_interval*

String

Commit interval for the project

Auto-Generated projects

The user can also automatically create and populate a project using the autogenerate endpoint.

This endpoint receives a csv file that contains all of the primary identifiers of the sensors that our project will have when it is done generating, and creates a new plain project with a sensor for each primary identifier.

The primary identifiers should be unique for the user, each one will be assigned to a new automatically generated sensor. For more information about primary identifiers, see Identities.

Keep in mind that autogenerated projects are always plain projects and thus cannot host deployments.

Creates a new plain project and populates it

POST https://api.airtrace.io/v1/plain/autogenerate/{interface}

The endpoint should receive a multipart request with a 'file' field, containing csv file with any name. The csv file contains one line for each primary identifier.

Path Parameters

Name
Type
Description

interface*

String

Either "mqtt" or "restful"

Request Body

Name
Type
Description

file*

File

csv file containing primay ids

Last updated