naftiko: 1.0.0-alpha2 info: label: Gremlin API — kubernetes.attacks description: 'Gremlin API — kubernetes.attacks. 5 operations. Lead operation: List all attacks.. Self-contained Naftiko capability covering one Gremlin business surface.' tags: - Gremlin - kubernetes.attacks created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GREMLIN_API_KEY: GREMLIN_API_KEY capability: consumes: - type: http namespace: gremlin-kubernetes-attacks baseUri: https://api.gremlin.com/v1 description: Gremlin API — kubernetes.attacks business capability. Self-contained, no shared references. resources: - name: kubernetes-attacks path: /kubernetes/attacks operations: - name: attacks method: GET description: List all attacks. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: source in: query type: string description: Filter Kubernetes attacks to either Adhoc or Scenario. - name: teamId in: query type: string description: Required when using company session token. required: true - name: kubernetes-attacks-halt path: /kubernetes/attacks/halt operations: - name: haltall1 method: POST description: Halt all active attacks outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: kubernetes-attacks-new path: /kubernetes/attacks/new operations: - name: createattack method: POST description: Legacy endpoint for creating K8s attacks. Please consider `POST /attacks` endpoint instead 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: false - name: kubernetes-attacks-guid path: /kubernetes/attacks/{guid} operations: - name: attack method: GET description: Get an attack by it's guid outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: guid in: path type: string description: This value represents the globally unique identifier of the record to fetch. required: true - name: teamId in: query type: string description: Required when using company session token. required: true - name: kubernetes-attacks-uid-halt path: /kubernetes/attacks/{uid}/halt operations: - name: halt2 method: POST description: Halt an active attack outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: uid 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 exposes: - type: rest namespace: gremlin-kubernetes-attacks-rest port: 8080 description: REST adapter for Gremlin API — kubernetes.attacks. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/kubernetes/attacks name: kubernetes-attacks description: REST surface for kubernetes-attacks. operations: - method: GET name: attacks description: List all attacks. call: gremlin-kubernetes-attacks.attacks with: source: rest.source teamId: rest.teamId outputParameters: - type: object mapping: $. - path: /v1/kubernetes/attacks/halt name: kubernetes-attacks-halt description: REST surface for kubernetes-attacks-halt. operations: - method: POST name: haltall1 description: Halt all active attacks call: gremlin-kubernetes-attacks.haltall1 with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/kubernetes/attacks/new name: kubernetes-attacks-new description: REST surface for kubernetes-attacks-new. operations: - method: POST name: createattack description: Legacy endpoint for creating K8s attacks. Please consider `POST /attacks` endpoint instead call: gremlin-kubernetes-attacks.createattack with: teamId: rest.teamId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/kubernetes/attacks/{guid} name: kubernetes-attacks-guid description: REST surface for kubernetes-attacks-guid. operations: - method: GET name: attack description: Get an attack by it's guid call: gremlin-kubernetes-attacks.attack with: guid: rest.guid teamId: rest.teamId outputParameters: - type: object mapping: $. - path: /v1/kubernetes/attacks/{uid}/halt name: kubernetes-attacks-uid-halt description: REST surface for kubernetes-attacks-uid-halt. operations: - method: POST name: halt2 description: Halt an active attack call: gremlin-kubernetes-attacks.halt2 with: uid: rest.uid teamId: rest.teamId body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: gremlin-kubernetes-attacks-mcp port: 9090 transport: http description: MCP adapter for Gremlin API — kubernetes.attacks. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: list-all-attacks description: List all attacks. hints: readOnly: true destructive: false idempotent: true call: gremlin-kubernetes-attacks.attacks with: source: tools.source teamId: tools.teamId outputParameters: - type: object mapping: $. - name: halt-all-active-attacks description: Halt all active attacks hints: readOnly: false destructive: false idempotent: false call: gremlin-kubernetes-attacks.haltall1 with: body: tools.body outputParameters: - type: object mapping: $. - name: legacy-endpoint-creating-k8s-attacks description: Legacy endpoint for creating K8s attacks. Please consider `POST /attacks` endpoint instead hints: readOnly: false destructive: false idempotent: false call: gremlin-kubernetes-attacks.createattack with: teamId: tools.teamId body: tools.body outputParameters: - type: object mapping: $. - name: get-attack-it-s-guid description: Get an attack by it's guid hints: readOnly: true destructive: false idempotent: true call: gremlin-kubernetes-attacks.attack with: guid: tools.guid teamId: tools.teamId outputParameters: - type: object mapping: $. - name: halt-active-attack description: Halt an active attack hints: readOnly: false destructive: false idempotent: false call: gremlin-kubernetes-attacks.halt2 with: uid: tools.uid teamId: tools.teamId body: tools.body outputParameters: - type: object mapping: $.