# Button

API to manage button services. These are offered by devices with buttons.

## List buttons.

> List all available button resources.

```json
{"openapi":"3.0.3","info":{"title":"Hue CLIP API","version":"v2"},"tags":[{"name":"Button","description":"API to manage button services. These are offered by devices with buttons."}],"servers":[{"url":"https://{bridgeInternalIPAddress}","description":"Your Home Bridge","variables":{"bridgeInternalIPAddress":{"default":"192.168.1.0","description":"Use the broker server discover process by visiting https://discovery.meethue.com\nto discover the IP address of the bridge on your network\n"}}}],"security":[{"HueApplicationKey":[]}],"components":{"securitySchemes":{"HueApplicationKey":{"type":"apiKey","in":"header","name":"hue-application-key"}},"schemas":{"ApiResponse":{"type":"object","required":["errors","data"],"properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/Error"}},"data":{"type":"array","items":{"type":"object"}}}},"Error":{"type":"object","required":["description"],"properties":{"description":{"type":"string","description":"a human-readable explanation specific to this occurrence of the problem."}}},"ButtonGet":{"type":"object","allOf":[{"$ref":"#/components/schemas/ResourceOwned"},{"type":"object","properties":{"metadata":{"type":"object","properties":{"control_id":{"type":"integer","description":"Control identifier of the switch, unique within the device."}}},"button":{"type":"object","properties":{"button_report":{"type":"object","properties":{"updated":{"type":"string","format":"date-time","description":"Last time the value of this property was updated."},"event":{"type":"string","enum":["initial_press","repeat","short_release","long_release","double_short_release","long_press"],"description":"The button event that was triggered."}}},"last_event":{"type":"string","enum":["initial_press","repeat","short_release","long_release","double_short_release","long_press"],"description":"Deprecated. Use button_report instead."},"repeat_interval":{"type":"integer","description":"Interval in milliseconds for repeat events."},"event_values":{"type":"array","items":{"type":"string","enum":["initial_press","repeat","short_release","long_release","double_short_release","long_press"]},"description":"List of supported button events."}}}}}]},"ResourceOwned":{"type":"object","description":"Common resource properties including the owner","allOf":[{"$ref":"#/components/schemas/Resource"},{"type":"object","required":["owner"],"properties":{"owner":{"$ref":"#/components/schemas/ResourceIdentifier"}}}]},"Resource":{"type":"object","description":"Common resource properties","required":["type","id"],"properties":{"type":{"type":"string","description":"Type of the supported resources"},"id":{"type":"string","description":"Unique identifier representing a specific resource instance","pattern":"^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$"},"id_v1":{"type":"string","description":"Clip v1 resource identifier","pattern":"^(\\/[a-z]{4,32}\\/[0-9a-zA-Z-]{1,32})?$"}}},"ResourceIdentifier":{"type":"object","required":["rid","rtype"],"properties":{"rid":{"type":"string","description":"The unique id of the referenced resource","pattern":"^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$"},"rtype":{"type":"string","description":"The type of the referenced resource","enum":["device","bridge_home","room","zone","light","button","relative_rotary","temperature","light_level","motion","camera_motion","entertainment","contact","tamper","grouped_light","device_power","zigbee_bridge_connectivity","zigbee_connectivity","zgp_connectivity","bridge","zigbee_device_discovery","homekit","matter","matter_fabric","scene","entertainment_configuration","public_image","auth_v1","behavior_script","behavior_instance","geofence","geofence_client","geolocation","smart_scene","grouped_motion","grouped_light_level"]}}},"ErrorResponse":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"responses":{"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"MethodNotAllowed":{"description":"Method Not Allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotAcceptable":{"description":"Not Acceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Conflict":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"TooManyRequests":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"ServiceUnavailable":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InsufficientStorage":{"description":"Insufficient Storage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/clip/v2/resource/button":{"get":{"operationId":"getButtons","summary":"List buttons.","description":"List all available button resources.","tags":["Button"],"responses":{"200":{"description":"Button Success Response","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApiResponse"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ButtonGet"}}}}]}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"406":{"$ref":"#/components/responses/NotAcceptable"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"507":{"$ref":"#/components/responses/InsufficientStorage"}}}}}}
```

## Get button.

> Get details of a single button resource from its given \`{buttonId}\`.

```json
{"openapi":"3.0.3","info":{"title":"Hue CLIP API","version":"v2"},"tags":[{"name":"Button","description":"API to manage button services. These are offered by devices with buttons."}],"servers":[{"url":"https://{bridgeInternalIPAddress}","description":"Your Home Bridge","variables":{"bridgeInternalIPAddress":{"default":"192.168.1.0","description":"Use the broker server discover process by visiting https://discovery.meethue.com\nto discover the IP address of the bridge on your network\n"}}}],"security":[{"HueApplicationKey":[]}],"components":{"securitySchemes":{"HueApplicationKey":{"type":"apiKey","in":"header","name":"hue-application-key"}},"schemas":{"ApiResponse":{"type":"object","required":["errors","data"],"properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/Error"}},"data":{"type":"array","items":{"type":"object"}}}},"Error":{"type":"object","required":["description"],"properties":{"description":{"type":"string","description":"a human-readable explanation specific to this occurrence of the problem."}}},"ButtonGet":{"type":"object","allOf":[{"$ref":"#/components/schemas/ResourceOwned"},{"type":"object","properties":{"metadata":{"type":"object","properties":{"control_id":{"type":"integer","description":"Control identifier of the switch, unique within the device."}}},"button":{"type":"object","properties":{"button_report":{"type":"object","properties":{"updated":{"type":"string","format":"date-time","description":"Last time the value of this property was updated."},"event":{"type":"string","enum":["initial_press","repeat","short_release","long_release","double_short_release","long_press"],"description":"The button event that was triggered."}}},"last_event":{"type":"string","enum":["initial_press","repeat","short_release","long_release","double_short_release","long_press"],"description":"Deprecated. Use button_report instead."},"repeat_interval":{"type":"integer","description":"Interval in milliseconds for repeat events."},"event_values":{"type":"array","items":{"type":"string","enum":["initial_press","repeat","short_release","long_release","double_short_release","long_press"]},"description":"List of supported button events."}}}}}]},"ResourceOwned":{"type":"object","description":"Common resource properties including the owner","allOf":[{"$ref":"#/components/schemas/Resource"},{"type":"object","required":["owner"],"properties":{"owner":{"$ref":"#/components/schemas/ResourceIdentifier"}}}]},"Resource":{"type":"object","description":"Common resource properties","required":["type","id"],"properties":{"type":{"type":"string","description":"Type of the supported resources"},"id":{"type":"string","description":"Unique identifier representing a specific resource instance","pattern":"^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$"},"id_v1":{"type":"string","description":"Clip v1 resource identifier","pattern":"^(\\/[a-z]{4,32}\\/[0-9a-zA-Z-]{1,32})?$"}}},"ResourceIdentifier":{"type":"object","required":["rid","rtype"],"properties":{"rid":{"type":"string","description":"The unique id of the referenced resource","pattern":"^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$"},"rtype":{"type":"string","description":"The type of the referenced resource","enum":["device","bridge_home","room","zone","light","button","relative_rotary","temperature","light_level","motion","camera_motion","entertainment","contact","tamper","grouped_light","device_power","zigbee_bridge_connectivity","zigbee_connectivity","zgp_connectivity","bridge","zigbee_device_discovery","homekit","matter","matter_fabric","scene","entertainment_configuration","public_image","auth_v1","behavior_script","behavior_instance","geofence","geofence_client","geolocation","smart_scene","grouped_motion","grouped_light_level"]}}},"ErrorResponse":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"responses":{"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"MethodNotAllowed":{"description":"Method Not Allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotAcceptable":{"description":"Not Acceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Conflict":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"TooManyRequests":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"ServiceUnavailable":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InsufficientStorage":{"description":"Insufficient Storage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/clip/v2/resource/button/{buttonId}":{"get":{"operationId":"getButton","summary":"Get button.","description":"Get details of a single button resource from its given `{buttonId}`.","tags":["Button"],"parameters":[{"name":"buttonId","in":"path","schema":{"type":"string"},"required":true,"description":"ID of the button"}],"responses":{"200":{"description":"Button Success Response","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApiResponse"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ButtonGet"}}}}]}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"406":{"$ref":"#/components/responses/NotAcceptable"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"507":{"$ref":"#/components/responses/InsufficientStorage"}}}}}}
```

## Update button.

> Update a single button resource from its given \`{buttonId}\`.

```json
{"openapi":"3.0.3","info":{"title":"Hue CLIP API","version":"v2"},"tags":[{"name":"Button","description":"API to manage button services. These are offered by devices with buttons."}],"servers":[{"url":"https://{bridgeInternalIPAddress}","description":"Your Home Bridge","variables":{"bridgeInternalIPAddress":{"default":"192.168.1.0","description":"Use the broker server discover process by visiting https://discovery.meethue.com\nto discover the IP address of the bridge on your network\n"}}}],"security":[{"HueApplicationKey":[]}],"components":{"securitySchemes":{"HueApplicationKey":{"type":"apiKey","in":"header","name":"hue-application-key"}},"schemas":{"ButtonPut":{"type":"object","properties":{"type":{"type":"string","description":"Type of the supported resources (always `button` here)"},"metadata":{"type":"object","properties":{"control_id":{"type":"integer","description":"Control identifier of the switch, unique within the device."}}},"button":{"type":"object","properties":{"repeat_interval":{"type":"integer","description":"Interval in milliseconds for repeat events."}}}}},"ApiResponse":{"type":"object","required":["errors","data"],"properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/Error"}},"data":{"type":"array","items":{"type":"object"}}}},"Error":{"type":"object","required":["description"],"properties":{"description":{"type":"string","description":"a human-readable explanation specific to this occurrence of the problem."}}},"ResourceIdentifier":{"type":"object","required":["rid","rtype"],"properties":{"rid":{"type":"string","description":"The unique id of the referenced resource","pattern":"^[0-9a-f]{8}-([0-9a-f]{4}-){3}[0-9a-f]{12}$"},"rtype":{"type":"string","description":"The type of the referenced resource","enum":["device","bridge_home","room","zone","light","button","relative_rotary","temperature","light_level","motion","camera_motion","entertainment","contact","tamper","grouped_light","device_power","zigbee_bridge_connectivity","zigbee_connectivity","zgp_connectivity","bridge","zigbee_device_discovery","homekit","matter","matter_fabric","scene","entertainment_configuration","public_image","auth_v1","behavior_script","behavior_instance","geofence","geofence_client","geolocation","smart_scene","grouped_motion","grouped_light_level"]}}},"ErrorResponse":{"type":"object","required":["errors"],"properties":{"errors":{"type":"array","items":{"$ref":"#/components/schemas/Error"}}}}},"responses":{"Unauthorized":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Forbidden":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotFound":{"description":"Not Found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"MethodNotAllowed":{"description":"Method Not Allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"NotAcceptable":{"description":"Not Acceptable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"Conflict":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"TooManyRequests":{"description":"Too Many Requests","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InternalServerError":{"description":"Internal Server Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"ServiceUnavailable":{"description":"Service Unavailable","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}},"InsufficientStorage":{"description":"Insufficient Storage","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/clip/v2/resource/button/{buttonId}":{"put":{"operationId":"updateButton","summary":"Update button.","description":"Update a single button resource from its given `{buttonId}`.","tags":["Button"],"parameters":[{"name":"buttonId","in":"path","schema":{"type":"string"},"required":true,"description":"ID of the button"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ButtonPut"}}}},"responses":{"200":{"description":"Success","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApiResponse"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/ResourceIdentifier"}}}}]}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"403":{"$ref":"#/components/responses/Forbidden"},"404":{"$ref":"#/components/responses/NotFound"},"405":{"$ref":"#/components/responses/MethodNotAllowed"},"406":{"$ref":"#/components/responses/NotAcceptable"},"409":{"$ref":"#/components/responses/Conflict"},"429":{"$ref":"#/components/responses/TooManyRequests"},"500":{"$ref":"#/components/responses/InternalServerError"},"503":{"$ref":"#/components/responses/ServiceUnavailable"},"507":{"$ref":"#/components/responses/InsufficientStorage"}}}}}}
```
