CHIRP Wireless Dashboards API
The Dashboards API from CHIRP Wireless — 5 operation(s) for dashboards.
The Dashboards API from CHIRP Wireless — 5 operation(s) for dashboards.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/chirpwireless-io:chirpwireless-io-dashboards-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Chirpwireless Io Dashboards API
version: 1.0.0
description: 'Operations tagged Dashboards across 2 of this provider''s published API definitions: chirpwireless-io-openapi.yaml, chirpwireless-io-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.chirpwireless.io
description: Chirp API
security:
- ApiKeyAuth: []
OrgId: []
tags:
- name: Dashboards
paths:
/api/v2/dashboards:
get:
operationId: listDashboards
summary: List dashboards
description: 'Retrieve all dashboards and folders as a tree structure.
**Required scope:** `dashboards:read`'
tags:
- Dashboards
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
type: object
properties:
access:
type: string
description: '"organization"'
configuration:
type: string
description: JSON string
data:
type: array
description: children (recursive, always array, never null)
items:
type: object
properties:
access:
type: string
description: '"organization"'
configuration:
type: string
description: JSON string
data:
type: array
description: children (recursive, always array, never null)
items:
type: object
description:
type: string
displayOrder:
type: integer
description: Client-managed ordering
icon:
type: string
id:
type: string
name:
type: string
type:
type: string
description: '"folder" or "dashboard"'
widgetIds:
type: array
description: List of widget IDs (always array, never null)
items:
type: object
description:
type: string
displayOrder:
type: integer
description: Client-managed ordering
icon:
type: string
id:
type: string
name:
type: string
type:
type: string
description: '"folder" or "dashboard"'
widgetIds:
type: array
description: List of widget IDs (always array, never null)
items:
type: string
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
parameters:
- name: organizationId
in: query
required: true
description: Organization ID
schema:
type: string
post:
operationId: createDashboard
summary: Create dashboard
description: 'Create a new dashboard or folder.
**Required scope:** `dashboards:write`'
tags:
- Dashboards
responses:
'200':
description: Created
content:
application/json:
schema:
type: object
properties:
id:
type: string
name:
type: string
type:
type: string
organizationId:
type: string
parentId:
type: string
displayOrder:
type: integer
createdAt:
type: string
updatedAt:
type: string
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
name:
type: string
description: Dashboard or folder name
organizationId:
type: string
type:
type: string
description: '''dashboard'' or ''folder'''
enum:
- dashboard
- folder
parentId:
type: string
description: Parent folder ID (null for root)
description:
type: string
icon:
type: string
displayOrder:
type: integer
configuration:
type: string
description: JSON configuration string
required:
- name
- organizationId
- type
servers:
- url: https://api.chirpwireless.io
description: Chirp API
/api/v2/dashboards/{id}:
put:
operationId: updateDashboard
summary: Update dashboard
description: 'Update dashboard or folder metadata.
**Required scope:** `dashboards:write`'
tags:
- Dashboards
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
message:
type: string
success:
type: boolean
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
parameters:
- name: id
in: path
required: true
description: Dashboard ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
configuration:
type: string
description:
type: string
icon:
type: string
name:
type: string
organizationId:
type: string
required:
- organizationId
delete:
operationId: deleteDashboard
summary: Delete dashboard
description: 'Delete a dashboard by ID.
**Required scope:** `dashboards:write`'
tags:
- Dashboards
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
deletedCount:
type: integer
message:
type: string
success:
type: boolean
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
parameters:
- name: id
in: path
required: true
description: Dashboard ID
schema:
type: string
- name: organizationId
in: query
required: true
description: Organization ID
schema:
type: string
- name: cascade
in: query
description: Delete children if true
schema:
type: boolean
default: false
servers:
- url: https://api.chirpwireless.io
description: Chirp API
/api/v2/dashboards/{id}/move:
post:
operationId: moveDashboard
summary: Move dashboard
description: 'Move a dashboard to a new parent folder and/or position.
**Required scope:** `dashboards:write`'
tags:
- Dashboards
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
access:
type: string
description: '"organization"'
configuration:
type: string
description: JSON string
description:
type: string
displayOrder:
type: integer
description: Client-managed ordering
icon:
type: string
id:
type: string
name:
type: string
type:
type: string
description: '"folder" or "dashboard"'
widgetIds:
type: array
description: List of widget IDs (always array, never null)
items:
type: string
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
parameters:
- name: id
in: path
required: true
description: Dashboard ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
insertAfterDashboardId:
type: string
description: empty = beginning
newParentId:
type: string
description: empty = root
organizationId:
type: string
required:
- organizationId
servers:
- url: https://api.chirpwireless.io
description: Chirp API
/api/v2/widgets:
get:
operationId: getWidgets
summary: Get widgets
description: 'Retrieve widget definitions by their IDs.
**Required scope:** `dashboards:read`'
tags:
- Dashboards
responses:
'200':
description: OK
content:
application/json:
schema:
type: array
items:
type: object
properties:
configuration:
type: object
createdAt:
type: string
dashboardId:
type: string
id:
type: string
type:
type: string
updatedAt:
type: string
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
parameters:
- name: ids
in: query
required: true
description: Comma-separated widget IDs
schema:
type: string
- name: organizationId
in: query
required: true
description: Organization ID
schema:
type: string
post:
operationId: createWidget
summary: Create widget
description: 'Add a widget to a dashboard.
**Required scope:** `dashboards:write`'
tags:
- Dashboards
responses:
'200':
description: Successful response
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
configuration:
type: object
dashboardId:
type: string
organizationId:
type: string
type:
type: string
required:
- configuration
- dashboardId
- organizationId
- type
servers:
- url: https://api.chirpwireless.io
description: Chirp API
/api/v2/widgets/{id}:
put:
operationId: updateWidget
summary: Update widget
description: 'Update widget type or configuration.
**Required scope:** `dashboards:write`'
tags:
- Dashboards
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
message:
type: string
success:
type: boolean
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
parameters:
- name: id
in: path
required: true
description: Widget ID
schema:
type: string
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
configuration:
type: object
type:
type: string
delete:
operationId: deleteWidget
summary: Delete widget
description: 'Delete a widget by ID.
**Required scope:** `dashboards:write`'
tags:
- Dashboards
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
message:
type: string
success:
type: boolean
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
parameters:
- name: id
in: path
required: true
description: Widget ID
schema:
type: string
- name: organizationId
in: query
required: true
description: Organization ID
schema:
type: string
servers:
- url: https://api.chirpwireless.io
description: Chirp API
components:
schemas:
Error:
type: object
required:
- error
- message
properties:
error:
type: string
message:
type: string
responses:
Unauthorized:
description: Missing or invalid API key
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: unauthenticated
message: missing X-API-Key header
Forbidden:
description: Insufficient permissions (missing required scope)
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
error: permission_denied
message: 'API key lacks required scope: devices:write'
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-Key
description: 'API key for authentication (format: `chirp_<key>`)'
OrgId:
type: apiKey
in: header
name: X-Organization-Id
description: Organization UUID that the API key belongs to
x-refined-from:
- chirpwireless-io-openapi.yaml
- chirpwireless-io-openapi.yml
x-tagGroups:
- name: REST API
tags:
- Users
- Devices
- Sensors
- Commands
- Telemetry
- Connections
- Connectors
- Dashboards
- Orgs
- Subscriptions
- Api-Keys
- Rules
- name: On-Prem / Advanced (gRPC)
tags:
- User Profile (gRPC)
- Digital Device (gRPC)
- Sensor Template (gRPC)
- Connector (gRPC)
- Connection (gRPC)
- Dashboard (gRPC)
- Widget (gRPC)
- Actuator Command (gRPC)
- Sensor Query (gRPC)
- Organizations (gRPC)
- Access Control (gRPC)