OpenObserve website screenshot

OpenObserve

OpenObserve is an open source petabyte-scale observability platform with unified logs, metrics, traces, and front-end telemetry in a single UI with SQL and PromQL querying. The HTTP API exposes ingestion, search, alerting, dashboards, pipelines, RUM, and administration endpoints.

1 APIs 0 Features
ObservabilityLogsMetricsTracesRUMOpen Source

APIs

OpenObserve

OpenObserve HTTP API for ingesting logs, metrics, and traces; running SQL and PromQL search; managing alerts, dashboards, folders, pipelines, reports, RUM, saved views, service ...

Collections

Pricing Plans

Rate Limits

Openobserve Rate Limits

5 limits

RATE LIMITS

FinOps

Resources

🔗
TrustCenter
TrustCenter
🔗
DomainSecurity
DomainSecurity
🔑
Authentication
Authentication
🔗
LinkedIn
LinkedIn
🔗
Website
Website
🔗
Documentation
Documentation
👥
GitHubOrg
GitHubOrg
🔗
LlmsText
LlmsText
📰
Blog
Blog

Sources

Raw ↑
opencollection: 1.0.0
info:
  name: openobserve
  version: 0.90.0
items:
- info:
    name: MCP
    type: folder
  items:
  - info:
      name: 'Handler for OAuth 2.0 Authorization Server Metadata (Enterprise)

        RFC 8414: https://datatracker.ietf.org/doc/html/rfc8414

        This endpoint provides discovery information for OAuth clients

        Must be publicly accessible (no auth) per OAuth spec'
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/.well-known/oauth-authorization-server'
    docs: 'Handler for OAuth 2.0 Authorization Server Metadata (Enterprise)

      RFC 8414: https://datatracker.ietf.org/doc/html/rfc8414

      This endpoint provides discovery information for OAuth clients

      Must be publicly accessible (no auth) per OAuth spec'
  - info:
      name: Handler for MCP POST requests (single request/response)
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/:org_id/mcp'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: 'Per MCP 2025-11-25 (Streamable HTTP transport):

      - Requests with `id` → 200 with JSON or SSE response

      - Notifications (no `id`) → 202 Accepted, no body

      - Validates `MCP-Protocol-Version` header on non-initialize requests'
- info:
    name: Clusters
    type: folder
  items:
  - info:
      name: List available clusters
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/clusters'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Retrieves a list of all available clusters organized by region. Each region contains a list of cluster names that
      can be used for data processing and storage. This information is useful for understanding your deployment topology and
      selecting appropriate clusters for workload distribution.
- info:
    name: Organizations
    type: folder
  items:
  - info:
      name: Get user's organizations
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/organizations'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Retrieves a list of all organizations that the authenticated user has access to, including organization details,
      permissions, and subscription information. Root users can see all organizations in the system.
  - info:
      name: Create new organization
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/organizations'
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Creates a new organization with the specified configuration and settings. The authenticated user will be automatically
      added as an owner of the newly created organization and can then invite other users and configure the organization.
      If the creator is a service account, the response will include the service account's token for the newly created organization,
      enabling automated workflows to immediately access the new organization without additional token retrieval steps.
  - info:
      name: Assume a service account in a target organization
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/:org_id/organizations/assume_service_account'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name (must be _meta)
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: 'This endpoint allows meta service accounts to obtain temporary session tokens

      for accessing a target organization as a specific service account. The session

      automatically expires after the specified duration.


      # Security

      - Only meta service accounts can call this endpoint

      - The service account must exist in both _meta and target organization

      - The service account must have the appropriate role in the target organization

      - Maximum session duration is capped at 24 hours


      # Example

      ```bash

      curl -X '
  - info:
      name: Get user's ingestion token
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/:org_id/passcode'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Retrieves the current ingestion token (passcode) for the authenticated user within the specified organization. This
      token is used to authenticate data ingestion requests and can be used with various ingestion endpoints.
  - info:
      name: Update user's ingestion token
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/api/:org_id/passcode'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Generates a new ingestion token (passcode) for the authenticated user within the specified organization. The old
      token will be invalidated and all ingestion processes using the old token will need to be updated with the new token.
  - info:
      name: Rename organization
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/api/:org_id/rename'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization id
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Changes the display name of an organization. The organization identifier remains unchanged, but the human-readable
      name is updated. This helps with organization management and branding without affecting API integrations or data access.
  - info:
      name: Get user's RUM ingestion token
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/:org_id/rumtoken'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Retrieves the current Real User Monitoring (RUM) ingestion token for the authenticated user within the specified
      organization. This token is specifically used for ingesting RUM data from web applications and mobile apps.
  - info:
      name: Create user's RUM ingestion token
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/:org_id/rumtoken'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Creates a new Real User Monitoring (RUM) ingestion token for the authenticated user within the specified organization.
      This endpoint is used when no RUM token exists yet and you need to generate the initial token for RUM data collection.
  - info:
      name: Update user's RUM ingestion token
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/api/:org_id/rumtoken'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Generates a new Real User Monitoring (RUM) ingestion token for the authenticated user within the specified organization.
      The old RUM token will be invalidated and all RUM data collection processes using the old token will need to be updated.
  - info:
      name: Get organization settings
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/:org_id/settings'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Retrieves the current configuration settings for an organization, including scrape intervals, field mappings, ingestion
      preferences, and streaming options. Returns default settings if none have been configured previously for the organization.
  - info:
      name: Update organization settings
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/:org_id/settings'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Creates or updates organization-specific settings such as scrape interval, trace field names, ingestion toggles,
      and streaming configurations. Allows administrators to customize organizational behavior and operational parameters
      to match specific requirements and use cases.
  - info:
      name: List all resolved system settings
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/:org_id/settings/v2'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: user_id
        value: ''
        type: query
        description: User ID for user-level resolution
      - name: category
        value: ''
        type: query
        description: Filter by setting category
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Lists all settings with multi-level resolution applied. Merges system, org, and user levels, returning the most
      specific value for each key.
  - info:
      name: Set organization-level setting
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/:org_id/settings/v2'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Creates or updates an organization-level setting. This setting applies to all users in the organization unless overridden
      at the user level.
  - info:
      name: Set user-level setting
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/:org_id/settings/v2/user/:user_id'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: user_id
        value: ''
        type: path
        description: User ID
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Creates or updates a user-level setting. This setting applies only to the specific user and overrides org-level
      and system-level settings.
  - info:
      name: Delete user-level setting
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/api/:org_id/settings/v2/user/:user_id/:key'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: user_id
        value: ''
        type: path
        description: User ID
      - name: key
        value: ''
        type: path
        description: Setting key
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Deletes a user-level setting. After deletion, queries for this key will fall back to org-level or system-level settings.
  - info:
      name: Get resolved system setting
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/:org_id/settings/v2/:key'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: key
        value: ''
        type: path
        description: Setting key
      - name: user_id
        value: ''
        type: query
        description: User ID for user-level resolution
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Retrieves a setting value with multi-level resolution. Checks user-level first, then org-level, then system-level
      defaults. Returns the most specific setting found, or null if no setting exists at any level.
  - info:
      name: Delete organization-level setting
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/api/:org_id/settings/v2/:key'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: key
        value: ''
        type: path
        description: Setting key
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Deletes an organization-level setting. After deletion, queries for this key will fall back to system-level defaults.
  - info:
      name: Get organization summary
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/:org_id/summary'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Retrieves comprehensive summary statistics and information about an organization including data ingestion metrics,
      storage usage, stream counts, and other key performance indicators useful for monitoring organization health and usage.
- info:
    name: Alerts
    type: folder
  items:
  - info:
      name: List organization alerts
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/:org_id/alerts'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: folder
        value: ''
        type: query
        description: Optional folder ID filter parameter.
      - name: stream_type
        value: ''
        type: query
        description: Optional stream type filter parameter.
      - name: stream_name
        value: ''
        type: query
        description: 'Optional stream name filter parameter.


          This parameter is only used if `stream_type` is also provided.'
      - name: alert_name_substring
        value: ''
        type: query
        description: Optional case-insensitive name substring filter parameter.
      - name: owner
        value: ''
        type: query
        description: Optional owner user filter parameter.
      - name: enabled
        value: ''
        type: query
        description: Optional enabled filter parameter.
      - name: page_size
        value: ''
        type: query
        description: 'The optional number of alerts to retrieve. If not set then all alerts

          that match the query parameters will be returned.'
      - name: page_idx
        value: ''
        type: query
        description: 'The optional page index. If not set then defaults to `0`.


          This parameter is only used if `page_size` is also set.'
      - name: alert_type
        value: ''
        type: query
        description: 'Optional alert type filter: `all` (default), `scheduled`, `realtime`,

          or `anomaly_detection`.'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Retrieves a list of all alerts in the organization with filtering and pagination options. Shows alert summaries
      including names, status, folder organization, and basic configuration details for monitoring and management purposes.
  - info:
      name: Create new alert
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/:org_id/alerts'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: folder
        value: ''
        type: query
        description: Folder ID (Required if alert folder is not the default folder)
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Creates a new alert with specified conditions, triggers, and notifications. Users can define custom queries, thresholds,
      and notification destinations to monitor their data and receive timely alerts when conditions are met.
  - info:
      name: Enable or disable alert in bulk
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/:org_id/alerts/bulk/enable'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: value
        value: ''
        type: query
        description: Set to `true` to enable the alert or `false` to disable the alert.
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Toggles the active status of alerts to enable or disable its monitoring and notification functionality in bulk.
      When disabled, the alert will stop evaluating conditions and sending notifications until re-enabled.
  - info:
      name: Generate SQL from alert query parameters
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/:org_id/alerts/generate_sql'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Generates a SQL query string based on alert query parameters including stream, aggregations, and conditions. This
      endpoint is useful for testing alert queries and understanding the SQL that will be executed.
  - info:
      name: Move alerts between folders
      type: http
    http:
      method: PATCH
      url: '{{baseUrl}}/api/v2/:org_id/alerts/move'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: folder
        value: ''
        type: query
        description: From Folder ID (Required if RBAC enabled)
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Moves one or more alerts from their current folder to a specified destination folder. Helps organize alerts into
      logical groups and manage access permissions when using role-based access control.
  - info:
      name: Get alert details
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/v2/:org_id/alerts/:alert_id'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: alert_id
        value: ''
        type: path
        description: Alert ID
      - name: folder
        value: ''
        type: query
        description: Folder ID (Required if RBAC enabled)
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Retrieves detailed information about a specific alert including its configuration, conditions, triggers, notification
      settings, and current status. Useful for viewing and understanding existing alert setups.
  - info:
      name: Update alert configuration
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/api/v2/:org_id/alerts/:alert_id'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: alert_id
        value: ''
        type: path
        description: Alert ID
      - name: folder
        value: ''
        type: query
        description: Folder ID (Required if RBAC enabled)
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Updates an existing alert's configuration including conditions, queries, thresholds, notification destinations,
      and scheduling. Allows users to modify alert behavior and settings as monitoring requirements change.
  - info:
      name: Delete alert
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/api/v2/:org_id/alerts/:alert_id'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: alert_id
        value: ''
        type: path
        description: Alert ID
      - name: folder
        value: ''
        type: query
        description: Folder ID (Required if RBAC enabled)
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Permanently removes an alert and all its configurations including conditions, triggers, and notification settings.
      This action cannot be undone and will stop all monitoring and notifications for the deleted alert.
  - info:
      name: Clone an alert or anomaly detection config
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/:org_id/alerts/:alert_id/clone'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: alert_id
        value: ''
        type: path
        description: Source alert or anomaly config ID
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Creates a copy of an existing alert or anomaly detection config. For anomaly configs, the clone starts untrained
      with counters reset. Provide an optional name and folder_id in the request body.
  - info:
      name: Enable or disable alert
      type: http
    http:
      method: PATCH
      url: '{{baseUrl}}/api/v2/:org_id/alerts/:alert_id/enable'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: alert_id
        value: ''
        type: path
        description: Alert ID
      - name: value
        value: ''
        type: query
        description: Set to `true` to enable the alert or `false` to disable the alert.
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Toggles the active status of an alert to enable or disable its monitoring and notification functionality. When disabled,
      the alert will stop evaluating conditions and sending notifications until re-enabled.
  - info:
      name: Export alert configuration
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/v2/:org_id/alerts/:alert_id/export'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: alert_id
        value: ''
        type: path
        description: Alert ID
      - name: folder
        value: ''
        type: query
        description: Folder ID (Required if RBAC enabled)
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Exports the complete configuration of a specific alert in a format suitable for backup, sharing, or importing into
      other environments. Includes all alert settings, conditions, and notification configurations.
  - info:
      name: Trigger retraining for an anomaly detection alert
      type: http
    http:
      method: PATCH
      url: '{{baseUrl}}/api/v2/:org_id/alerts/:alert_id/retrain'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: alert_id
        value: ''
        type: path
        description: Anomaly detection alert ID
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Triggers a model retrain for an anomaly detection alert. Returns 400 if called on a non-anomaly alert type.
  - info:
      name: Manually trigger alert
      type: http
    http:
      method: PATCH
      url: '{{baseUrl}}/api/v2/:org_id/alerts/:alert_id/trigger'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: alert_id
        value: ''
        type: path
        description: Alert ID
      - name: folder
        value: ''
        type: query
        description: Folder ID (Required if RBAC enabled)
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Manually triggers an alert to test its functionality and notification delivery. Useful for testing alert configurations,
      verifying notification channels, and ensuring alerts work as expected before relying on them for monitoring.
  - info:
      name: Get deduplication summary statistics for an organization
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/:org_id/alerts/dedup/summary'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Get deduplication summary statistics for an organization
  - info:
      name: Get deduplication configuration for an organization
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/:org_id/alerts/deduplication/config'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization ID
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Get deduplication configuration for an organization
  - info:
      name: Set deduplication configuration for an organization
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/:org_id/alerts/deduplication/config'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization ID
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Set deduplication configuration for an organization
  - info:
      name: Delete deduplication configuration for an organization
      type: http
    http:
      method: DELETE
      url: '{{baseUrl}}/api/:org_id/alerts/deduplication/config'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization ID
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Delete deduplication configuration for an organization
  - info:
      name: Get semantic field groups for an organization
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/:org_id/alerts/deduplication/semantic-groups'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization ID
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Get semantic field groups for an organization
  - info:
      name: Save semantic field groups for an organization
      type: http
    http:
      method: PUT
      url: '{{baseUrl}}/api/:org_id/alerts/deduplication/semantic-groups'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization ID
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: 'Merges provided groups with existing ones:

      - Groups with matching IDs are updated (replaced)

      - New groups (no matching ID) are added

      - Existing groups not in the request are preserved'
  - info:
      name: Preview diff between imported semantic groups and current DB state
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/:org_id/alerts/deduplication/semantic-groups/preview-diff'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization ID
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: 'This endpoint compares the provided semantic groups with what''s currently stored

      and returns a diff showing additions, modifications, and unchanged groups.

      The UI can use this to show users what will change before they commit.'
  - info:
      name: List alert destinations
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/:org_id/alerts/destinations'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: module
        value: ''
        type: query
        description: Destination module filter, none, alert, or pipeline
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Retrieves a list of all alert destinations configured for an organization. Optionally filter by module type (alert
      or pipeline) to get specific destination categories. Returns destination names, types, and basic configuration details
      to help administrators manage notification routing and review available delivery options.
  - info:
      name: Create alert or pipeline destination
      type: http
    http:
      method: POST
      url: '{{baseUrl}}/api/:org_id/alerts/destinations'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: module
        value: ''
        type: query
        description: 'Destination module type: ''alert'' (default) or ''pipeline'''
      body:
        type: json
        data: '{}'
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: 'Creates a new alert destination configuration for an organization. Destinations define where alert notifications
      are sent when alert conditions are met, including webhooks, email addresses, and SNS topics.


      IMPORTANT: The `template` field is REQUIRED to create an alert destination. Use ''Default'' for the built-in template.
      For pipeline destinations, this includes external systems like OpenObserve, Splunk, Elasticsearch, etc. Use the ''module''
      query parameter to specify destination type: ''alert'' (d'
  - info:
      name: Get alert destination
      type: http
    http:
      method: GET
      url: '{{baseUrl}}/api/:org_id/alerts/destinations/:destination_name'
      params:
      - name: org_id
        value: ''
        type: path
        description: Organization name
      - name: destination_name
        value: ''
        type: path
        description: Destination name
      auth:
        type: apikey
        key: Authorization
        value: '{{Authorization}}'
        placement: header
    docs: Retrieves the configuration details for a specific alert destination. Returns the complete destination setup including
      delivery method, authentication credentials, notification settings, and other configuration parameters. Used for reviewing
      and managing existing destination configurations.
  - info:
      name: Update alert or pipeline destination
      type:

# --- truncated at 32 KB (168 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/openobserve/refs/heads/main/apis.yml