# How can I update visState value of a Visualization via ElasticSearch API?

**URL:** <https://discuss.elastic.co/t/how-can-i-update-visstate-value-of-a-visualization-via-elasticsearch-api/125704>\
**Category:** Kibana\
**Created:** [March 27, 2018, 7:23am UTC](https://discuss.elastic.co/t/how-can-i-update-visstate-value-of-a-visualization-via-elasticsearch-api/125704 "2018-03-27T07:23:32Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![nxthuong](https://avatars.discourse-cdn.com/v4/letter/n/3d9bf3/32.png) [@nxthuong](https://discuss.elastic.co/u/nxthuong)\
**Post date:** [March 27, 2018, 7:23am UTC](https://discuss.elastic.co/t/how-can-i-update-visstate-value-of-a-visualization-via-elasticsearch-api/125704/1 "2018-03-27T07:23:32Z")

</div>

I want to update my Kibana chart by update .kibana index.  
Here is what I'm doing:

POST .kibana/doc/visualization:fdf49d50-2c2c-11e8-8116-8b096c761d1b/\_update  
{  
"script": "ctx.\_source.visualization.visState = params.visState",  
"params": {  
"visState": "{"title":"Global Performance Status","type":"gauge","params": {"addLegend": true,"addTooltip": true,"gauge": {"backStyle":"Full","colorSchema":"Green to Red","colorsRange": [{"from": 0,"to": 168},{"from": 168,"to": 268},{"from": 268,"to": 400}],"extendRange": true,"gaugeColorMode":"Labels","gaugeStyle":"Full","gaugeType":"Arc","invertColors": false,"labels": {"color":"black","show": true },"orientation":"vertical","percentageMode": false,"scale": {"color":"#333","labels": false,"show": true },"style": {"bgColor": false,"bgFill":"#eee","bgMask": false,"bgWidth": 0.9,"fontSize": 60,"labelColor": true,"mask": false,"maskBars": 50,"subText":"","width": 0.9 },"type":"meter","verticalSplit": false},"isDisplayWarning": false,"type":"gauge" },"aggs": [{"id":"1","enabled": true,"type":"avg","schema":"metric","params": {"field":"durationmilliseconds","customLabel":"Global Average Duration (ms)"}}]}"  
}  
}

I got updated status, but field visState is empty when I check it in Management \ Kibana \ Objects \ Saved Visualizations.

Could you please help me.

![image](https://us1.discourse-cdn.com/elastic/original/3X/1/7/171c0275565cd561b8fbbf8904810674431ea715.png)  
 ![image](https://us1.discourse-cdn.com/elastic/original/3X/1/d/1de3a87795b40a3d975611eadf437209d229d8bf.png)

---

<div class="post-metadata">

**Author:** ![tsullivan](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/tsullivan/32/31077_2.png) [@tsullivan](https://discuss.elastic.co/u/tsullivan)\
**Post date:** [March 27, 2018, 9:02pm UTC](https://discuss.elastic.co/t/how-can-i-update-visstate-value-of-a-visualization-via-elasticsearch-api/125704/2 "2018-03-27T21:02:49Z")

</div>

Since you already have the ID of the visualization, and the full vizState text to replace the document with, why not just do a plain partial-doc update instead of a scripted update?

Example:

```auto
POST /.kibana/doc/visualization:8a17bb40-3200-11e8-afcf-71409930d828/_update
{
  "doc": {
    "visualization": {
      "title": "My Gauge",
      "visState": """{"title":"My Gauge","type":"gauge","params":{"type":"gauge","addTooltip":true,"addLegend":true,"isDisplayWarning":false,"gauge":{"verticalSplit":false,"extendRange":true,"percentageMode":false,"gaugeType":"Arc","gaugeStyle":"Full","backStyle":"Full","orientation":"vertical","colorSchema":"Green to Red","gaugeColorMode":"Labels","colorsRange":[{"from":0,"to":50},{"from":50,"to":75},{"from":75,"to":100}],"invertColors":false,"labels":{"show":true,"color":"black"},"scale":{"show":true,"labels":false,"color":"#333"},"type":"meter","style":{"bgWidth":0.9,"width":0.9,"mask":false,"bgMask":false,"maskBars":50,"bgFill":"#eee","bgColor":false,"subText":"","fontSize":60,"labelColor":true}}},"aggs":[{"id":"1","enabled":true,"type":"count","schema":"metric","params":{}}]}"""
    }
  }
}

```

Also, take care that the `visState` text is surrounded by triple-quotes in Dev Tools. It needs to be a string, not an object.

---

<div class="post-metadata">

**Author:** ![nxthuong](https://avatars.discourse-cdn.com/v4/letter/n/3d9bf3/32.png) [@nxthuong](https://discuss.elastic.co/u/nxthuong)\
**Post date:** [March 28, 2018, 12:54am UTC](https://discuss.elastic.co/t/how-can-i-update-visstate-value-of-a-visualization-via-elasticsearch-api/125704/3 "2018-03-28T00:54:43Z")

</div>

Oh, I didn't realize that.

Thank you, Tim.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [April 25, 2018, 12:55am UTC](https://discuss.elastic.co/t/how-can-i-update-visstate-value-of-a-visualization-via-elasticsearch-api/125704/4 "2018-04-25T00:55:09Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
