naftiko: 1.0.0-alpha2 info: label: Gremlin API — health checks description: 'Gremlin API — health checks. 8 operations. Lead operation: Retrieve status checks by Id (or all if the query param is empty). Self-contained Naftiko capability covering one Gremlin business surface.' tags: - Gremlin - health checks created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GREMLIN_API_KEY: GREMLIN_API_KEY capability: consumes: - type: http namespace: gremlin-health-checks baseUri: https://api.gremlin.com/v1 description: Gremlin API — health checks business capability. Self-contained, no shared references. resources: - name: status-checks path: /status-checks operations: - name: getstatuschecks method: GET description: Retrieve status checks by Id (or all if the query param is empty) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: statusCheckIds in: query type: array - name: teamId in: query type: string description: Required when using company session token. required: true - name: createwebhook method: POST description: Creates a new Status Check outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: teamId in: query type: string description: Required when using company session token. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: status-checks-identifier path: /status-checks/{identifier} operations: - name: getstatuscheck method: GET description: retrieve a status check by id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: identifier in: path type: string required: true - name: teamId in: query type: string description: Required when using company session token. required: true - name: update3 method: PUT description: Update a given status check outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: identifier in: path type: string required: true - name: teamId in: query type: string description: Required when using company session token. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: delete5 method: DELETE description: Delete a given statuscheck by id outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: identifier in: path type: string required: true - name: teamId in: query type: string description: Required when using company session token. required: true - name: status-checks-identifier-tags path: /status-checks/{identifier}/tags operations: - name: updatetags method: PUT description: Update a given status check tags outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: identifier in: path type: string required: true - name: teamId in: query type: string description: Required when using company session token. required: true - name: body in: body type: object description: Request body (JSON). required: false - name: status-checks-runTestEndpoint path: /status-checks/{runTestEndpoint} operations: - name: testendpointconfiguration1 method: POST description: Test a status check endpoint configuration. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: teamId in: query type: string description: Required when using company session token. required: true - name: body in: body type: object description: Request body (JSON). required: true - name: status-checks-runTestEvaluation path: /status-checks/{runTestEvaluation} operations: - name: testevaluationconfiguration1 method: POST description: Test a status check evaluation configuration. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: teamId in: query type: string description: Required when using company session token. required: true - name: body in: body type: object description: Request body (JSON). required: true exposes: - type: rest namespace: gremlin-health-checks-rest port: 8080 description: REST adapter for Gremlin API — health checks. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/status-checks name: status-checks description: REST surface for status-checks. operations: - method: GET name: getstatuschecks description: Retrieve status checks by Id (or all if the query param is empty) call: gremlin-health-checks.getstatuschecks with: statusCheckIds: rest.statusCheckIds teamId: rest.teamId outputParameters: - type: object mapping: $. - method: POST name: createwebhook description: Creates a new Status Check call: gremlin-health-checks.createwebhook with: teamId: rest.teamId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/status-checks/{identifier} name: status-checks-identifier description: REST surface for status-checks-identifier. operations: - method: GET name: getstatuscheck description: retrieve a status check by id call: gremlin-health-checks.getstatuscheck with: identifier: rest.identifier teamId: rest.teamId outputParameters: - type: object mapping: $. - method: PUT name: update3 description: Update a given status check call: gremlin-health-checks.update3 with: identifier: rest.identifier teamId: rest.teamId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: delete5 description: Delete a given statuscheck by id call: gremlin-health-checks.delete5 with: identifier: rest.identifier teamId: rest.teamId outputParameters: - type: object mapping: $. - path: /v1/status-checks/{identifier}/tags name: status-checks-identifier-tags description: REST surface for status-checks-identifier-tags. operations: - method: PUT name: updatetags description: Update a given status check tags call: gremlin-health-checks.updatetags with: identifier: rest.identifier teamId: rest.teamId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/status-checks/{runtestendpoint} name: status-checks-runtestendpoint description: REST surface for status-checks-runTestEndpoint. operations: - method: POST name: testendpointconfiguration1 description: Test a status check endpoint configuration. call: gremlin-health-checks.testendpointconfiguration1 with: teamId: rest.teamId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/status-checks/{runtestevaluation} name: status-checks-runtestevaluation description: REST surface for status-checks-runTestEvaluation. operations: - method: POST name: testevaluationconfiguration1 description: Test a status check evaluation configuration. call: gremlin-health-checks.testevaluationconfiguration1 with: teamId: rest.teamId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: gremlin-health-checks-mcp port: 9090 transport: http description: MCP adapter for Gremlin API — health checks. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: retrieve-status-checks-id-all description: Retrieve status checks by Id (or all if the query param is empty) hints: readOnly: true destructive: false idempotent: true call: gremlin-health-checks.getstatuschecks with: statusCheckIds: tools.statusCheckIds teamId: tools.teamId outputParameters: - type: object mapping: $. - name: creates-new-status-check description: Creates a new Status Check hints: readOnly: false destructive: false idempotent: false call: gremlin-health-checks.createwebhook with: teamId: tools.teamId body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-status-check-id description: retrieve a status check by id hints: readOnly: true destructive: false idempotent: true call: gremlin-health-checks.getstatuscheck with: identifier: tools.identifier teamId: tools.teamId outputParameters: - type: object mapping: $. - name: update-given-status-check description: Update a given status check hints: readOnly: false destructive: false idempotent: true call: gremlin-health-checks.update3 with: identifier: tools.identifier teamId: tools.teamId body: tools.body outputParameters: - type: object mapping: $. - name: delete-given-statuscheck-id description: Delete a given statuscheck by id hints: readOnly: false destructive: true idempotent: true call: gremlin-health-checks.delete5 with: identifier: tools.identifier teamId: tools.teamId outputParameters: - type: object mapping: $. - name: update-given-status-check-tags description: Update a given status check tags hints: readOnly: false destructive: false idempotent: true call: gremlin-health-checks.updatetags with: identifier: tools.identifier teamId: tools.teamId body: tools.body outputParameters: - type: object mapping: $. - name: test-status-check-endpoint-configuration description: Test a status check endpoint configuration. hints: readOnly: true destructive: false idempotent: false call: gremlin-health-checks.testendpointconfiguration1 with: teamId: tools.teamId body: tools.body outputParameters: - type: object mapping: $. - name: test-status-check-evaluation-configuration description: Test a status check evaluation configuration. hints: readOnly: true destructive: false idempotent: false call: gremlin-health-checks.testevaluationconfiguration1 with: teamId: tools.teamId body: tools.body outputParameters: - type: object mapping: $.