naftiko: 1.0.0-alpha2 info: label: Waxell Observe API — Cost Management description: 'Waxell Observe API — Cost Management. 3 operations. Lead operation: List Model Costs. Self-contained Naftiko capability covering one Waxell business surface.' tags: - Waxell - Cost Management created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: WAXELL_API_KEY: WAXELL_API_KEY capability: consumes: - type: http namespace: observe-cost-management baseUri: https://{tenant}.waxell.dev description: Waxell Observe API — Cost Management business capability. Self-contained, no shared references. resources: - name: api-v1-observe-model-costs path: /api/v1/observe/model-costs/ operations: - name: listmodelcosts method: GET description: List Model Costs outputRawFormat: json outputParameters: - name: result type: object value: $. - name: api-v1-observe-model-costs-model_id path: /api/v1/observe/model-costs/{model_id}/ operations: - name: setmodelcost method: PUT description: Override Model Cost outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: model_id in: path type: string description: Provider-qualified model identifier (e.g. `openai/gpt-4o`). required: true - name: body in: body type: object description: Request body (JSON). required: true - name: deletemodelcost method: DELETE description: Remove Model Cost Override outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: model_id in: path type: string required: true authentication: type: bearer token: '{{env.WAXELL_API_KEY}}' exposes: - type: rest namespace: observe-cost-management-rest port: 8080 description: REST adapter for Waxell Observe API — Cost Management. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/api/v1/observe/model-costs name: api-v1-observe-model-costs description: REST surface for api-v1-observe-model-costs. operations: - method: GET name: listmodelcosts description: List Model Costs call: observe-cost-management.listmodelcosts outputParameters: - type: object mapping: $. - path: /v1/api/v1/observe/model-costs/{model-id} name: api-v1-observe-model-costs-model-id description: REST surface for api-v1-observe-model-costs-model_id. operations: - method: PUT name: setmodelcost description: Override Model Cost call: observe-cost-management.setmodelcost with: model_id: rest.model_id body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deletemodelcost description: Remove Model Cost Override call: observe-cost-management.deletemodelcost with: model_id: rest.model_id outputParameters: - type: object mapping: $. - type: mcp namespace: observe-cost-management-mcp port: 9090 transport: http description: MCP adapter for Waxell Observe API — Cost Management. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-model-costs description: List Model Costs hints: readOnly: true destructive: false idempotent: true call: observe-cost-management.listmodelcosts outputParameters: - type: object mapping: $. - name: override-model-cost description: Override Model Cost hints: readOnly: false destructive: false idempotent: true call: observe-cost-management.setmodelcost with: model_id: tools.model_id body: tools.body outputParameters: - type: object mapping: $. - name: remove-model-cost-override description: Remove Model Cost Override hints: readOnly: false destructive: true idempotent: true call: observe-cost-management.deletemodelcost with: model_id: tools.model_id outputParameters: - type: object mapping: $.