Skip to main content

Overview

Bronto exposes two distinct endpoint types. Using the wrong one is the most common cause of 400 errors β€” confirm which applies to your agent before configuring.
We recommend routing logs, metrics, and traces through the OpenTelemetry Collector rather than sending HTTP requests directly. The Collector handles batching, compression, and retries on failure. Log forwarders such as Fluent Bit, Logstash, and Vector remain a good choice for log-only sources. Direct HTTP is supported for cases where running an agent isn’t practical.

Authentication

All endpoints accept the Bronto API key header:
The base ingestion endpoint also supports HTTP Basic authentication for products that provide a fixed authentication menu instead of custom headers:
Basic authentication
The username is ignored; the API key must be the password. Basic authentication applies to the base endpoint used for logs. Continue to use the x-bronto-api-key header for OTLP logs, metrics, and traces. See API Keys for how to generate a key.

Base Endpoint

The base endpoint (no path) accepts any payload format and performs no schema validation. It is the right choice for any agent that sends JSON, plain text, or structured log lines over HTTP.

Automatically parsed formats

For the following formats, Bronto detects and extracts fields automatically β€” no configuration required.

Formats stored verbatim

Other formats β€” RFC 3164 BSD syslog, Apache Common Log, Docker JSON, raw text β€” are accepted and stored as-is. Most log forwarders and the OpenTelemetry Collector can parse or transform these into structured fields before sending. If you are sending data directly, use the custom parser to define extraction rules.

OTLP Endpoints

The /v1/logs, /v1/metrics, and /v1/traces endpoints accept OTLP over HTTPS on port 443 in both protobuf and JSON encoding. The OpenTelemetry Collector handles OTLP serialisation, batching, and retry automatically.

Encodings

Set Content-Type to match the encoding you send. Protobuf remains the default for the Collector and the OTel SDKs, and is the more compact option on the wire. OTLP/JSON is useful when a client cannot produce protobuf β€” a script, a serverless function, or a platform that only emits JSON over HTTP. The body must be a single JSON object matching the OTLP request schema for that signal (for example ExportLogsServiceRequest for /v1/logs), not NDJSON.
OTLP/JSON logs
To send OTLP/JSON from an OpenTelemetry Collector, set encoding: json on the otlphttp exporter:
otel-config.yaml
OTel SDKs select the encoding through the exporter protocol β€” http/protobuf or http/json, set with OTEL_EXPORTER_OTLP_PROTOCOL. Not every language SDK implements http/json; check your SDK before switching.
OTLP metrics ingestion is in public beta. Bronto supports OTLP sums, gauges, summaries, and explicit histograms. Exponential histograms are not currently supported, and the Metric Explorer does not currently provide a Rate function.
Trace data must go to /v1/traces. Sending traces to the base endpoint stores them as log events β€” trace correlation and the traces UI will not work.

Direct HTTP Custom Ingestion

If running a log forwarder or collector isn’t practical, you can POST log events directly to the base endpoint from any HTTP client or script.

Request format

All requests must be POST with a JSON Lines (NDJSON) body β€” one JSON object per line. Authentication Authenticate with either the x-bronto-api-key header or HTTP Basic authentication as described above. Do not send the API key in a URL query parameter. Required request header Recommended headers These headers control how your data is organized in Bronto. See Data Organization for how datasets, collections, and tags work. Products that support Basic authentication but cannot set routing headers can use service_name and service_namespace query parameters:
These parameters override x-bronto-dataset and x-bronto-collection when both forms are present. Parameters named header_x-bronto-* are not supported. Other headers Event fields

Examples

Uncompressed
gzip
Zstandard
Zstandard offers the best compression ratio and is recommended for high-volume pipelines.

Batch processing

For large files, split into chunks and send each one:
Batch ingest from file

Compression ratios

Compressing payloads before sending reduces transfer size significantly. Typical ratios for CDN logs:

Payload limits

Exceeding the payload size limits returns an HTTP 413.

Response codes

A 200 response means your data has been securely stored β€” no data will be lost. If the API returns an error, no data from that request is ingested.