# RelativeRotary

API to manage relative rotary controls.

## List relative rotary controls.

> List all available relative rotary resources.

```json
{"openapi":"3.0.3","info":{"title":"Hue CLIP API","version":"v2"},"tags":[{"name":"RelativeRotary","description":"API to manage relative rotary controls."}],"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."}}},"RelativeRotaryGet":{"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."}}},"relative_rotary":{"type":"object","properties":{"rotary_report":{"type":"object","properties":{"updated":{"type":"string","format":"date-time","description":"Last time the value of this property was updated."},"action":{"type":"string","enum":["start","repeat"],"description":"Type of rotary event."},"rotation":{"type":"object","properties":{"direction":{"type":"string","enum":["clock_wise","counter_clock_wise"],"description":"Direction of rotation."},"steps":{"type":"integer","description":"Amount of rotation since last event in case of repeat."},"duration":{"type":"integer","description":"Duration of rotation since last event in milliseconds."}}}}},"last_event":{"type":"object","description":"Deprecated. Use rotary_report instead.","properties":{"action":{"type":"string","enum":["start","repeat"]},"rotation":{"type":"object","properties":{"direction":{"type":"string","enum":["clock_wise","counter_clock_wise"]},"steps":{"type":"integer"},"duration":{"type":"integer"}}}}}}}}}]},"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/relative_rotary":{"get":{"operationId":"getRelativeRotaries","summary":"List relative rotary controls.","description":"List all available relative rotary resources.","tags":["RelativeRotary"],"responses":{"200":{"description":"RelativeRotary Success Response","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApiResponse"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RelativeRotaryGet"}}}}]}}}},"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 relative rotary.

> Get details of a single relative rotary resource from its given \`{relativeRotaryId}\`.

```json
{"openapi":"3.0.3","info":{"title":"Hue CLIP API","version":"v2"},"tags":[{"name":"RelativeRotary","description":"API to manage relative rotary controls."}],"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."}}},"RelativeRotaryGet":{"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."}}},"relative_rotary":{"type":"object","properties":{"rotary_report":{"type":"object","properties":{"updated":{"type":"string","format":"date-time","description":"Last time the value of this property was updated."},"action":{"type":"string","enum":["start","repeat"],"description":"Type of rotary event."},"rotation":{"type":"object","properties":{"direction":{"type":"string","enum":["clock_wise","counter_clock_wise"],"description":"Direction of rotation."},"steps":{"type":"integer","description":"Amount of rotation since last event in case of repeat."},"duration":{"type":"integer","description":"Duration of rotation since last event in milliseconds."}}}}},"last_event":{"type":"object","description":"Deprecated. Use rotary_report instead.","properties":{"action":{"type":"string","enum":["start","repeat"]},"rotation":{"type":"object","properties":{"direction":{"type":"string","enum":["clock_wise","counter_clock_wise"]},"steps":{"type":"integer"},"duration":{"type":"integer"}}}}}}}}}]},"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/relative_rotary/{relativeRotaryId}":{"get":{"operationId":"getRelativeRotary","summary":"Get relative rotary.","description":"Get details of a single relative rotary resource from its given `{relativeRotaryId}`.","tags":["RelativeRotary"],"parameters":[{"name":"relativeRotaryId","in":"path","schema":{"type":"string"},"required":true,"description":"ID of the relative rotary"}],"responses":{"200":{"description":"RelativeRotary Success Response","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApiResponse"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/RelativeRotaryGet"}}}}]}}}},"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 relative rotary.

> Update a single relative rotary resource from its given \`{relativeRotaryId}\`.

```json
{"openapi":"3.0.3","info":{"title":"Hue CLIP API","version":"v2"},"tags":[{"name":"RelativeRotary","description":"API to manage relative rotary controls."}],"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":{"RelativeRotaryPut":{"type":"object","properties":{"type":{"type":"string","description":"Type of the supported resources (always `relative_rotary` here)"}}},"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/relative_rotary/{relativeRotaryId}":{"put":{"operationId":"updateRelativeRotary","summary":"Update relative rotary.","description":"Update a single relative rotary resource from its given `{relativeRotaryId}`.","tags":["RelativeRotary"],"parameters":[{"name":"relativeRotaryId","in":"path","schema":{"type":"string"},"required":true,"description":"ID of the relative rotary"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RelativeRotaryPut"}}}},"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"}}}}}}
```
