Particle Products API

The Products API from Particle — 5 operation(s) for products.

Operations 11

GET /v1/user/products List products #
GET /v1/products/{productIdOrSlug} Retrieve a product #
GET /v1/products/{productIdOrSlug}/team List team members #
POST /v1/products/{productIdOrSlug}/team Create an API user #
POST /v1/products/{productIdOrSlug}/team/{username} Update team member #
DELETE /v1/products/{productIdOrSlug}/team/{username} Remove team member #
PUT /v1/products/{productIdOrSlug}/team/{username}/token Regenerate programmatic user's token #
GET /v1/products/{productIdOrSlug}/devices List devices in a product fleet
POST /v1/products/{productIdOrSlug}/devices Import devices into a product
GET /v1/products/{productIdOrSlug}/devices/{deviceId} Get a product device
DELETE /v1/products/{productIdOrSlug}/devices/{deviceId} Remove a device from a product

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-products-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-products-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Particle Products API
  version: 1.0.0
  description: 'Operations tagged Products 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: Products
paths:
  /v1/user/products:
    get:
      summary: List products
      operationId: listProducts
      tags:
      - Products
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: List products the currently authenticated user has access to
      security:
      - bearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud API
  /v1/products/{productIdOrSlug}:
    get:
      summary: Retrieve a product
      operationId: GetProduct
      tags:
      - Products
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: Retrieve details for a product.
      parameters:
      - name: productIdOrSlug
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud API
  /v1/products/{productIdOrSlug}/team:
    get:
      summary: List team members
      operationId: listUsersForProductOrOrg
      tags:
      - Products
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: List all team members that are part of a given product. Also, will retrieve all API users for all the products inside the org
      parameters:
      - name: productIdOrSlug
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
    post:
      summary: Create an API user
      operationId: createProgrammaticUser
      tags:
      - Products
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: Create an API user with specified scopes. This API user will have a single non-expiring access token.
      parameters:
      - name: productIdOrSlug
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud API
  /v1/products/{productIdOrSlug}/team/{username}:
    post:
      summary: Update team member
      operationId: updateProductOrOrgTeamMember
      tags:
      - Products
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: Update a current team member.
      parameters:
      - name: productIdOrSlug
        in: path
        required: true
        schema:
          type: string
      - name: username
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
    delete:
      summary: Remove team member
      operationId: removeTeamMember
      tags:
      - Products
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: Remove a current team member.
      parameters:
      - name: productIdOrSlug
        in: path
        required: true
        schema:
          type: string
      - name: username
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud API
  /v1/products/{productIdOrSlug}/team/{username}/token:
    put:
      summary: Regenerate programmatic user's token
      operationId: regenerateProductOrOrgProgrammaticUserToken
      tags:
      - Products
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: Regenerate programmatic users token
      parameters:
      - name: productIdOrSlug
        in: path
        required: true
        schema:
          type: string
      - name: username
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud API
  /v1/products/{productIdOrSlug}/devices:
    get:
      summary: List devices in a product fleet
      parameters:
      - in: path
        name: productIdOrSlug
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A list of product devices.
      tags:
      - Products
      security:
      - BearerAuth: []
    post:
      summary: Import devices into a product
      parameters:
      - in: path
        name: productIdOrSlug
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: Devices imported.
      tags:
      - Products
      security:
      - BearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud production
  /v1/products/{productIdOrSlug}/devices/{deviceId}:
    get:
      summary: Get a product device
      parameters:
      - in: path
        name: productIdOrSlug
        required: true
        schema:
          type: string
      - in: path
        name: deviceId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Product device details.
      tags:
      - Products
      security:
      - BearerAuth: []
    delete:
      summary: Remove a device from a product
      parameters:
      - in: path
        name: productIdOrSlug
        required: true
        schema:
          type: string
      - in: path
        name: deviceId
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Device removed.
      tags:
      - Products
      security:
      - BearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud production
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