# Looking for documentation on plugin development

**URL:** https://discuss.elastic.co/t/looking-for-documentation-on-plugin-development/274250
**Category:** Kibana
**Tags:** kibana-plugin-development
**Created:** [May 27, 2021, 6:36pm UTC](https://discuss.elastic.co/t/looking-for-documentation-on-plugin-development/274250 "2021-05-27T18:36:42Z")
**Posts on this page:** 3
**Page:** 1

<div class="post-metadata">

### Author: ![mnickerson](https://avatars.discourse-cdn.com/v4/letter/m/ecc23a/32.png) [@mnickerson](https://discuss.elastic.co/u/mnickerson)
#### Post date: [May 27, 2021, 6:36pm UTC](https://discuss.elastic.co/t/looking-for-documentation-on-plugin-development/274250/1 "2021-05-27T18:36:42Z")

</div>

This is for Elasticsearch and Kibana 7.10.2

I'm currently trying to create a plugin in Kibana that will give a user a form, take the data from there as arguments to use in a transform. Then to create a vega visualization that will be formatted based on the form the user entered and also use the index of the transform for its data. And then to redirect the user to the visualization. I had set up a plugin that can do a search operation by using another plugin as a base to find what functionality I could get however it seemed messy and I wasn't able to find useful documentation for my goal. I was able to access a search function through  
context.core.elasticsearch.client.asCurrentUser.search  
inside the Get part of a route for the plugin. However I have no way of knowing what properties or functions each of those objects have since I can't find documentation for them. Would I be better off trying to make requests through the rest API by hardcoding the ip and port of the Elasticsearch node?

On top of that, I saw a post detailing how to create a visualization through the rest api here

> [@How to put a visualization directly in Kibana/ElasticSearch?](https://discuss.elastic.co/t/how-to-put-a-visualization-directly-in-kibana-elasticsearch/48325):
>
> Hello everyone, I tried something and I think it's worth sharing slight_smile I'm trying to write a script to automatically create a new dashboard according to a specific user (for that, it is the search that changes). More precisely, as a dashboard is made of visualizations, we need to create the visualizations in the first place. I was blocked at this step, creating the visualization directly via a CURL -XPOST request to ElasticSearch. Because in order to do the final dashboard, we need …

I was wondering if it would be possible to do the same thing but with a custom vega graph?

---

<div class="post-metadata">

### Author: ![Nathan\_Reese](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/nathan_reese/32/84829_2.png) [@Nathan\_Reese](https://discuss.elastic.co/u/Nathan_Reese)
#### Post date: [June 1, 2021, 5:39pm UTC](https://discuss.elastic.co/t/looking-for-documentation-on-plugin-development/274250/2 "2021-06-01T17:39:33Z")

</div>

There is limited plugin documentation at [External plugin development | Kibana Guide [7.13] | Elastic](https://www.elastic.co/guide/en/kibana/current/external-plugin-development.html).

Better, is to look at [example plugins](https://github.com/elastic/kibana/tree/master/examples) for living examples showing how to interact with different kibana registries and features. Start kibana with `yarn start --run-examples` to run the example plugins

---

<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: [June 29, 2021, 5:40pm UTC](https://discuss.elastic.co/t/looking-for-documentation-on-plugin-development/274250/3 "2021-06-29T17:40:00Z")

</div>

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