POST Issue Demand Response

URL: /demandResponse

Accessible by: Utility accounts only.

Demand Response events may be issued to a set of thermostats in order to adjust their program. Demand Response events are either optional or mandatory. Mandatory events may not be cancelled by the user and must run their course. For additional functionality of the Demand Response, see the Event object.

Request Properties

Property Version Type Required Description
selection 1 Selection Yes The selection criteria for update.
operation 1 String Yes The type of request. Always "create".
demandResponse 1 DemandResponse Yes The demand response object to create.

Required Event Object Properties

The following DemandResponse.event properties are also required for the embedded Event object. See DemandResponse . Ensure these properties are all set. Additional properties may also be set, they are not required.

Note that the start/end date/time for the event must be in thermostat time and are not specified in UTC.

Required Properties
DemandResponse.event.name - maximum length of 12 characters
DemandResponse.event.type - typically demandResponse but possible values are: hold, demandResponse, sensor, switchOccupancy, vacation, quickSave, today
DemandResponse.event.startDate - must have length of 10 in format YYYY-MM-DD
DemandResponse.event.startTime - must have length of 8 in format HH-MM-SS
DemandResponse.event.endDate - must have length of 10 in format YYYY-MM-DD
DemandResponse.event.endTime - must have length of 8 in format HH-MM-SS
DemandResponse.event.isTemperatureAbsolute or
DemandResponse.event.isTemperatureRelative

Response Properties

Property Version Type Description
demandResponseRef 1 String The unique demand response reference ID.
status 1 Status The api response code.

Example Request:

Request Body

NOTE: Request body is not encoded for example purposes.

HEADERS:
	Content-Type: application/json;charset=UTF-8
	Authorization: Bearer Rc7JE8P7XUgSCPogLOx2VLMfITqQQrjg
	
REQUEST:
	POST https://api.ecobee.com/1/demandResponse?format=json
	
POST BODY:
{
	"selection": {
	    "selectionType":"managementSet",
	    "selectionMatch":"/"
	},
	"operation":"create",
	"demandResponse":{
		"name":"myDR",
		"message":"This is a DR!",
		"event": {
			"heatHoldTemp":790,
			"endTime":"11:37:18",
			"endDate":"2011-01-10",
			"name":"apiDR",
			"type":"useEndTime",
			"coolHoldTemp":790,
			"startDate":"2011-01-09"
			"startTime":"11:37:18",
			"isTemperatureAbsolute":true
		}
	}
}
				

Sample API Call

Show code sample in:
curl -s --request POST --data-urlencode @json.txt -H "Content-Type: application/json;charset=UTF-8" -H "Authorization: Bearer ACCESS_TOKEN" "https://api.ecobee.com/1/demandResponse?format=json"  
				

Example Response:

    {
        "status": {
            "code": 0,
            "message": ""
        }
    }
    

Back To Top