Skip to main content
Send telemetry to Interfere using your existing OpenTelemetry instrumentation. You can export through a Collector or directly from your service, without installing an Interfere SDK or creating a surface.

Create a telemetry key

Open Knowledge, select Set up OpenTelemetry, then Enable OpenTelemetry. Create a workspace API key with the Send telemetry permission, or use an existing key with that permission. Its API scope is org:telemetry:write. Store the returned secret as INTERFERE_API_KEY in your service or Collector environment. Keep this workspace key on the server. Surface public keys and release-only build keys do not provide workspace telemetry access. You can manage and revoke the key in Developer settings. See API keys for key creation and expiration settings.

Endpoints and authentication

Use https://api.interfere.com/drain as the OTLP/HTTP base endpoint. The intake accepts protobuf or OTLP JSON, with optional gzip compression. Configure an HTTP exporter; this endpoint does not accept OTLP/gRPC. Authenticate each request with the workspace key:
The x-api-key header also accepts the same secret. The key selects the workspace; resource attributes identify the service sending data.

Export through a Collector

If your applications already export to a Collector, keep that setup and add this exporter to its configuration:
Add otlphttp/interfere to the exporters list in each traces, logs, or metrics pipeline you want to send. Keep the pipeline’s existing receivers, processors, and other exporters. Defining the exporter alone does not enable it. The Collector appends the signal path to the base endpoint. See the OTLP HTTP exporter configuration for batching, queue, timeout, and retry options.

Export directly from a service

For an OTel SDK that supports standard exporter environment variables, configure your service before it starts:
Supply INTERFERE_API_KEY through your secret manager. %20 encodes the space after Bearer in the exporter header setting. These variables configure exporters that your application initializes; they do not install instrumentation or enable every signal. Configure the trace, log, and metric exporters you need through your language’s OpenTelemetry setup, and flush buffered telemetry during graceful shutdown. Signal-specific settings override the shared settings. For example, OTEL_EXPORTER_OTLP_TRACES_ENDPOINT must contain the full URL ending in /drain/v1/traces. Check for existing endpoint and header overrides when changing destinations. See OTLP exporter configuration. Use one export path per signal to avoid sending the same records both directly and through a Collector. For Next.js apps that already use the Interfere SDK, see OpenTelemetry composition.

Identify services and deployments

Set resource attributes in the application so a Collector forwarding multiple services retains each service’s identity. Keep the service name and namespace consistent across deployments. Each discovered service appears as a data source in Knowledge. This setup does not automatically associate the service with an existing surface or upload source maps.

Verify ingestion

Generate a request in your service, allow its exporter to flush, then check Knowledge for the service name. Check the exporter or Collector logs for rejected records or connection errors. An HTTP 200 response can include OTLP partial-success details. Check those details before treating the entire batch as accepted.