---
title: "Ingest NCCL Inspector OTLP/HTTP JSON (NCCL 2.31.2 NCCL_INSPECTOR_OTEL_EXPORT=1)"
method: POST
path: "/api/nccl/ingest-otlp"
tags: ["NCCL"]
---

# Ingest NCCL Inspector OTLP/HTTP JSON (NCCL 2.31.2 NCCL_INSPECTOR_OTEL_EXPORT=1)

`POST /api/nccl/ingest-otlp`

## Request

- Base URL: `https://api.fiber.ac` (the document declares no server; this is the origin it was published from)
- URL: `https://api.fiber.ac/api/nccl/ingest-otlp`
- Auth: none declared

OTLP/HTTP **JSON** metrics receiver for the NCCL 2.31.2 Inspector OTel export (`NCCL_INSPECTOR_OTEL_EXPORT=1`, HTTP only) — or for an OpenTelemetry Collector `otlphttp` exporter with `encoding: json` in front of it. Body: ExportMetricsServiceRequest `{resourceMetrics[].scopeMetrics[].metrics[]}` with gauge/sum dataPoints and attributes; `Content-Encoding: gzip` is accepted. The same four metrics as /api/nccl/ingest-prometheus produce the same nccl_events rows (resource attribute `host.name` becomes the node when data points carry none). Protobuf bodies (`application/x-protobuf`) are rejected with 415 — set `OTEL_EXPORTER_OTLP_PROTOCOL=http/json` or put a Collector in between. Alias: POST /api/nccl/otlp/v1/metrics (so `OTEL_EXPORTER_OTLP_ENDPOINT=<api>/api/nccl/otlp` works with exporters that append the standard `/v1/metrics` path).

## Query parameters

- `node` string: Default hostname when data points carry no node/host.name attribute
- `job` string: Default job id when data points carry no job attribute

## Response `200`

Count of parsed/inserted events + Inspector schema version histogram

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/fiber-ac/apis/fiber-api.md) · [All operations](https://skmtc.dev/fiber-ac/apis/fiber-api/llms.txt) · [OpenAPI document](https://skmtc.dev/fiber-ac/apis/fiber-api/revisions/58267250d793?raw)
