API Reference¶
Complete API reference for the Kibana Python client.
This section provides detailed documentation for all public classes, methods, and exceptions in the kibana-py library. The documentation is automatically generated from code docstrings and includes usage examples.
The client covers the Kibana 9.4 platform, Fleet and Security Solution APIs across 39 namespaces — headlined by the new Dashboards HTTP API (technical preview) — with full synchronous and asynchronous parity.
Client Classes
Analytics
Alerting
Observability
Management
AI
Fleet
Security Solution
Error Handling
Overview¶
The Kibana Python client provides both synchronous and asynchronous interfaces for interacting with Kibana’s REST API. The client is organized into namespace clients that group related functionality:
Main Clients¶
Kibana- Synchronous client for Kibana APIAsyncKibana- Asynchronous client for Kibana APISpaceScopedKibana- Space-scoped synchronous clientAsyncSpaceScopedKibana- Space-scoped asynchronous client
Namespace Clients¶
Analytics¶
DashboardsClient(client.dashboards) - Manage dashboards as code (tech preview)VisualizationsClient(client.visualizations) - Manage Lens visualizations (tech preview)DataViewsClient(client.data_views) - Manage data views and runtime fieldsSavedObjectsClient(client.saved_objects) - Manage saved objectsShortUrlsClient(client.short_urls) - Create and resolve short URLs
Alerting¶
AlertingClient(client.alerting) - Manage alerting rules and backfillsConnectorsClient(client.connectors) - Manage connectorsCasesClient(client.cases) - Open and track casesMaintenanceWindowsClient(client.maintenance_windows) - Suppress rule notificationsActionsClient(client.actions) - Deprecated alias ofclient.connectors
Observability¶
SlosClient(client.slos) - Manage service level objectivesSyntheticsClient(client.synthetics) - Manage synthetic monitorsUptimeClient(client.uptime) - Manage Uptime settingsStreamsClient(client.streams) - Manage streams (tech preview)ApmClient(client.apm) - APM agent keys, configurations and annotationsObservabilityAiAssistantClient(client.observability_ai_assistant) - AI Assistant chat completion
Management¶
SpacesClient(client.spaces) - Manage Kibana SpacesSecurityClient(client.security) - Manage roles and sessionsMlClient(client.ml) - Machine learning saved objectsLogstashClient(client.logstash) - Centrally-managed Logstash pipelinesTaskManagerClient(client.task_manager) - Task manager healthUpgradeAssistantClient(client.upgrade_assistant) - Upgrade readinessStatusClient(client.status) - Monitor server health
AI¶
AgentBuilderClient(client.agent_builder) - AI agents, tools, A2A and MCPWorkflowsClient(client.workflows) - Automate YAML-defined workflows
Fleet¶
FleetClient(client.fleet) - Fleet setup, settings and healthFleetAgentsClient(client.fleet_agents) - Elastic Agents, actions and statusFleetPoliciesClient(client.fleet_policies) - Agent and package policiesFleetEpmClient(client.fleet_epm) - Elastic Package Manager (integrations)FleetOutputsClient(client.fleet_outputs) - Outputs, Fleet Server hosts, proxies and connectivityFleetEnrollmentClient(client.fleet_enrollment) - Enrollment keys, tokens and signing
Security Solution¶
DetectionEngineClient(client.detection_engine) - Detection rules and alertsExceptionListsClient(client.exception_lists) - Exception lists and endpoint exceptionsListsClient(client.lists) - Value lists and list itemsTimelineClient(client.timeline) - Timelines, notes and pinned eventsEndpointClient(client.endpoint) - Endpoint management and response actionsEntityAnalyticsClient(client.entity_analytics) - Entity analytics, entity store and asset criticalityOsqueryClient(client.osquery) - Osquery packs, saved queries and live queriesSecurityAiAssistantClient(client.security_ai_assistant) - Security AI Assistant conversations and chatAttackDiscoveryClient(client.attack_discovery) - AI attack discoveries and schedules
Exception Classes¶
KibanaException- Base exception classApiError- API-level errorsTransportError- Transport-level errorsSpaceError- Space-related errors
Quick Start¶
Synchronous Client¶
from kibana import Kibana
# Initialize client
client = Kibana(
"http://localhost:5601",
api_key="your_api_key"
)
# Use namespace clients
status = client.status.get_status()
dashboards = client.dashboards.get_all()
connectors = client.connectors.get_all()
spaces = client.spaces.get_all()
# Close client
client.close()
Asynchronous Client¶
from kibana import AsyncKibana
import asyncio
async def main():
# Initialize async client
async with AsyncKibana("http://localhost:5601") as client:
# Use namespace clients with await
status = await client.status.get_status()
dashboards = await client.dashboards.get_all()
connectors = await client.connectors.get_all()
spaces = await client.spaces.get_all()
asyncio.run(main())
Space-Scoped Operations¶
from kibana import Kibana
client = Kibana("http://localhost:5601")
# Create space-scoped client
marketing_client = client.space("marketing")
# All operations are scoped to "marketing" space
dashboard = marketing_client.dashboards.create(
title="Marketing KPIs"
)
connector = marketing_client.connectors.create(
name="Marketing Webhook",
connector_type_id=".webhook",
config={"url": "https://example.com/webhook"}
)
Error Handling¶
from kibana import Kibana
from kibana.exceptions import (
NotFoundError,
BadRequestError,
SpaceNotFoundError
)
client = Kibana("http://localhost:5601")
try:
connector = client.connectors.get(id="my-connector")
except NotFoundError:
print("Connector not found")
except BadRequestError as e:
print(f"Invalid request: {e.message}")
except SpaceNotFoundError as e:
print(f"Space not found: {e.space_id}")
See Also¶
Installation - Installation instructions
Quick Start - Quick start guide
User Guide - User guide with detailed examples
Examples - Example code and patterns