Edge Delta Add Source API
The Add Source API from Edge Delta — 1 operation(s) for add source.
The Add Source API from Edge Delta — 1 operation(s) for add source.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/edge-delta-add-source-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
openapi: 3.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 Access Add Source API
contact:
name: API Support
email: support@edgedelta.com
version: '1.0'
servers:
- url: https://api.edgedelta.com
tags:
- name: Add Source
paths:
/v1/orgs/{org_id}/pipelines/{conf_id}/add_source:
post:
description: 'Adds the given source node configuration to the pipeline and connect it to Edgedelta Destination. Saves the updated pipeline configuration without deploying changes.
Example request body for file_input node:
{
"node": {
"name": "my_file_input",
"type": "file_input",
"path": "path/to/my_logs/logs.txt",
"separate_source": true,
"description": "A user-defined description of the Node. Users may add any additional comments describing the function of their node.\nThis is useful to put some notes into the config file since YAML comment lines (\"#\") are not persisted due to automated marshal/unmarshal of YAML. It should be human readable and not too long."
}
}
Example request body for kubernetes_input node:
{
"node": {
"name": "my_k8s_input",
"type": "kubernetes_input",
"include": [
"k8s.pod.name=^apache.*$,k8s.namespace.name=.*web*"
],
"exclude": [
"k8s.namespace.name=^kube-nginx$",
"k8s.pod.name=.*nginx*,k8s.container.name=testing"
],
"auto_detect_line_pattern": true,
"boost_stacktrace_detection": true,
"enable_persisting_cursor": true,
"description": "A user-defined description of the Node. Users may add any additional comments describing the function of their node.\nThis is useful to put some notes into the config file since YAML comment lines (\"#\") are not persisted due to automated marshal/unmarshal of YAML. It should be human readable and not too long."
}
}
Example request body for demo_input node:
{
"node": {
"name": "my_demo_input",
"type": "demo_input",
"events_per_sec": 1,
"log_type": "apache_common",
"description": "A user-defined description of the Node. Users may add any additional comments describing the function of their node.\nThis is useful to put some notes into the config file since YAML comment lines (\"#\") are not persisted due to automated marshal/unmarshal of YAML. It should be human readable and not too long."
}
}'
tags:
- Add Source
parameters:
- description: Org ID
name: org_id
in: path
required: true
schema:
type: string
- description: Conf ID
name: conf_id
in: path
required: true
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/configv3.Config'
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/pipeline.AddSourceRequest'
description: Source node configuration to add
required: true
components:
schemas:
configv3.KerberosConfig:
type: object
properties:
keytab:
type: string
krb5_conf_path:
description: Path to krb5.conf file
type: string
principal:
type: string
realm:
type: string
sasl_protocol_name:
type: string
configv3.SplunkHECStaticAuth:
type: object
properties:
allowed_indexes:
type: array
items:
type: string
enable_indexer_acknowledgment:
type: boolean
enable_token:
type: boolean
name:
type: string
token:
type: string
configv3.AggregateMetricAggregationOptions:
type: object
properties:
distinct_count_keys:
type: array
items:
type: string
distinct_count_mode:
type: string
configv3.KuduColumn:
type: object
properties:
column_name:
type: string
column_type:
type: string
default_value:
type: string
expression:
type: string
is_key:
type: boolean
required:
type: boolean
configv3.K8sCustomResourceConfig:
type: object
properties:
group:
description: Group is the API group of the custom resource (e.g., "monitoring.coreos.com")
type: string
resource:
description: Resource is the plural resource name (e.g., "prometheusrules")
type: string
version:
description: Version is the API version of the custom resource (e.g., "v1")
type: string
configv3.PersistentQueue:
type: object
properties:
drain_rate_limit:
type: integer
max_byte_size:
$ref: '#/components/schemas/datasize.Size'
mode:
type: string
path:
type: string
strict_ordering:
type: boolean
pipeline.Node:
type: object
required:
- command
- run_interval
properties:
active_request_limit:
type: integer
add_attributes:
type: boolean
add_ingestion_time:
type: boolean
allow_skip_pri_header:
type: boolean
api_version:
type: string
attributes_from_header:
type: array
items:
type: string
auth_password:
description: 'AuthPassword is the authentication password used for this SNMP connection.
Only valid for version "v3" and if "no_auth_no_priv" is not selected for SecurityLevel'
type: string
auth_type:
description: 'AuthType is the type of authentication protocol to use for this SNMP connection.
Only valid for version “v3” and if “no_auth_no_priv” is not selected for SecurityLevel
Valid options: “md5”, “sha”, “sha224”, “sha256”, “sha384”, “sha512”
Default: "md5"'
type: string
auto_detect_line_pattern:
description: For the next 3 bool, should these functionalities stay at the input level?
type: boolean
boost_stacktrace_detection:
type: boolean
brokers:
type: array
items:
type: string
buffer_length:
type: integer
buffer_size:
description: DEPRECATED
allOf:
- $ref: '#/components/schemas/datasize.Size'
capture_request_headers:
type: boolean
channel:
type: string
checkpoint_directory:
type: string
collection_interval:
description: 'CollectionInterval sets how frequently the scraper
should be called and used as the context timeout
to ensure that scrapers don''t exceed the interval.'
type: string
command:
type: string
commit_interval:
type: string
community:
description: 'Community is the SNMP community string to use.
Only valid for versions "v1" and "v2c"
Default: public'
type: string
config:
type: string
connection_string:
type: string
connector_metadata:
description: ConnectorMetadata is used by HTTP input node to denote cloud based HTTP connectors
allOf:
- $ref: '#/components/schemas/configv3.ConnectorMetadata'
consumer_group:
type: string
current_boot_only:
type: boolean
custom_api_version_response:
type: string
custom_resources:
description: CustomResources configures custom CRDs to watch for events
type: array
items:
$ref: '#/components/schemas/configv3.K8sCustomResourceConfig'
data_type:
description: DEPRECATED
type: string
demo_template:
type: string
description:
type: string
disable_classic_metrics:
type: boolean
disable_intermediate_self_telemetry:
type: boolean
discovery:
description: Discovery allows users to deviate from internal discovery logics via defining custom rules
allOf:
- $ref: '#/components/schemas/configv3.InputDiscovery'
docker_mode:
description: DockerMode expects file to be in Docker json log format and automatically extracts "log" fields.
type: boolean
drop_limit:
description: 'DropLimit is the size threshold above which individual items are dropped entirely.
Items larger than this limit are discarded. nil means no dropping.
When both limits are set, DropLimit must be >= TruncateLimit.'
allOf:
- $ref: '#/components/schemas/datasize.Size'
emit_intermediate:
description: EmitIntermediate controls whether to emit intermediate step results
type: boolean
emit_transform:
description: 'EmitTransform contains OTTL statements to transform the final emitted log.
Statements can access: body, attributes, steps["name"].body, variables["key"], webhook_payload["key"]'
type: string
enable_agent_stats_metrics:
type: boolean
enable_gc_metrics:
type: boolean
enable_granular_metrics:
type: boolean
enable_health_check:
type: boolean
enable_health_metrics:
type: boolean
enable_octet_counting:
type: boolean
enable_persisting_cursor:
type: boolean
endpoint_expression:
description: OTTL expression fields for dynamic values
type: string
engine_id:
description: EngineID is the unique identifier for the SNMP engine, used for Trap listener
type: string
event_interval:
type: string
events_per_sec:
type: string
exclude:
type: array
items:
type: string
exclude_units:
type: array
items:
type: string
excluded_paths:
type: array
items:
type: string
extra_args:
type: array
items:
type: string
file_name_filter:
type: string
fingerprint_size:
$ref: '#/components/schemas/datasize.Size'
global_timeout:
description: GlobalTimeout is the maximum total time for the entire workflow execution
type: string
group_id:
type: string
header_expressions:
type: array
items:
$ref: '#/components/schemas/configv3.HeaderExpression'
hec_authentication:
$ref: '#/components/schemas/configv3.SplunkHECAuthentication'
idle_timeout:
type: string
immediate_poll_threshold:
type: integer
include:
type: array
items:
type: string
include_units:
type: array
items:
type: string
included_paths:
type: array
items:
type: string
initial_delay:
description: 'InitialDelay sets the initial start delay for the scraper,
any non positive value is assumed to be immediately.'
type: string
journal_directory:
type: string
journal_namespace:
type: string
journalctl_path:
type: string
limit:
type: integer
line_pattern:
type: string
listen:
type: string
load_reporting:
description: LoadReporting opts the OTLP ingest server into publishing per-server load metrics for resource-aware load balancing
allOf:
- $ref: '#/components/schemas/configv3.LoadReporting'
location:
type: string
log_parsing_mode:
description: LogParsingMode is used for pre-parsing inputs with certain encodings
type: string
log_type:
$ref: '#/components/schemas/flog.Format'
max_batch_size:
$ref: '#/components/schemas/datasize.Size'
max_connection_age_grace:
description: MaxConnectionAgeGrace is the grace window after MaxConnectionAge before the grpc server forcibly closes the connection.
type: string
max_connections:
type: integer
max_connections_per_ip:
type: integer
max_log_size:
$ref: '#/components/schemas/datasize.Size'
max_octets:
type: integer
method:
type: string
metrics:
description: 'Metrics defines what SNMP metrics will be collected for this receiver and is composed of metric
names along with their metric configurations'
type: array
items:
$ref: '#/components/schemas/configv3.MetricConfig'
multiline:
$ref: '#/components/schemas/configv3.SyslogMultiline'
multiline_flush_interval:
description: 'MultilineFlushInterval, when set on a kubernetes_input, docker_input, or
file_input node, overrides the pipeline-level multiline_flush_interval for
that source. Useful when one input has a slower producer than the rest.'
type: string
name:
type: string
non_transparent_framing_trailer:
type: string
otel_tls:
$ref: '#/components/schemas/configv3.OtelTLS'
other_peer_name_exclude_pattern:
type: array
items:
type: string
pagination:
$ref: '#/components/schemas/configv3.HTTPPaginationConfig'
parameter_expressions:
type: array
items:
$ref: '#/components/schemas/configv3.ParameterExpression'
parameters:
type: array
items:
$ref: '#/components/schemas/configv3.Parameter'
partition_ids:
type: array
items:
type: string
path:
type: string
pod_network_cidrs:
type: array
items:
type: string
poll_interval:
type: string
preserve_leading_whitespaces:
type: boolean
preserve_original_timestamp:
type: boolean
preserve_trailing_whitespaces:
type: boolean
privacy_password:
description: 'PrivacyPassword is the authentication password used for this SNMP connection.
Only valid for version “v3” and if "auth_priv" is selected for SecurityLevel'
type: string
privacy_type:
description: 'PrivacyType is the type of privacy protocol to use for this SNMP connection.
Only valid for version “v3” and if "auth_priv" is selected for SecurityLevel
Valid options: “des”, “aes”, “aes192”, “aes256”, “aes192c”, “aes256c”
Default: "des"'
type: string
pull_interval:
type: string
pull_schedule:
type: string
queue_capacity:
type: integer
rate_limit:
description: RateLimit allows users to define rate limiting policies
allOf:
- $ref: '#/components/schemas/configv3.InputRateLimit'
rbac:
description: RBAC configures custom RBAC rules needed to watch custom resources
allOf:
- $ref: '#/components/schemas/configv3.K8sEventRBACConfig'
read_buffer_size:
$ref: '#/components/schemas/datasize.Size'
read_size:
type: integer
read_timeout:
type: string
reader_header_timeout:
description: 'Deprecated: fasthttp has no separate header timeout. ReadTimeout covers the entire request
(headers + body), which is a superset of ReadHeaderTimeout. This field is ignored.'
type: string
redis_address:
description: 'Global Redis connection settings (shared across all steps that enable caching)
RedisAddress is the Redis server address (e.g., "localhost:6379" or "redis://localhost:6379")'
type: string
redis_ca_cert_path:
description: RedisCACertPath is the path to CA certificate for TLS
type: string
redis_cert_path:
description: RedisCertPath is the path to client certificate for mTLS
type: string
redis_db:
description: RedisDB is the database number to use
type: integer
redis_deployment_type:
description: 'RedisDeploymentType: Standalone, Cluster, or Sentinel'
type: string
redis_key_path:
description: RedisKeyPath is the path to client key for mTLS
type: string
redis_password:
description: RedisPassword for Redis authentication
type: string
redis_sentinel_master:
description: RedisSentinelMaster is the master name when using Sentinel mode
type: string
redis_server_name:
description: RedisServerName for TLS SNI
type: string
redis_tls:
description: RedisTLS enables TLS connection
type: boolean
redis_username:
description: RedisUsername for Redis ACL authentication (Redis 6.0+)
type: string
redis_validate_certs:
description: RedisValidateCerts enables TLS certificate validation
type: boolean
report_connection_throughput_metrics:
type: boolean
report_interval:
type: string
report_unresolved_ssl_connections:
type: boolean
request_body:
type: string
request_body_expression:
type: string
request_timeout:
type: string
resource_fields:
description: ResourceFields allows certain additional labels to be collected for associated source
allOf:
- $ref: '#/components/schemas/configv3.ResourceFields'
resources_to_watch:
description: 'ResourcesToWatch configures which built-in Kubernetes resource types to monitor for events
Keys are resource kind names (e.g., "CoreEvent", "HPA", "Deployment")
By default, CoreEvent and HPA are enabled'
type: object
additionalProperties:
type: boolean
retry_http_code:
type: array
items:
type: integer
run_interval:
type: string
sampling:
description: Sampling has value between 0.0 and 1.0, if not defined assumed as 1.0 and no sampling
type: number
scrape_interval:
type: string
security_level:
description: 'SecurityLevel is the security level to use for this SNMP connection.
Only valid for version “v3”
Valid options: “no_auth_no_priv”, “auth_no_priv”, “auth_priv”
Default: "no_auth_no_priv"'
type: string
seeker_strategy:
type: string
separate_source:
type: boolean
shared_key:
description: 'Other fields are shared with InputPort
Format can be any of these https://docs.fluentbit.io/manual/pipeline/outputs'
type: string
should_only_leader_ingest:
type: boolean
show_originating_ip:
type: boolean
skip_ingestion_time_on_failure:
type: boolean
source_metadata:
description: SourceMetadata allows users to filter out unwanted fields in resource and attribute maps
allOf:
- $ref: '#/components/schemas/configv3.InputSourceMetadata'
sqs_url:
type: string
steps:
description: Steps defines the sequence of HTTP requests in the workflow
type: array
items:
$ref: '#/components/schemas/configv3.HTTPWorkflowStep'
storage_account_key:
type: string
storage_account_name:
type: string
storage_container_name:
type: string
template_type:
$ref: '#/components/schemas/core.TemplateType'
templates:
type: array
items:
type: string
timeout:
description: Timeout is an optional value used to set scraper's context deadline.
type: string
topics:
type: array
items:
type: string
transport_protocol:
type: string
truncate_limit:
description: 'TruncateLimit is the size threshold above which individual items are truncated.
Items larger than this limit but smaller than DropLimit are truncated to this size.
nil means no truncation.'
allOf:
- $ref: '#/components/schemas/datasize.Size'
type:
$ref: '#/components/schemas/nodetype.NodeType'
udp_async:
$ref: '#/components/schemas/configv3.SyslogAsync'
variables:
description: Variables are global variables accessible to all steps (string values, use ParseJSON in OTTL for complex objects)
type: object
additionalProperties:
type: string
version:
description: 'Version is the version of SNMP to use for this connection.
Valid options: v1, v2c, v3.
Default: v2c'
type: string
webhook:
description: Webhook configures webhook trigger for the workflow
allOf:
- $ref: '#/components/schemas/configv3.HTTPWorkflowWebhook'
workflow_pull_interval:
description: 'PullInterval is the interval between workflow executions (for scheduled pull mode)
Uses unique YAML tag to avoid conflict with InputHTTPPull which is also embedded inline in Node'
type: string
workflow_pull_schedule:
description: 'PullSchedule is the cron expression for workflow execution (for scheduled pull mode)
Uses unique YAML tag to avoid conflict with InputHTTPPull which is also embedded inline in Node'
type: string
write_buffer_size:
$ref: '#/components/schemas/datasize.Size'
write_timeout:
type: string
pipeline.AddSourceRequest:
type: object
required:
- node
properties:
node:
description: Configuration of the source node to be added
allOf:
- $ref: '#/components/schemas/pipeline.Node'
configv3.TargetAllocation:
type: string
enum:
- consistent
- round_robin
x-enum-varnames:
- ConsistentTargetAllocation
- RoundRobinTargetAllocation
configv3.MetricColumnOptions:
type: object
properties:
drop_columns:
type: array
items:
$ref: '#/components/schemas/configv3.DroppedColumn'
configv3.SamplingCache:
type: object
properties:
size:
type: integer
configv3.K8sEventRBACRule:
type: object
properties:
api_groups:
description: APIGroups is a list of API groups (e.g., ["monitoring.coreos.com"])
type: array
items:
type: string
resources:
description: Resources is a list of resources (e.g., ["prometheusrules"])
type: array
items:
type: string
verbs:
description: Verbs is a list of verbs (e.g., ["get", "list", "watch"])
type: array
items:
type: string
configv3.EndpointResolution:
type: string
enum:
- dns
- k8s
- static
x-enum-varnames:
- DNSEndpointResolution
- K8sEndpointResolution
- StaticEndpointResolution
configv3.DimGroup:
type: object
properties:
anomaly_coefficient:
type: number
anomaly_confidence_period:
type: string
anomaly_tolerance:
type: number
custom_suffix:
type: string
dimensions:
type: array
items:
type: string
dimensions_as_attributes:
description: 'DEPRECATED: It is always assumed as true, changing the value will result in no-op. Left for backwards compatibility reasons'
type: boolean
enabled_stats:
type: array
items:
type: string
field_dimensions:
type: array
items:
type: string
field_numeric_dimension:
type: string
interval:
type: string
numeric_dimension:
type: string
only_report_nonzeros:
type: boolean
retention:
type: string
skip_empty_intervals:
type: boolean
value_adjustment_rule:
type: string
configv3.RoutePath:
type: object
properties:
condition:
type: string
exit_if_matched:
type: boolean
path:
type: string
configv3.AWSConfig:
type: object
properties:
aws_key_id:
type: string
aws_sec_key:
type: string
external_id:
type: string
region:
type: string
role_arn:
type: string
configv3.ConnectorMetadata:
type: object
properties:
additional_tags:
type: object
additionalProperties:
type: string
connector_name:
type: string
connector_type:
type: string
enabled:
type: boolean
configv3.MetadataMapping:
type: object
properties:
labels:
description: Labels mapping for user-defined labels. Path must resolve to map[string]any.
allOf:
- $ref: '#/components/schemas/configv3.FieldMapping'
log_name:
description: LogName mapping for GCL log name. When enabled, uses extracted value or falls back to node.LogName.
allOf:
- $ref: '#/components/schemas/configv3.FieldMapping'
resource_labels:
description: ResourceLabels mapping for GCL resource labels. Path must resolve to map[string]any.
allOf:
- $ref: '#/components/schemas/configv3.FieldMapping'
resource_type:
description: ResourceType mapping for GCL resource type. When enabled, uses extracted value or defaults to "logging_log".
allOf:
- $ref: '#/components/schemas/configv3.FieldMapping'
severity:
description: Severity mapping for log severity level (INFO, WARN, ERROR, etc.).
allOf:
- $ref: '#/components/schemas/configv3.FieldMapping'
span_id:
description: SpanID mapping for span ID within trace.
allOf:
- $ref: '#/components/schemas/configv3.FieldMapping'
trace_id:
description: TraceID mapping for distributed trace ID.
allOf:
- $ref: '#/components/schemas/configv3.FieldMapping'
configv3.SyslogMultiline:
type: object
properties:
line_end_pattern:
type: string
line_start_pattern:
type: string
omit_pattern:
type: boolean
configv3.ExtractMetricSum:
type: object
properties:
aggregation_temporality:
type: string
is_monotonic:
type: boolean
value:
type: string
configv3.LiveTailSettings:
type: object
properties:
enabled:
type: boolean
item_max_body_size:
$ref: '#/components/schemas/datasize.Size'
item_truncation_size:
$ref: '#/components/schemas/datasize.Size'
lower_threshold_size:
description: 'Deprecated: These fields are retained for backward compatibility with existing configs.
They are parsed but ignored at runtime. Use ItemTruncationSize and ItemMaxBodySize instead.'
allOf:
- $ref: '#/components/schemas/datasize.Size'
max_items:
type: integer
polling_interval:
type: string
retention:
type: string
upper_threshold_size:
$ref: '#/components/schemas/datasize.Size'
configv3.Header:
type: object
properties:
header:
type: string
value:
type: string
configv3.TransformField:
type: object
properties:
field_path:
type: string
ignore_if_empty:
type: boolean
operation:
type: string
value:
type: string
configv3.KuduSecurityConfig:
type: object
properties:
auth_type:
description: Authentication Type
type: string
kerberos:
description: Kerberos Configuration
allOf:
- $ref: '#/components/schemas/configv3.KerberosConfig'
tls:
description: TLS Configuration
allOf:
- $ref: '#/components/schemas/configv3.TLS'
configv3.SequenceProcessor:
type: object
properties:
aggregate_metric_rules:
type: array
items:
$ref: '#/components/schemas/configv3.AggregateMetricRule'
cache:
$ref: '#/components/schemas/configv3.SamplingCaches'
capture_group_masks:
description: 'the mapping for capture groups such as "pw: ******" or "pw: ''''" if removal without replacement desired. If ''Mask'' is defined, this feature will be suppressed by it.'
type: array
items:
$ref: '#/components/schemas/configv3.CaptureGroupMask'
comment:
type: string
condition:
type: string
connector_event_entries:
type: array
items:
$ref: '#/components/schemas/configv3.ConnectorEventEntry'
connector_metadata:
$ref: '#/components/schemas/configv3.ConnectorMetadata'
count_field_path:
type: string
data_types:
type: array
items:
type: string
decision_interval:
description: For tail sampling
type: string
delete_empty_lists:
type: boolean
delete_empty_maps:
type: boolean
delete_empty_nulls:
type: boolean
delete_empty_strings:
type: boolean
delimiter:
description: 'Following fields apply to split with delimiter filter type
Delimiter is the specified delimiting character used to split a single log to multiple logs'
type: string
disable_clustering_by_severity_level:
type: boolean
disabled:
type: boolean
drain_tree_depth:
type: integer
drain_tree_max_child:
type: integer
error_mode:
description: 'ErrorMode controls error reporting behavior for parse processors.
Valid values: "silent" (default) - errors are silently ignored, "strict" - errors are logged and reported as metrics.
Applies to: parse_json_attributes, extract_json_field, grok, json_unroll, ottl_transform, route, route_ottl processors.'
type: string
excluded_field_paths:
type: array
items:
type: string
extract_metric_rules:
type: array
items:
$ref: '#/components/schemas/configv3.ExtractMetricRule'
fallback_value:
description: 'Following fields apply to log level detector
FallbackValue is the default value set if log level is not found in the log using given pattern'
type: string
field_mappings:
type: array
items:
$ref: '#/components/schemas/configv3.FieldMappings'
# --- truncated at 32 KB (124 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/edge-delta/refs/heads/main/openapi/edge-delta-add-source-api-openapi.yml