naftiko: 1.0.0-alpha2 info: label: helicone-api — Metrics description: 'helicone-api — Metrics. 20 operations. Lead operation: Metrics. Self-contained Naftiko capability covering one Helicone business surface.' tags: - Helicone - Metrics created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: HELICONE_API_KEY: HELICONE_API_KEY capability: consumes: - type: http namespace: helicone-metrics baseUri: https://api.helicone.ai description: helicone-api — Metrics business capability. Self-contained, no shared references. resources: - name: v1-metrics-activeUsers path: /v1/metrics/activeUsers operations: - name: getactiveusers method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-averageLatency path: /v1/metrics/averageLatency operations: - name: getaveragelatency method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-averageTimeToFirstToken path: /v1/metrics/averageTimeToFirstToken operations: - name: getaveragetimetofirsttoken method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-averageTokensPerRequest path: /v1/metrics/averageTokensPerRequest operations: - name: getaveragetokensperrequest method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-costOverTime path: /v1/metrics/costOverTime operations: - name: getcostovertime method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-country path: /v1/metrics/country operations: - name: getcountrymetrics method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-errorOverTime path: /v1/metrics/errorOverTime operations: - name: geterrorsovertime method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-latencyOverTime path: /v1/metrics/latencyOverTime operations: - name: getlatencyovertime method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-models path: /v1/metrics/models operations: - name: getmodelmetrics method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-quantiles path: /v1/metrics/quantiles operations: - name: getquantiles method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-requestCount path: /v1/metrics/requestCount operations: - name: getrequestcount method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-requestOverTime path: /v1/metrics/requestOverTime operations: - name: getrequestsovertime method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-requestStatusOverTime path: /v1/metrics/requestStatusOverTime operations: - name: getrequeststatusovertime method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-threatsOverTime path: /v1/metrics/threatsOverTime operations: - name: getthreatsovertime method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-timeToFirstToken path: /v1/metrics/timeToFirstToken operations: - name: gettimetofirsttokenovertime method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-tokensOverTime path: /v1/metrics/tokensOverTime operations: - name: gettokensovertime method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-totalCost path: /v1/metrics/totalCost operations: - name: gettotalcost method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-totalRequests path: /v1/metrics/totalRequests operations: - name: gettotalrequests method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-totalThreats path: /v1/metrics/totalThreats operations: - name: gettotalthreats method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-metrics-usersOverTime path: /v1/metrics/usersOverTime operations: - name: getusersovertime method: POST description: '' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: Authorization value: '{{env.HELICONE_API_KEY}}' placement: header exposes: - type: rest namespace: helicone-metrics-rest port: 8080 description: REST adapter for helicone-api — Metrics. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/metrics/activeusers name: v1-metrics-activeusers description: REST surface for v1-metrics-activeUsers. operations: - method: POST name: getactiveusers description: getactiveusers call: helicone-metrics.getactiveusers with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/averagelatency name: v1-metrics-averagelatency description: REST surface for v1-metrics-averageLatency. operations: - method: POST name: getaveragelatency description: getaveragelatency call: helicone-metrics.getaveragelatency with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/averagetimetofirsttoken name: v1-metrics-averagetimetofirsttoken description: REST surface for v1-metrics-averageTimeToFirstToken. operations: - method: POST name: getaveragetimetofirsttoken description: getaveragetimetofirsttoken call: helicone-metrics.getaveragetimetofirsttoken with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/averagetokensperrequest name: v1-metrics-averagetokensperrequest description: REST surface for v1-metrics-averageTokensPerRequest. operations: - method: POST name: getaveragetokensperrequest description: getaveragetokensperrequest call: helicone-metrics.getaveragetokensperrequest with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/costovertime name: v1-metrics-costovertime description: REST surface for v1-metrics-costOverTime. operations: - method: POST name: getcostovertime description: getcostovertime call: helicone-metrics.getcostovertime with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/country name: v1-metrics-country description: REST surface for v1-metrics-country. operations: - method: POST name: getcountrymetrics description: getcountrymetrics call: helicone-metrics.getcountrymetrics with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/errorovertime name: v1-metrics-errorovertime description: REST surface for v1-metrics-errorOverTime. operations: - method: POST name: geterrorsovertime description: geterrorsovertime call: helicone-metrics.geterrorsovertime with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/latencyovertime name: v1-metrics-latencyovertime description: REST surface for v1-metrics-latencyOverTime. operations: - method: POST name: getlatencyovertime description: getlatencyovertime call: helicone-metrics.getlatencyovertime with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/models name: v1-metrics-models description: REST surface for v1-metrics-models. operations: - method: POST name: getmodelmetrics description: getmodelmetrics call: helicone-metrics.getmodelmetrics with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/quantiles name: v1-metrics-quantiles description: REST surface for v1-metrics-quantiles. operations: - method: POST name: getquantiles description: getquantiles call: helicone-metrics.getquantiles with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/requestcount name: v1-metrics-requestcount description: REST surface for v1-metrics-requestCount. operations: - method: POST name: getrequestcount description: getrequestcount call: helicone-metrics.getrequestcount with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/requestovertime name: v1-metrics-requestovertime description: REST surface for v1-metrics-requestOverTime. operations: - method: POST name: getrequestsovertime description: getrequestsovertime call: helicone-metrics.getrequestsovertime with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/requeststatusovertime name: v1-metrics-requeststatusovertime description: REST surface for v1-metrics-requestStatusOverTime. operations: - method: POST name: getrequeststatusovertime description: getrequeststatusovertime call: helicone-metrics.getrequeststatusovertime with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/threatsovertime name: v1-metrics-threatsovertime description: REST surface for v1-metrics-threatsOverTime. operations: - method: POST name: getthreatsovertime description: getthreatsovertime call: helicone-metrics.getthreatsovertime with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/timetofirsttoken name: v1-metrics-timetofirsttoken description: REST surface for v1-metrics-timeToFirstToken. operations: - method: POST name: gettimetofirsttokenovertime description: gettimetofirsttokenovertime call: helicone-metrics.gettimetofirsttokenovertime with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/tokensovertime name: v1-metrics-tokensovertime description: REST surface for v1-metrics-tokensOverTime. operations: - method: POST name: gettokensovertime description: gettokensovertime call: helicone-metrics.gettokensovertime with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/totalcost name: v1-metrics-totalcost description: REST surface for v1-metrics-totalCost. operations: - method: POST name: gettotalcost description: gettotalcost call: helicone-metrics.gettotalcost with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/totalrequests name: v1-metrics-totalrequests description: REST surface for v1-metrics-totalRequests. operations: - method: POST name: gettotalrequests description: gettotalrequests call: helicone-metrics.gettotalrequests with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/totalthreats name: v1-metrics-totalthreats description: REST surface for v1-metrics-totalThreats. operations: - method: POST name: gettotalthreats description: gettotalthreats call: helicone-metrics.gettotalthreats with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/metrics/usersovertime name: v1-metrics-usersovertime description: REST surface for v1-metrics-usersOverTime. operations: - method: POST name: getusersovertime description: getusersovertime call: helicone-metrics.getusersovertime with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: helicone-metrics-mcp port: 9090 transport: http description: MCP adapter for helicone-api — Metrics. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: getactiveusers description: getactiveusers hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getactiveusers with: body: tools.body outputParameters: - type: object mapping: $. - name: getaveragelatency description: getaveragelatency hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getaveragelatency with: body: tools.body outputParameters: - type: object mapping: $. - name: getaveragetimetofirsttoken description: getaveragetimetofirsttoken hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getaveragetimetofirsttoken with: body: tools.body outputParameters: - type: object mapping: $. - name: getaveragetokensperrequest description: getaveragetokensperrequest hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getaveragetokensperrequest with: body: tools.body outputParameters: - type: object mapping: $. - name: getcostovertime description: getcostovertime hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getcostovertime with: body: tools.body outputParameters: - type: object mapping: $. - name: getcountrymetrics description: getcountrymetrics hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getcountrymetrics with: body: tools.body outputParameters: - type: object mapping: $. - name: geterrorsovertime description: geterrorsovertime hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.geterrorsovertime with: body: tools.body outputParameters: - type: object mapping: $. - name: getlatencyovertime description: getlatencyovertime hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getlatencyovertime with: body: tools.body outputParameters: - type: object mapping: $. - name: getmodelmetrics description: getmodelmetrics hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getmodelmetrics with: body: tools.body outputParameters: - type: object mapping: $. - name: getquantiles description: getquantiles hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getquantiles with: body: tools.body outputParameters: - type: object mapping: $. - name: getrequestcount description: getrequestcount hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getrequestcount with: body: tools.body outputParameters: - type: object mapping: $. - name: getrequestsovertime description: getrequestsovertime hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getrequestsovertime with: body: tools.body outputParameters: - type: object mapping: $. - name: getrequeststatusovertime description: getrequeststatusovertime hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getrequeststatusovertime with: body: tools.body outputParameters: - type: object mapping: $. - name: getthreatsovertime description: getthreatsovertime hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getthreatsovertime with: body: tools.body outputParameters: - type: object mapping: $. - name: gettimetofirsttokenovertime description: gettimetofirsttokenovertime hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.gettimetofirsttokenovertime with: body: tools.body outputParameters: - type: object mapping: $. - name: gettokensovertime description: gettokensovertime hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.gettokensovertime with: body: tools.body outputParameters: - type: object mapping: $. - name: gettotalcost description: gettotalcost hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.gettotalcost with: body: tools.body outputParameters: - type: object mapping: $. - name: gettotalrequests description: gettotalrequests hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.gettotalrequests with: body: tools.body outputParameters: - type: object mapping: $. - name: gettotalthreats description: gettotalthreats hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.gettotalthreats with: body: tools.body outputParameters: - type: object mapping: $. - name: getusersovertime description: getusersovertime hints: readOnly: false destructive: false idempotent: false call: helicone-metrics.getusersovertime with: body: tools.body outputParameters: - type: object mapping: $.