> ## Documentation Index
> Fetch the complete documentation index at: https://docs.shinzo.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Ingest Metrics

> Send OpenTelemetry metrics using OTLP/HTTP protocol

Ingest OpenTelemetry metrics from your MCP servers. This endpoint accepts OTLP formatted metric data.

<Note>
  We recommend using our [TypeScript SDK](/sdk/typescript/installation) or [Python SDK](/sdk/python/installation) instead of calling this endpoint directly.
</Note>

<ParamField header="Content-Type" type="string" required>
  `application/json` or `application/x-protobuf`
</ParamField>

<ParamField body="resourceMetrics" type="array" required>
  Array of OpenTelemetry ResourceMetrics containing metric data
</ParamField>

<ResponseField name="partialSuccess" type="object">
  Indicates partial success if some metrics were rejected
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X POST https://api.app.shinzo.ai/telemetry/ingest_http/metrics \
    -H "Authorization: Bearer YOUR_INGEST_TOKEN" \
    -H "Content-Type: application/json" \
    -d '{
      "resourceMetrics": [{
        "resource": {
          "attributes": [
            {"key": "service.name", "value": {"stringValue": "my-mcp-server"}}
          ]
        },
        "scopeMetrics": [{
          "scope": {
            "name": "@shinzolabs/instrumentation-mcp"
          },
          "metrics": [{
            "name": "mcp.tool.invocations",
            "description": "Number of tool invocations",
            "unit": "1",
            "sum": {
              "dataPoints": [{
                "startTimeUnixNano": "1705315200000000000",
                "timeUnixNano": "1705315260000000000",
                "asInt": "42",
                "attributes": [
                  {"key": "mcp.tool.name", "value": {"stringValue": "search_files"}}
                ]
              }],
              "aggregationTemporality": 2,
              "isMonotonic": true
            }
          }]
        }]
      }]
    }'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "partialSuccess": {}
  }
  ```
</ResponseExample>
