Particle OAuth API

The OAuth API from Particle — 2 operation(s) for oauth.

Operations 5

GET /v1/clients List clients #
POST /v1/clients Create a client #
PUT /v1/clients/{clientId} Update a client #
DELETE /v1/clients/{clientId} Delete a client #
POST /oauth/token Generate an access token

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-oauth-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-oauth-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Particle O Auth API
  version: 1.0.0
  description: 'Operations tagged OAuth 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: OAuth
paths:
  /v1/clients:
    get:
      summary: List clients
      operationId: GetV1Clients
      tags:
      - OAuth
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: Get a list of all existing OAuth clients, either owned by the authenticated user or clients associated with a product.
      security:
      - bearerAuth: []
    post:
      summary: Create a client
      operationId: CreateOAuthClient
      tags:
      - OAuth
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: Create an OAuth client that represents an app. Use type=installed for most web and mobile apps. If you want to have Particle users login to their account on Particle in order to give your app access to their devices, then you can go through the full OAuth authorization code grant flow using type=web. This is the same way you authorize it is similar to the way you give any app access to your Facebook or Twitter account. Your client secret will never be displayed again! Save it in a safe place. If you use type=web then you will also need to pass a redirect_uri parameter in the POST body. This is
      security:
      - bearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud API
  /v1/clients/{clientId}:
    put:
      summary: Update a client
      operationId: UpdateOAuthClient
      tags:
      - OAuth
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: Update the name or scope of an existing OAuth client.
      parameters:
      - name: clientId
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
    delete:
      summary: Delete a client
      operationId: DeleteV1ClientsClientid
      tags:
      - OAuth
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
      description: Remove an OAuth client
      parameters:
      - name: clientId
        in: path
        required: true
        schema:
          type: string
      security:
      - bearerAuth: []
    servers:
    - url: https://api.particle.io
      description: Particle Cloud API
  /oauth/token:
    post:
      summary: Generate an access token
      requestBody:
        required: true
        content:
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                grant_type:
                  type: string
                  example: password
                username:
                  type: string
                password:
                  type: string
                client_id:
                  type: string
                client_secret:
                  type: string
      responses:
        '200':
          description: Access token issued.
      tags:
      - OAuth
      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