kibana/dev_docs/nav-kibana-dev.docnav.json
Christiane (Tina) Heiligers 94b1174254
Adds guidelines for designing HTTP APIs (#224348)
This PR adds guidelines for designing Kibana HTTP APIs that are
terraform-provider developer friendly.
fix https://github.com/elastic/kibana/issues/224643

## Summary
Kibana doesn't have specific guidelines for designing HTTP APIs. With
increasing constraints, it's time to document what was previously tribal
knowledge.

Elasticsearch is far further along this road, and other teams have
compiled their own.
This document serves as guidelines to designing _public_ HTTP APIs that
are suitable for managing with Terraform.

## How to test this (recommended for easier reading)
- pull this PR
- setup
[`docs.elastic.dev`](https://docs.elastic.dev/docs/local-dev-docs-setup)
locally
- run `yarn dev` from `docs.elastic.dev`
- review the docs live!

![Screenshot 2025-06-19 at 14 58
48](https://github.com/user-attachments/assets/bda09e04-8351-4f78-b8df-ebfd7b248903)


### Checklist

Check the PR satisfies following conditions. 

Reviewers should verify this PR satisfies this list as well.

- [x]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials

---------

Co-authored-by: florent-leborgne <florent.leborgne@elastic.co>
Co-authored-by: Elastic Machine <elasticmachine@users.noreply.github.com>
2025-06-24 08:01:06 -07:00

660 lines
15 KiB
JSON

{
"mission": "Kibana Developer Guide",
"id": "kibDevDocs",
"landingPageId": "kibDevDocsWelcome",
"icon": "logoKibana",
"description": "Developer documentation for building custom Kibana plugins and extending Kibana functionality.",
"items": [
{
"label": "Getting started",
"items": [
{
"id": "kibDevDocsWelcome"
},
{
"id": "kibDevTutorialSetupDevEnv"
},
{
"id": "kibHelloWorldApp"
},
{
"id": "kibDevAddData"
},
{
"id": "kibTroubleshooting"
}
]
},
{
"label": "Contributing",
"items": [
{
"id": "kibDevPrinciples"
},
{
"id": "kibRepoStructure"
},
{
"id": "kibStandards"
},
{
"id": "kibBestPractices"
},
{
"id": "kibDocumentation"
},
{
"id": "kibStyleGuide"
},
{
"id": "kibHttpApiGuidelines"
},
{
"id": "ktRFCProcess"
},
{
"id": "kibGitHub"
},
{
"id": "kibThirdPartyDependencies"
}
]
},
{
"label": "Key concepts",
"items": [
{
"id": "kibPlatformIntro"
},
{
"id": "kibDevAnatomyOfAPlugin"
},
{
"id": "kibDevPerformance",
"items": [
{
"id": "kibDevPerformanceClient",
"label": "Client-side code"
},
{
"id": "kibDevPerformanceServer",
"label": "Server-side code"
},
{
"label": "Case studies",
"id": "kibDevPerformanceCaseStudies",
"items": [
{
"label": "Async too early",
"id": "kibDevPerformanceCaseStudyAsyncTooEarly"
},
{
"label": "Top-level imports",
"id": "kibDevPerformanceCaseStudyTopLevelImports"
},
{
"label": "Uncommon code in common",
"id": "kibDevPerformanceCaseStudyUncommonCodeInCommon"
}
]
}
]
},
{
"id": "kibBuildingBlocks"
},
{
"id": "kibDevDocsSecurityAPIAuthorization"
},
{
"id": "kibDevDocsSecurityKibanaSystemUser"
},
{
"id": "kibDevFeaturePrivileges",
"label": "Feature Privileges"
},
{
"id": "kibDevDocsSavedObjectsIntro",
"label": "Saved objects"
},
{
"id": "kibDevDocsEncryptedSavedObjectsIntro",
"label": "Encrypted Saved objects"
},
{
"id": "kibDevDocsPersistableStateIntro"
},
{
"id": "kibDataPlugin",
"label": "Data"
},
{
"id": "kibCoreLogging"
},
{
"id": "kibAuditLogging"
},
{
"id": "kibUsageCollectionPlugin"
},
{
"id": "kibDataViewsKeyConcepts"
},
{
"id": "kibDevKeyConceptsNavigation"
},
{
"id": "kibDevDocsEmbeddables"
}
]
},
{
"label": "Tutorials",
"items": [
{
"id": "kibDevTutorialAddingCustomPerformanceMetrics",
"label": "Adding Performance Metrics"
},
{
"id": "kibDevTutorialSetupWindowsDevWSL"
},
{
"id": "kibDevTutorialTestingPlugins"
},
{
"id": "kibDevTutorialSavedObject"
},
{
"id": "kibDevTutorialVersioningHTTPAPIs",
"label": "Versioning HTTP APIs"
},
{
"id": "kibDevTutorialVersioningInterfaces",
"label": "Versioning interfaces"
},
{
"id": "kibDevTutorialGeneratingOASForHTTPAPIs"
},
{
"id": "kibDevTutorialSubmitPullRequest"
},
{
"id": "kibDevTutorialExpressions"
},
{
"id": "kibDevTutorialDataSearchAndSessions",
"label": "data.search"
},
{
"id": "kibDevTutorialScreenshotting",
"label": "Screenshotting",
"items": [
{
"id": "kibDevDocsUpdatingPuppeteerAndChromium"
}
]
},
{
"id": "kibDevTutorialDataViews"
},
{
"id": "kibDevTutorialDebugging"
},
{
"id": "kibDevTutorialDebuggingFipsTestFailures"
},
{
"id": "kibDevTutorialBuildingDistributable",
"label": "Building a Kibana distributable"
},
{
"id": "kibDevTutorialCI"
},
{
"id": "kibDevTutorialServerEndpoint"
},
{
"id": "kibDevTutorialAdvancedSettings"
},
{
"id": "kibDevTutorialCcsSetup"
},
{
"id": "kibFeatureFlagsService",
"label": "Feature Flags"
}
]
},
{
"label": "Serverless",
"pageId": "ktServerlessReleaseOverview",
"items": [
{
"id": "ktServerlessReleaseOverview"
},
{
"id": "ktServerlessEmergencyReleases"
},
{
"id": "ktCustomServerlessImage"
},
{
"id": "kibDevTutorialsSolutionNavigation"
}
]
},
{
"label": "Operations",
"items": [
{
"id": "kibDevDocsOpsOverview",
"label": "Overview"
}
]
},
{
"label": "Shared UX",
"pageId": "kibDevDocsSharedUxOverview",
"items": [
{
"label": "Solution Navigation (stateful solution nav and serverless navigation",
"id": "kibDevTutorialsSolutionNavigation"
},
{
"id": "kibDevTutorialFileService",
"label": "File service"
},
{
"id": "kibDevSharePluginReadme",
"label": "Sharing"
},
{
"label": "Content Management",
"id": "kibContentManagement",
"items": [
{
"id": "kibDevTutorialsContentManagementOnboarding"
}
]
},
{
"id": "kibDevTutorialAdvancedSettings",
"label": "Advanced Settings"
},
{
"id": "kibDevDocsKPTTutorial",
"label": "Kibana Page Template"
},
{
"id": "kibDevRenderingService",
"label": "Core Rendering Service"
},
{
"id": "kibDevDocsChromeRecentlyAccessed",
"label": "Recently Viewed"
}
]
},
{
"label": "Lens",
"pageId": "kibDevLensOverview",
"items": [
{
"label": "Lens Config API",
"id": "kibDevLensConfigAPI",
"items": [
{
"label": "Introduction",
"id": "kibDevLensConfigAPI"
},
{
"label": "Examples",
"id": "kibDevLensConfigAPIExamples"
},
{
"label": "Metric Chart",
"id": "kibDevLensConfigAPIMetric"
},
{
"label": "Gauge Chart",
"id": "kibDevLensConfigAPIGauge"
},
{
"label": "Pie Chart",
"id": "kibDevLensConfigAPIPie"
},
{
"label": "Mosaic Chart",
"id": "kibDevLensConfigAPIMosaic"
},
{
"label": "TreeMap Chart",
"id": "kibDevLensConfigAPITreeMap"
},
{
"label": "TagCloud Chart",
"id": "kibDevLensConfigAPITagCloud"
},
{
"label": "RegionMap Chart",
"id": "kibDevLensConfigAPIRegionMap"
},
{
"label": "Table Chart",
"id": "kibDevLensConfigAPITable"
},
{
"label": "Heatmap Chart",
"id": "kibDevLensConfigAPIHeatmap"
},
{
"label": "XY Chart",
"id": "kibDevLensConfigAPIXY"
}
]
}
]
},
{
"label": "Contributors Newsletters",
"items": [
{
"id": "kibSeptember2023ContributorNewsletter"
},
{
"id": "kibJuly2023ContributorNewsletter"
},
{
"id": "kibMay2023ContributorNewsletter"
},
{
"id": "kibMarch2023ContributorNewsletter"
},
{
"id": "kibJanuary2023ContributorNewsletter"
},
{
"id": "kibNovember2022ContributorNewsletter"
},
{
"id": "kibOctober2022ContributorNewsletter"
},
{
"id": "kibSeptember2022ContributorNewsletter"
},
{
"id": "kibAugust2022ContributorNewsletter"
},
{
"id": "kibJuly2022ContributorNewsletter"
},
{
"id": "kibJune2022ContributorNewsletter"
},
{
"id": "kibMay2022ContributorNewsletter"
},
{
"id": "kibApril2022ContributorNewsletter"
},
{
"id": "kibMarch2022ContributorNewsletter"
},
{
"id": "kibFebruary2022ContributorNewsletter"
},
{
"id": "kibJanuary2022ContributorNewsletter"
},
{
"id": "kibDecember2021ContributorNewsletter"
},
{
"id": "kibNovember2021ContributorNewsletter"
},
{
"id": "kibOctober2021ContributorNewsletter"
},
{
"id": "kibSeptember2021ContributorNewsletter"
},
{
"id": "kibAugust2021ContributorNewsletter"
},
{
"id": "kibJuly2021ContributorNewsletter"
},
{
"id": "kibJune2021ContributorNewsletter"
},
{
"id": "kibMay2021ContributorNewsletter"
},
{
"id": "kibApril2021ContributorNewsletter"
},
{
"id": "kibMarch2021ContributorNewsletter"
}
]
},
{
"label": "API documentation",
"items": [
{
"id": "kibDevDocsApiWelcome"
},
{
"id": "kibDevDocsPluginDirectory"
},
{
"id": "kibDevDocsDeprecationsDueByTeam"
},
{
"id": "kibDevDocsDeprecationsByPlugin"
},
{
"id": "kibDevDocsDeprecationsByApi"
},
{
"id": "kibFieldFormatsPluginApi"
},
{
"id": "kibDataPluginApi"
},
{
"id": "kibDataViewsPluginApi"
},
{
"id": "kibDataQueryPluginApi"
},
{
"id": "kibDataSearchPluginApi"
},
{
"id": "kibAlertingPluginApi"
},
{
"id": "kibTaskManagerPluginApi"
},
{
"id": "kibActionsPluginApi"
},
{
"id": "kibEventLogPluginApi"
},
{
"id": "kibTriggersActionsUiPluginApi"
},
{
"id": "kibCasesPluginApi"
},
{
"id": "kibChartsPluginApi"
},
{
"id": "kibDashboardPluginApi"
},
{
"id": "kibDevToolsPluginApi"
},
{
"id": "kibDiscoverPluginApi"
},
{
"id": "kibEmbeddablePluginApi"
},
{
"id": "kibEncryptedSavedObjectsPluginApi"
},
{
"id": "kibEnterpriseSearchPluginApi"
},
{
"id": "kibEsUiSharedPluginApi"
},
{
"id": "kibExpressionsPluginApi"
},
{
"id": "kibFeaturesPluginApi"
},
{
"id": "kibFileUploadPluginApi"
},
{
"id": "kibFilesPluginApi"
},
{
"id": "kibFleetPluginApi"
},
{
"id": "kibGlobalSearchPluginApi"
},
{
"id": "kibHomePluginApi"
},
{
"id": "kibInspectorPluginApi"
},
{
"id": "kibKibanaReactPluginApi"
},
{
"id": "kibKibanaUtilsPluginApi"
},
{
"id": "kibLensPluginApi"
},
{
"id": "kibLicenseManagementPluginApi"
},
{
"id": "kibLicensingPluginApi"
},
{
"id": "kibListsPluginApi"
},
{
"id": "kibManagementPluginApi"
},
{
"id": "kibMapsPluginApi"
},
{
"id": "kibMlPluginApi"
},
{
"id": "kibMonitoringPluginApi"
},
{
"id": "kibNavigationPluginApi"
},
{
"id": "kibNewsfeedPluginApi"
},
{
"id": "kibNotificationsPluginApi"
},
{
"id": "kibObservabilityPluginApi"
},
{
"id": "kibRemoteClustersPluginApi"
},
{
"id": "kibReportingPluginApi"
},
{
"id": "kibRollupPluginApi"
},
{
"id": "kibRuntimeFieldsPluginApi"
},
{
"id": "kibSavedObjectsManagementPluginApi"
},
{
"id": "kibSavedObjectsTaggingOssPluginApi"
},
{
"id": "kibSavedObjectsTaggingPluginApi"
},
{
"id": "kibSavedObjectsPluginApi"
},
{
"id": "kibScreenshottingPluginApi"
},
{
"id": "kibSecuritySolutionPluginApi"
},
{
"id": "kibSecurityPluginApi"
},
{
"id": "kibSharePluginApi"
},
{
"id": "kibSnapshotRestorePluginApi"
},
{
"id": "kibSpacesPluginApi"
},
{
"id": "kibStackAlertsPluginApi"
},
{
"id": "kibTelemetryCollectionManagerPluginApi"
},
{
"id": "kibTelemetryManagementSectionPluginApi"
},
{
"id": "kibTelemetryPluginApi"
},
{
"id": "kibUiActionsEnhancedPluginApi"
},
{
"id": "kibUiActionsPluginApi"
},
{
"id": "kibUrlForwardingPluginApi"
},
{
"id": "kibUsageCollectionPluginApi"
},
{
"id": "kibVisTypeTimeseriesPluginApi"
},
{
"id": "kibVisualizationsPluginApi"
},
{
"id": "kibDevDocsOpsTest"
}
]
}
]
}