Profiles

Create a Device Profile

Changed on

Create a Device Profile.

post/deviceprofiles

Request

Headers

Authorizationstring string required

OAuth token

X-ST-Organizationstring ^(?:([0-9a-fA-F]{32})|([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}))$

Organization id. If not provided, default user organization will be used.

Request body

namestring ^(?!\s)[-_!.~'() *0-9a-zA-Z\p{L}]{1,150}(?<!\s)$ required

A name for the device profile.

metadataunknown
presentationIdstring

Response

The Device Profile.

idstring required
namestring required
metadataunknown
presentationIdstring
migrationStatus'MIGRATED' | 'NOT_MIGRATED' required
status'DEVELOPMENT' | 'PUBLISHED' required

The lifecycle status of a device profile. 'DEVELOPMENT' - Device profile can be modified. The profile is only available to the developer and can only be used with a self-published app. 'PUBLISHED' - Device profile can be shared with other users, but cannot be modified.

Example response

{
  "id": "a362ddb6-349b-4650-9911-681b51069a57",
  "name": "thermostat1.model1",
  "metadata": {
    "firmWareVersion": "0.2.123",
    "manufacturerName": "SmartThingsCommunity"
  },
  "presentationId": "perfectlife6617.custom-thermostat",
  "preferences": [
    {
      "title": "Temperature Offset",
      "description": "The offset for a particular temperature setting"
    }
  ],
  "components": [
    {
      "id": "main",
      "capabilities": [
        {
          "id": "switch",
          "version": 1,
          "config": {
            "values": [
              {
                "key": "thermostatMode.value"
              }
            ]
          },
          "status": {
            "switch": {
              "value": "on"
            }
          }
        }
      ],
      "categories": [
        {
          "name": "Light"
        }
      ]
    }
  ]
}

Changes