#%RAML 0.8
title: STAlarm
version: v1.1.1-20161122
schemas:
- Alarm: |
    {
      "id": "http://www.samsung.com/schemas/x.com.st.alarm.json#",
      "$schema": "http://json-schema.org/draft-04/schema#",
      "description" : "Copyright (c) 2016, SmartThings. All rights reserved.",
      "title": "STAlarm",
      "definitions": {
        "x.com.st.alarm": {
            "properties": {
              "alarm": {
                "type": "string",
                "enum": ["off", "strobe", "siren", "both"],
                "description": "Status of the alarm"
              }
            }
        }
      },
      "type": "object",
      "allOf": [
        {"$ref": "oic.core.json#/definitions/oic.core"},
        {"$ref": "oic.baseResource.json#/definitions/oic.r.baseresource"},
        {"$ref": "#/definitions/x.com.st.alarm"}
      ],
      "required": ["alarm"]
    }
traits:
 - interface :
     queryParameters:
       if:
         enum: ["oic.if.baseline","oic.if.a"]

/alarm:
  displayName: Alarm
  description: |
    This resource implements alarm capability from SmartThings.

  is : ['interface']

  get:
    description: |
      Retrieves the current status of alarm.

    responses :
      200:
        body:
          application/json:
            schema: Alarm
            example: |
              {
                "id": "unique_example_id",
                "alarm": "off"
              }
  post:
    description: |
      Update the current status of alarm.

    body:
      application/json:
        schema: Alarm

    responses :
      200:
        body:
          application/json:
            schema: Alarm
            example: |
              {
                "id":  "unique_example_id",
                "alarm":  "off"
              }
