Edge Delta API

REST API to manage Edge Delta configs, integrations, pipelines, dashboards, lookup tables, groups, access, and rehydrations, and to query logs, metrics, and events. Swagger 2.0; API-token authentication via the X-ED-API-Token header.

OpenAPI Specification

edge-delta-openapi-original.json Raw ↑
{
    "schemes": ["https"],
    "swagger": "2.0",
    "info": {
        "description": "Edge Delta API provides endpoints to manage your configs/integrations/rehydrations and more. Generate an API token to get started: https://app.edgedelta.com/admin/organization#api-tokens",
        "title": "Edge Delta API",
        "contact": {
            "name": "API Support",
            "email": "support@edgedelta.com"
        },
        "version": "1.0"
    },
    "host": "api.edgedelta.com",
    "basePath": "",
    "paths": {
        "/public/dashboards/{dashboard_hash}": {
            "get": {
                "description": "Get",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Public"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "hash",
                        "name": "dashboard_hash",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/dashboard.Dashboard"
                        }
                    }
                }
            }
        },
        "/v1/orgs/{org_id}/access": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Returns accesses for the given org.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Access"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "description": "If set to true response includes external state information from auth0",
                        "name": "include_external",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "If set to true response includes only items with pending status (to be used in Membership Requests)",
                        "name": "membership_requests",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/core.Access"
                            }
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Creates access entry.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Access"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Accesses Payload",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/core.AccessesPayload"
                            }
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/core.Access"
                            }
                        }
                    }
                }
            }
        },
        "/v1/orgs/{org_id}/access/{access_id}": {
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Update access for caller and given id.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Access"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Access ID",
                        "name": "access_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Access Create Request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/core.AccessCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Delete access for caller and given id.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Access"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Access ID",
                        "name": "access_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/v1/orgs/{org_id}/clustering/stats": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Returns top log patterns (signatures of log messages) and their stats; count, proportion, sentiment and delta.",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Pattern Stats",
                    "AI",
                    "ServedByMCP"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Edge Delta Common Query Language expression",
                        "name": "query",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "If summary true call returns up to 50 interesting clusters with 10 top anomaly, top/bottom delta, top/bottom count. Param size is ignored",
                        "name": "summary",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Max number of clusters in response. For AI search, limit should be 20.",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Lookback period in golang duration format. e.g. '1h'. Either provide from/to or provide lookback/to or just lookback",
                        "name": "lookback",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "From datetime in ISO format 2006-01-02T15:04:05.000Z",
                        "name": "from",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "To datetime in ISO format 2006-01-02T15:04:05.000Z",
                        "name": "to",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Comma separated fields to group by",
                        "name": "groupby",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Valatility can be new, existing, gone, all. Default is all",
                        "name": "volatility",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Comma separated offsets for delta stat calculation. Each offset is in golang duration format and order of offsets determines order of offset_ fields in cluster stat response. Default value is lookback duration. e.g. '24h'.",
                        "name": "offset",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Window for on demand anomaly calculation histogram series. e.g. '5m', '1h', '2d'. Combined values like '5m3s' are NOT supported.",
                        "name": "window",
                        "in": "query"
                    },
                    {
                        "type": "boolean",
                        "description": "Negative param is used to get negative sentiments.",
                        "name": "negative",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/core.ClusterStatResponse"
                        }
                    }
                }
            }
        },
        "/v1/orgs/{org_id}/confs": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Return org's agent configurations that user has read access to",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Agent Configs"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Should be set to 'true' if the contents won't be fetched",
                        "name": "empty_contents",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/core.Conf"
                            }
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Creates a new config from the yml content passed in body",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Agent Configs"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Config Create Request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/core.ConfCreateRequest"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "description": "Created",
                        "schema": {
                            "$ref": "#/definitions/core.Conf"
                        }
                    }
                }
            }
        },
        "/v1/orgs/{org_id}/confs/validate": {
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Validate agent configuration",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Agent Configs"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Config Validate Request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/core.ConfValidateRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/core.ConfigValidationResult"
                        }
                    }
                }
            }
        },
        "/v1/orgs/{org_id}/confs/{conf_id}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Returns the requested config",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Agent Configs"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Config ID",
                        "name": "conf_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Should be set to 'true' if the content won't be fetched",
                        "name": "empty_content",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Should be set to 'true' if the content would be fully resolved (i.e with children etc)",
                        "name": "resolve_content",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/core.Conf"
                        }
                    }
                }
            },
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Updates the config for given id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Agent Configs"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Config ID",
                        "name": "conf_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Update config request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/core.UpdateConfRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            },
            "delete": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Deletes the config with given id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Agent Configs"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Config ID",
                        "name": "conf_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/v1/orgs/{org_id}/dashboards": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Returns all dashboards of users in the org.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Get Dashboards",
                    "AI",
                    "ServedByMCP"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "boolean",
                        "description": "Include definitions in the response",
                        "name": "include_definitions",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dashboard.Dashboard"
                            }
                        }
                    }
                }
            }
        },
        "/v1/orgs/{org_id}/dashboards/{dashboard_id}": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Returns the dashboard for the given ID.",
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Get Dashboard",
                    "AI",
                    "ServedByMCP"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Dashboard ID",
                        "name": "dashboard_id",
                        "in": "path",
                        "required": true
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/dashboard.Dashboard"
                            }
                        }
                    }
                }
            }
        },
        "/v1/orgs/{org_id}/events/search": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Search query using Edge Delta events search syntax, for anomaly search query should include event.type:pattern_anomaly",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Event Search",
                    "AI",
                    "ServedByMCP"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Lookback period in golang duration format. e.g. '1h'. Either provide from/to or provide lookback/to or just lookback",
                        "name": "lookback",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "From datetime in ISO format 2006-01-02T15:04:05.000Z",
                        "name": "from",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "To datetime in ISO format 2006-01-02T15:04:05.000Z",
                        "name": "to",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Edge Delta Common Query Language expression",
                        "name": "query",
                        "in": "query"
                    },
                    {
                        "type": "integer",
                        "description": "Limits the number of logs in the response. Default is 1000. It can be negative to move the cursor prev direction. Wraps to end if the cursor position is 0. For AI search, limit should be 20.",
                        "name": "limit",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Cursor provided from previous response, pass it to next request so that we can move the cursor with given limit.",
                        "name": "cursor",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Order of the logs in the response, either 'ASC', 'asc', 'DESC' or 'desc'",
                        "name": "order",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/core.EventResponse"
                        }
                    }
                }
            }
        },
        "/v1/orgs/{org_id}/group": {
            "get": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Return org's groups",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Groups"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Group ID",
                        "name": "group_id",
                        "in": "query"
                    },
                    {
                        "type": "string",
                        "description": "Group name",
                        "name": "name",
                        "in": "query"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "type": "array",
                            "items": {
                                "$ref": "#/definitions/core.Group"
                            }
                        }
                    }
                }
            },
            "post": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Creates a new group from the json content passed in body",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Groups"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Group Create Request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/core.GroupRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "schema": {
                            "$ref": "#/definitions/core.Group"
                        }
                    }
                }
            }
        },
        "/v1/orgs/{org_id}/group/{group_id}": {
            "put": {
                "security": [
                    {
                        "ApiKeyAuth": []
                    }
                ],
                "description": "Updates the group with given id",
                "consumes": [
                    "application/json"
                ],
                "produces": [
                    "application/json"
                ],
                "tags": [
                    "Groups"
                ],
                "parameters": [
                    {
                        "type": "string",
                        "description": "Org ID",
                        "name": "org_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "type": "string",
                        "description": "Group ID",
                        "name": "group_id",
                        "in": "path",
                        "required": true
                    },
                    {
                        "description": "Group Update Request",
                        "name": "request",
                        "in": "body",
                        "required": true,
                        "schema": {
                            "$ref": "#/definitions/core.GroupRequest"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
           

# --- truncated at 32 KB (386 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/edge-delta/refs/heads/main/openapi/edge-delta-openapi-original.json