Projects

List all projects

get

Retrieves a list of all projects accessible by the authenticated user. Projects are returned sorted by creation date (newest first). If an API key is scoped to a specific project, only that project will be returned.

Use Cases:

  • List all projects in your account

  • View project organization and structure

  • Get project IDs for subsequent device and data operations

Authorizations
AuthorizationstringRequired

Enter your API key with the Bearer prefix, e.g. "Bearer QB_your_api_key_here"

Responses
200

Projects retrieved successfully - Returns an array of project objects

application/json
get
/v2/projects
GET /v2/projects HTTP/1.1
Host: api.qubitro.com
Authorization: YOUR_API_KEY
Accept: */*
[
  {
    "created_at": "2024-01-15T10:30:00Z",
    "description": "Production environment IoT devices",
    "id": "3e5c0246-c759-48e8-8345-27db13f11ff7",
    "name": "Production IoT Fleet",
    "tags": [
      "production",
      "fleet",
      "monitoring"
    ]
  }
]

Create a new project

post

Creates a new project in your account. Projects are containers for organizing devices and their data. After creation, devices can be added to the project using the devices API.

Required Fields:

  • name: Project name (max 100 characters)

  • description: Project description (max 500 characters)

Optional Fields:

  • tags: Array of alphanumeric tags for categorization (e.g., ["production", "us_west", "temperature_sensors"])

Permissions:

  • For individual plans: Project created with requester as admin

  • For organization plans: Project shared with organization superadmins

Authorizations
AuthorizationstringRequired

Enter your API key with the Bearer prefix, e.g. "Bearer QB_your_api_key_here"

Body
created_atstringOptional

Project creation timestamp (ISO 8601 format, UTC)

Example: 2024-01-15T10:30:00Z
descriptionstringOptional

Project description (required, max 500 characters)

Example: Production environment IoT devices
idstringOptional

Unique project identifier (UUID format)

Example: 3e5c0246-c759-48e8-8345-27db13f11ff7
namestringOptional

Project name (required, max 100 characters)

Example: Production IoT Fleet
tagsstring[]Optional

Optional tags for categorization (alphanumeric and underscore only)

Example: ["production","fleet","monitoring"]
Responses
200

Project created successfully - Returns the created project with generated ID

application/json
post
/v2/projects
POST /v2/projects HTTP/1.1
Host: api.qubitro.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 205

{
  "created_at": "2024-01-15T10:30:00Z",
  "description": "Production environment IoT devices",
  "id": "3e5c0246-c759-48e8-8345-27db13f11ff7",
  "name": "Production IoT Fleet",
  "tags": [
    "production",
    "fleet",
    "monitoring"
  ]
}
{
  "created_at": "2024-01-15T10:30:00Z",
  "description": "Production environment IoT devices",
  "id": "3e5c0246-c759-48e8-8345-27db13f11ff7",
  "name": "Production IoT Fleet",
  "tags": [
    "production",
    "fleet",
    "monitoring"
  ]
}

Get project details

get

Retrieves detailed information about a specific project including name, description, creation timestamp, and tags.

Use Cases:

  • View project configuration and metadata

  • Verify project details before operations

  • Audit project information

Authorizations
AuthorizationstringRequired

Enter your API key with the Bearer prefix, e.g. "Bearer QB_your_api_key_here"

Path parameters
project_idstringRequired

Project ID (UUID format)

Example: 3e5c0246-c759-48e8-8345-27db13f11ff7
Responses
200

Project retrieved successfully

application/json
get
/v2/projects/{project_id}
GET /v2/projects/{project_id} HTTP/1.1
Host: api.qubitro.com
Authorization: YOUR_API_KEY
Accept: */*
{
  "created_at": "2024-01-15T10:30:00Z",
  "description": "Production environment IoT devices",
  "id": "3e5c0246-c759-48e8-8345-27db13f11ff7",
  "name": "Production IoT Fleet",
  "tags": [
    "production",
    "fleet",
    "monitoring"
  ]
}

Delete a project

delete

⚠️ WARNING: Permanently deletes a project and ALL its associated resources including devices, historical data, dashboards, and configurations. This action cannot be undone.

What Gets Deleted:

  • All devices in the project

  • All historical time-series data

  • All device configurations and functions

  • All aggregated data views

  • Project settings and metadata

Prerequisites:

  • Must have admin or owner permissions

  • Project must exist and be accessible

Authorizations
AuthorizationstringRequired

Enter your API key with the Bearer prefix, e.g. "Bearer QB_your_api_key_here"

Path parameters
project_idstringRequired

Project ID (UUID format)

Example: 3e5c0246-c759-48e8-8345-27db13f11ff7
Responses
200

Project deleted successfully

application/json
delete
/v2/projects/{project_id}
DELETE /v2/projects/{project_id} HTTP/1.1
Host: api.qubitro.com
Authorization: YOUR_API_KEY
Accept: */*
{
  "action": "delete device",
  "message": "Operation completed successfully",
  "success": true
}

Invite users/groups to project

post

Share project access with users or groups in your organization. Invited members will receive email notifications and gain access based on their assigned role.

Project Roles:

Role
Permissions

owner

Full control: read, write, delete, access management, device/function management, aggregated views

admin

Full control: same as owner (read, write, delete, access management, device/function management)

readwrite

Read and modify: read, write, device management, function management, aggregated views (cannot delete project or manage access)

readonly

View only: read project, devices, functions, and aggregated views (no modifications)

Custom Roles: In addition to default roles, organizations can create custom roles with specific permission combinations.

Prerequisites:

  • Must have access-management permission on the project

  • Organization plan required for group invitations

  • Users must exist in your organization

  • Role must be a valid project role ID

Authorizations
AuthorizationstringRequired

Enter your API key with the Bearer prefix, e.g. "Bearer QB_your_api_key_here"

Path parameters
project_idstringRequired

Project ID (UUID format)

Example: 3e5c0246-c759-48e8-8345-27db13f11ff7
Body
Responses
200

Invitation sent successfully - Users will receive email notifications

application/json
post
/v2/projects/{project_id}/invite
POST /v2/projects/{project_id}/invite HTTP/1.1
Host: api.qubitro.com
Authorization: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 123

{
  "groups": [
    {
      "id": "5f8d0d55b54764ca6f3a1234",
      "role": "readwrite"
    }
  ],
  "users": [
    {
      "email": "[email protected]",
      "role": "readwrite"
    }
  ]
}
{
  "action": "delete device",
  "message": "Operation completed successfully",
  "success": true
}

Last updated