openapi: 3.0.3 info: title: Particle Cloud Authentication OAuth API description: The Particle Cloud REST API enables developers to interact with Particle-connected devices — calling device functions, reading variables, publishing and subscribing to events, managing SIM cards, performing OTA firmware updates, and administering product fleets. All requests use OAuth 2.0 bearer tokens and target https://api.particle.io. version: 1.0.0 contact: name: Particle Developer Support url: https://docs.particle.io/reference/cloud-apis/api/ license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: https://api.particle.io description: Particle Cloud API security: - bearerAuth: [] 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. 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 /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 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 components: securitySchemes: bearerAuth: type: http scheme: bearer description: OAuth 2.0 bearer token. Obtain via POST /oauth/token. externalDocs: description: Particle Cloud API Reference url: https://docs.particle.io/reference/cloud-apis/api/