# BehaviorScript

API to manage automation scripts.

## List behavior script.

> List all available behavior script resources.

```json
{"openapi":"3.0.3","info":{"title":"Hue CLIP API","version":"v2"},"tags":[{"name":"BehaviorScript","description":"API to manage automation scripts."}],"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."}}},"BehaviorScriptGet":{"type":"object","allOf":[{"$ref":"#/components/schemas/Resource"},{"type":"object","properties":{"description":{"type":"string","description":"Description of the behavior script."},"configuration_schema":{"type":"object","description":"JSON schema for configuration."},"trigger_schema":{"type":"object","description":"JSON schema for trigger."},"state_schema":{"type":"object","description":"JSON schema for state."},"version":{"type":"string","description":"Version of the behavior script."},"metadata":{"type":"object","properties":{"name":{"type":"string"},"category":{"type":"string"}}}}}]},"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})?$"}}},"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/behavior_script":{"get":{"operationId":"getBehaviorScripts","summary":"List behavior script.","description":"List all available behavior script resources.","tags":["BehaviorScript"],"responses":{"200":{"description":"BehaviorScript Success Response","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApiResponse"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BehaviorScriptGet"}}}}]}}}},"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 behavior script.

> Get details of a single behavior script resource from its given \`{behaviorScriptId}\`.

```json
{"openapi":"3.0.3","info":{"title":"Hue CLIP API","version":"v2"},"tags":[{"name":"BehaviorScript","description":"API to manage automation scripts."}],"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."}}},"BehaviorScriptGet":{"type":"object","allOf":[{"$ref":"#/components/schemas/Resource"},{"type":"object","properties":{"description":{"type":"string","description":"Description of the behavior script."},"configuration_schema":{"type":"object","description":"JSON schema for configuration."},"trigger_schema":{"type":"object","description":"JSON schema for trigger."},"state_schema":{"type":"object","description":"JSON schema for state."},"version":{"type":"string","description":"Version of the behavior script."},"metadata":{"type":"object","properties":{"name":{"type":"string"},"category":{"type":"string"}}}}}]},"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})?$"}}},"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/behavior_script/{behaviorScriptId}":{"get":{"operationId":"getBehaviorScript","summary":"Get behavior script.","description":"Get details of a single behavior script resource from its given `{behaviorScriptId}`.","tags":["BehaviorScript"],"parameters":[{"name":"behaviorScriptId","in":"path","schema":{"type":"string"},"required":true,"description":"ID of the behavior script"}],"responses":{"200":{"description":"BehaviorScript Success Response","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApiResponse"},{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/BehaviorScriptGet"}}}}]}}}},"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 behavior script.

> Update a single behavior script resource from its given \`{behaviorScriptId}\`.

```json
{"openapi":"3.0.3","info":{"title":"Hue CLIP API","version":"v2"},"tags":[{"name":"BehaviorScript","description":"API to manage automation scripts."}],"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":{"BehaviorScriptPut":{"type":"object","properties":{"type":{"type":"string","description":"Type of the supported resources (always `behavior_script` 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/behavior_script/{behaviorScriptId}":{"put":{"operationId":"updateBehaviorScript","summary":"Update behavior script.","description":"Update a single behavior script resource from its given `{behaviorScriptId}`.","tags":["BehaviorScript"],"parameters":[{"name":"behaviorScriptId","in":"path","schema":{"type":"string"},"required":true,"description":"ID of the behavior script"}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BehaviorScriptPut"}}}},"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"}}}}}}
```
