naftiko: 1.0.0-alpha2 info: label: OpsGenie Service API description: 'OpsGenie Service API. 5 operations. Lead operation: Create service. Self-contained Naftiko capability covering one Opsgenie business surface.' tags: - Opsgenie - OpsGenie Service API created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: OPSGENIE_API_KEY: OPSGENIE_API_KEY capability: consumes: - type: http namespace: service baseUri: https://api.opsgenie.com description: OpsGenie Service API business capability. Self-contained, no shared references. resources: - name: v1-services path: /v1/services operations: - name: createservice method: POST description: Create service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: listservices method: GET description: List services outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: limit in: query type: integer description: Maximum number of services to return. - name: offset in: query type: integer description: Starting index for pagination. - name: sort in: query type: string description: Field to sort by. - name: order in: query type: string description: Sort order. - name: v1-services-identifier path: /v1/services/{identifier} operations: - name: getservice method: GET description: Get service outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateservice method: PATCH description: Update service outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteservice method: DELETE description: Delete service outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: apikey key: Authorization value: '{{env.OPSGENIE_API_KEY}}' placement: header exposes: - type: rest namespace: service-rest port: 8080 description: REST adapter for OpsGenie Service API. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/services name: v1-services description: REST surface for v1-services. operations: - method: POST name: createservice description: Create service call: service.createservice with: body: rest.body outputParameters: - type: object mapping: $. - method: GET name: listservices description: List services call: service.listservices with: limit: rest.limit offset: rest.offset sort: rest.sort order: rest.order outputParameters: - type: object mapping: $. - path: /v1/v1/services/{identifier} name: v1-services-identifier description: REST surface for v1-services-identifier. operations: - method: GET name: getservice description: Get service call: service.getservice outputParameters: - type: object mapping: $. - method: PATCH name: updateservice description: Update service call: service.updateservice with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteservice description: Delete service call: service.deleteservice outputParameters: - type: object mapping: $. - type: mcp namespace: service-mcp port: 9090 transport: http description: MCP adapter for OpsGenie Service API. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-service description: Create service hints: readOnly: false destructive: false idempotent: false call: service.createservice with: body: tools.body outputParameters: - type: object mapping: $. - name: list-services description: List services hints: readOnly: true destructive: false idempotent: true call: service.listservices with: limit: tools.limit offset: tools.offset sort: tools.sort order: tools.order outputParameters: - type: object mapping: $. - name: get-service description: Get service hints: readOnly: true destructive: false idempotent: true call: service.getservice outputParameters: - type: object mapping: $. - name: update-service description: Update service hints: readOnly: false destructive: false idempotent: true call: service.updateservice with: body: tools.body outputParameters: - type: object mapping: $. - name: delete-service description: Delete service hints: readOnly: false destructive: true idempotent: true call: service.deleteservice outputParameters: - type: object mapping: $.