openapi: 3.0.3 info: title: Samsung SmartThings Apps Subscriptions API description: 'The SmartThings REST API provides programmatic access to the SmartThings platform for controlling connected devices, creating automations, managing locations, rooms, scenes, and building smart home integrations. Supports OAuth 2.0 Bearer tokens and personal access tokens. Base URL: https://api.smartthings.com/v1.' version: 1.0.0 contact: name: SmartThings Developer Support url: https://developer.smartthings.com/ license: name: Apache 2.0 url: https://www.apache.org/licenses/LICENSE-2.0 servers: - url: https://api.smartthings.com/v1 description: SmartThings REST API security: - BearerAuth: [] tags: - name: Subscriptions description: Device event subscriptions. paths: /subscriptions: get: operationId: listSubscriptions summary: List Subscriptions description: Returns all event subscriptions for the authenticated app. tags: - Subscriptions parameters: - name: installedAppId in: query required: false description: Filter subscriptions by installed app ID. schema: type: string responses: '200': description: List of subscriptions. content: application/json: schema: type: object properties: items: type: array items: $ref: '#/components/schemas/Subscription' '401': description: Unauthorized. post: operationId: createSubscription summary: Create Subscription description: Creates an event subscription to receive device capability events, location mode changes, or scene lifecycle events for a SmartApp. tags: - Subscriptions requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/CreateSubscriptionRequest' responses: '200': description: Subscription created. content: application/json: schema: $ref: '#/components/schemas/Subscription' '401': description: Unauthorized. '422': description: Validation error. /subscriptions/{subscriptionId}: delete: operationId: deleteSubscription summary: Delete Subscription description: Removes an event subscription. tags: - Subscriptions parameters: - name: subscriptionId in: path required: true description: Subscription ID. schema: type: string responses: '200': description: Subscription deleted. '401': description: Unauthorized. '404': description: Subscription not found. components: schemas: Subscription: type: object description: A SmartThings event subscription for a SmartApp. properties: id: type: string description: Unique subscription identifier. installedAppId: type: string format: uuid description: Installed SmartApp ID. sourceType: type: string description: Event source type. enum: - CAPABILITY - DEVICE - MODE - TIMER - SCENE_LIFECYCLE - DEVICE_LIFECYCLE device: type: object description: Device capability subscription details. properties: deviceId: type: string description: Device ID to subscribe to (or * for all). componentId: type: string description: Component ID (or * for all). capability: type: string description: Capability ID. attribute: type: string description: Attribute name (or * for all). value: description: Attribute value filter. stateChangeOnly: type: boolean description: Only trigger on attribute state changes. CreateSubscriptionRequest: type: object required: - sourceType properties: sourceType: type: string enum: - CAPABILITY - DEVICE - MODE - TIMER - SCENE_LIFECYCLE - DEVICE_LIFECYCLE device: type: object properties: deviceId: type: string componentId: type: string capability: type: string attribute: type: string stateChangeOnly: type: boolean securitySchemes: BearerAuth: type: http scheme: bearer description: OAuth 2.0 Bearer token or SmartThings personal access token. Obtain tokens at https://account.smartthings.com/tokens.