naftiko: 1.0.0-alpha2 info: label: Gremlin API — load-generators description: 'Gremlin API — load-generators. 4 operations. Lead operation: Create Load Generator. Self-contained Naftiko capability covering one Gremlin business surface.' tags: - Gremlin - load-generators created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: GREMLIN_API_KEY: GREMLIN_API_KEY capability: consumes: - type: http namespace: gremlin-load-generators baseUri: https://api.gremlin.com/v1 description: Gremlin API — load-generators business capability. Self-contained, no shared references. resources: - name: load-generator path: /load-generator operations: - name: createloadgenerator method: POST description: Create Load Generator outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: serviceId in: query type: string description: Filter LoadGenerator by service id 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: load-generator-guid path: /load-generator/{guid} operations: - name: getloadgenerators method: GET description: Retrieve Load Generator by id 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: serviceId in: query type: string description: Filter LoadGenerator by service id required: true - name: teamId in: query type: string description: Required when using company session token. required: true - name: updateloadgenerator method: PUT description: Update a given Load Generator 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: serviceId in: query type: string description: Filter LoadGenerator by service id 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: deleteloadgenerator method: DELETE description: Delete a given LoadGenerator 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: serviceId in: query type: string description: Filter LoadGenerator by service id required: true - name: teamId in: query type: string description: Required when using company session token. required: true exposes: - type: rest namespace: gremlin-load-generators-rest port: 8080 description: REST adapter for Gremlin API — load-generators. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/load-generator name: load-generator description: REST surface for load-generator. operations: - method: POST name: createloadgenerator description: Create Load Generator call: gremlin-load-generators.createloadgenerator with: serviceId: rest.serviceId teamId: rest.teamId body: rest.body outputParameters: - type: object mapping: $. - path: /v1/load-generator/{guid} name: load-generator-guid description: REST surface for load-generator-guid. operations: - method: GET name: getloadgenerators description: Retrieve Load Generator by id call: gremlin-load-generators.getloadgenerators with: guid: rest.guid serviceId: rest.serviceId teamId: rest.teamId outputParameters: - type: object mapping: $. - method: PUT name: updateloadgenerator description: Update a given Load Generator call: gremlin-load-generators.updateloadgenerator with: guid: rest.guid serviceId: rest.serviceId teamId: rest.teamId body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteloadgenerator description: Delete a given LoadGenerator call: gremlin-load-generators.deleteloadgenerator with: guid: rest.guid serviceId: rest.serviceId teamId: rest.teamId outputParameters: - type: object mapping: $. - type: mcp namespace: gremlin-load-generators-mcp port: 9090 transport: http description: MCP adapter for Gremlin API — load-generators. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-load-generator description: Create Load Generator hints: readOnly: false destructive: false idempotent: false call: gremlin-load-generators.createloadgenerator with: serviceId: tools.serviceId teamId: tools.teamId body: tools.body outputParameters: - type: object mapping: $. - name: retrieve-load-generator-id description: Retrieve Load Generator by id hints: readOnly: true destructive: false idempotent: true call: gremlin-load-generators.getloadgenerators with: guid: tools.guid serviceId: tools.serviceId teamId: tools.teamId outputParameters: - type: object mapping: $. - name: update-given-load-generator description: Update a given Load Generator hints: readOnly: false destructive: false idempotent: true call: gremlin-load-generators.updateloadgenerator with: guid: tools.guid serviceId: tools.serviceId teamId: tools.teamId body: tools.body outputParameters: - type: object mapping: $. - name: delete-given-loadgenerator description: Delete a given LoadGenerator hints: readOnly: false destructive: true idempotent: true call: gremlin-load-generators.deleteloadgenerator with: guid: tools.guid serviceId: tools.serviceId teamId: tools.teamId outputParameters: - type: object mapping: $.