Particle Diagnostics API

The Diagnostics API from Particle — 4 operation(s) for diagnostics.

Operations 4

POST /v1/diagnostics/{deviceId}/update Refresh device vitals #
GET /v1/diagnostics/{deviceId}/last Get last known device vitals #
GET /v1/diagnostics/{deviceId} Get all historical device vitals #
GET /v1/sims/{iccid}/status Get cellular network status #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/particle-diagnostics-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API 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 Specification

particle-diagnostics-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Particle Diagnostics API
  version: 1.0.0
  description: 'Operations tagged Diagnostics across 2 of this provider''s published API definitions: particle-cloud-api-openapi.yml, particle-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.particle.io
  description: Particle Cloud API
tags:
- name: Diagnostics
paths:
  /v1/diagnostics/{deviceId}/update:
    post:
      summary: Refresh device vitals
      operationId: updateDeviceDiagnostics
      tags:
      - Diagnostics
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: 'Refresh diagnostic vitals for a single device. This will instruct the device to publish a new event to the Device Cloud containing a device vitals payload. This is an asynchronous request: the HTTP request returns immediately after the request to the device is sent. In order for the device to respond with a vitals payload, it must be online and connected to the Device Cloud. The device will respond by publishing an event named spark/device/diagnostics/update. See the description of the device vitals event.'
      parameters:
      - name: deviceId
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud API
  /v1/diagnostics/{deviceId}/last:
    get:
      summary: Get last known device vitals
      operationId: getLastDeviceDiagnostics
      tags:
      - Diagnostics
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: Returns the last device vitals payload sent by the device to the Device Cloud.
      parameters:
      - name: deviceId
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud API
  /v1/diagnostics/{deviceId}:
    get:
      summary: Get all historical device vitals
      operationId: getAllDeviceDiagnostics
      tags:
      - Diagnostics
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: Returns all stored device vital records sent by the device to the Device Cloud. Device vitals records will expire after 1 month.
      parameters:
      - name: deviceId
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud API
  /v1/sims/{iccid}/status:
    get:
      summary: Get cellular network status
      operationId: getCellularNetworkStatus
      tags:
      - Diagnostics
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: Get cellular network status for a given device. Kicks off a long running task that checks if the device/SIM has an active data session with a cell tower. Values for keys in the sim_status object will be null until the task has finished. Poll the endpoint until meta.state is complete. At this point, the sim_status object will be populated. Note that responses are cached by the cellular network providers. This means that on occasion, the real-time status of the device/SIM may not align with the results of this test.
      parameters:
      - name: iccid
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud API
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: OAuth 2.0 bearer token. Obtain via POST /oauth/token.
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: OAuth2 access token
      description: 'Pass `Authorization: Bearer {access_token}`. Tokens are issued via

        `POST /oauth/token`.

        '
externalDocs:
  description: Particle Cloud API Reference
  url: https://docs.particle.io/reference/cloud-apis/api/
x-refined-from:
- particle-cloud-api-openapi.yml
- particle-openapi.yml