Loading

API documentation

Welcome to our automatically generated typescript API documentation for every plugin that exposes a public API!

Warning Experimental

This documentation is being automatically generated using an experimental system. That means it may be removed or modified at any time. If you have any questions, feedback or concerns, please create an issue using the label APIDocs, or reach out to the Kibana Tech Leads who are temporarily owning and maintaining this system.

To learn more about how to write docs specifically for our API references, refer to the Contribute to Elastic API docs.

Every plugin that exposes functionality for other plugins to use will have API documentation automatically generated (note this system does not handle REST APIs).

Note @internal tags

API items that have an @internal in the comment are not included in the documentation system.

There is one extra step required to have your API docs show up in the navigation of the docs system. Follow the instructions here to learn how to configure the navigation menu. The nav file you need to edit is: https://github.com/elastic/elastic-docs-prototype/blob/master/config/nav-kibana-dev.ts

Your API docs will exist in the top level api_docs folder and will use a doc id of the pattern kib${PluginName}PluginApi.

There are a few reasons his could happen. First, check if you are exporting the API item. For example, if you have the following in your my_plugin/public/index.ts file:

type Bar = { id: string };
export type Foo = Bar | string;
		

Bar, in the signature of Foo, will not be clickable because it would result in a broken link. Bar is not publicly exported!

If that isn't the case, please file an issue, it could be a bug with the system.

We are aware of some performance issues with deeply nested, or large APIs.

In the short term, the best thing you can do is avoid deeply nested API items. Use interfaces rather than inlined objects. Also consider adding serviceFolders in your kibana.jsonc. This will automatically split your docs up based on which APIs are defined within the service folders. They will get built into a doc with an id of kib${PluginName}${ServiceName}PluginApi. The data plugin does this, so you can check that out as an example.

If that isn't the case and you are still experiencing performance issues, please file an issue!

If you have any questions or issues, please reach out to the Kibana Tech Leads or create an issue here and use the label APIDocs.