naftiko: 1.0.0-alpha2 info: label: "Honeycomb SLOs API \u2014 SLOs" description: "Honeycomb SLOs API \u2014 SLOs. 7 operations. Lead operation: Create an SLO. Self-contained Naftiko capability covering one Honeycomb business surface." tags: - Honeycomb - Observability - SLOs created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: HONEYCOMB_API_KEY: HONEYCOMB_API_KEY capability: consumes: - type: http namespace: slos-slos baseUri: https://api.honeycomb.io description: "Honeycomb SLOs API \u2014 SLOs business capability. Self-contained, no shared references." resources: - name: 1-slos path: /1/slos/{datasetSlug} operations: - name: createslo method: POST description: Create an SLO outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: listslos method: GET description: Get all SLOs outputRawFormat: json outputParameters: - name: result type: object value: $. - name: 1-slos path: /1/slos/{datasetSlug}/{sloId} operations: - name: getslo method: GET description: Get an SLO outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: detailed in: query type: boolean description: 'Allows SLO reporting data (`status`, `burn_rate`, `budget_remaining` and `compliance`) to be returned when retrieving a single SLO. This feature is available as part of the [Honeycomb Enterprise plan](https://www.honeycomb.io/pricing/). **Note:** `burn_rate` is calculated based on the last 4 hours of data.' required: false - name: updateslo method: PUT description: Update an SLO outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteslo method: DELETE description: Delete an SLO outputRawFormat: json outputParameters: - name: result type: object value: $. - name: 1-slos-counts path: /1/slos/{datasetSlug}/{sloId}/counts operations: - name: getslorealtimecounts method: GET description: Get SLO Realtime Counts outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start_time in: query type: integer description: Start of the time range as a Unix timestamp (seconds). Must be within the last 24 hours and no later than `end_time`. required: true - name: end_time in: query type: integer description: End of the time range as a Unix timestamp (seconds). Must be greater than `start_time` and within the same clock hour as `start_time`. Realtime counts accumulate from the start of each hour and reset at hour boundaries; use the [Get SLO Hourly Counts History endpoint](https://api-docs.honeycomb.io/api/slos/getSloHourlyCountsHistory/) for completed hours. required: true - name: 1-slos-counts-history path: /1/slos/{datasetSlug}/{sloId}/counts/history operations: - name: getslohourlycountshistory method: GET description: Get SLO Hourly Counts History outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start_time in: query type: integer description: Start of the time range as a Unix timestamp (seconds). required: true - name: end_time in: query type: integer description: End of the time range as a Unix timestamp (seconds). Must be greater than `start_time`. required: true authentication: type: apikey key: X-Honeycomb-Team value: '{{env.HONEYCOMB_API_KEY}}' placement: header exposes: - type: rest namespace: slos-slos-rest port: 8080 description: "REST adapter for Honeycomb SLOs API \u2014 SLOs. One Spectral-compliant resource per consumed operation, prefixed with /v1." resources: - path: /v1/1/slos/{datasetSlug} name: 1-slos description: REST surface for 1-slos. operations: - method: POST name: createslo description: Create an SLO call: slos-slos.createslo with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listslos description: Get all SLOs call: slos-slos.listslos outputParameters: - type: object mapping: $. - path: /v1/1/slos/{datasetSlug}/{sloId} name: 1-slos description: REST surface for 1-slos. operations: - method: GET name: getslo description: Get an SLO call: slos-slos.getslo with: detailed: rest.detailed outputParameters: - type: object mapping: $. - method: PUT name: updateslo description: Update an SLO call: slos-slos.updateslo with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteslo description: Delete an SLO call: slos-slos.deleteslo outputParameters: - type: object mapping: $. - path: /v1/1/slos/{datasetSlug}/{sloId}/counts name: 1-slos-counts description: REST surface for 1-slos-counts. operations: - method: GET name: getslorealtimecounts description: Get SLO Realtime Counts call: slos-slos.getslorealtimecounts with: start_time: rest.start_time end_time: rest.end_time outputParameters: - type: object mapping: $. - path: /v1/1/slos/{datasetSlug}/{sloId}/counts/history name: 1-slos-counts-history description: REST surface for 1-slos-counts-history. operations: - method: GET name: getslohourlycountshistory description: Get SLO Hourly Counts History call: slos-slos.getslohourlycountshistory with: start_time: rest.start_time end_time: rest.end_time outputParameters: - type: object mapping: $. - type: mcp namespace: slos-slos-mcp port: 9090 transport: http description: "MCP adapter for Honeycomb SLOs API \u2014 SLOs. One tool per consumed operation, routed inline through this capability's consumes block." tools: - name: honeycomb-slos-slos-createslo description: Create an SLO hints: readOnly: false destructive: false idempotent: false call: slos-slos.createslo with: body: tools.body outputParameters: - type: object mapping: $. - name: honeycomb-slos-slos-listslos description: Get all SLOs hints: readOnly: true destructive: false idempotent: true call: slos-slos.listslos outputParameters: - type: object mapping: $. - name: honeycomb-slos-slos-getslo description: Get an SLO hints: readOnly: true destructive: false idempotent: true call: slos-slos.getslo with: detailed: tools.detailed outputParameters: - type: object mapping: $. - name: honeycomb-slos-slos-updateslo description: Update an SLO hints: readOnly: false destructive: false idempotent: true call: slos-slos.updateslo with: body: tools.body outputParameters: - type: object mapping: $. - name: honeycomb-slos-slos-deleteslo description: Delete an SLO hints: readOnly: false destructive: true idempotent: true call: slos-slos.deleteslo outputParameters: - type: object mapping: $. - name: honeycomb-slos-slos-getslorealtimecounts description: Get SLO Realtime Counts hints: readOnly: true destructive: false idempotent: true call: slos-slos.getslorealtimecounts with: start_time: tools.start_time end_time: tools.end_time outputParameters: - type: object mapping: $. - name: honeycomb-slos-slos-getslohourlycountshistory description: Get SLO Hourly Counts History hints: readOnly: true destructive: false idempotent: true call: slos-slos.getslohourlycountshistory with: start_time: tools.start_time end_time: tools.end_time outputParameters: - type: object mapping: $.