naftiko: 1.0.0-alpha2 info: label: Ambassador Edge Stack API — RateLimits description: 'Ambassador Edge Stack API — RateLimits. 5 operations. Lead operation: Ambassador List All Ratelimit Resources in a Namespace. Self-contained Naftiko capability covering one Ambassador business surface.' tags: - Ambassador - RateLimits created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: AMBASSADOR_API_KEY: AMBASSADOR_API_KEY capability: consumes: - type: http namespace: ambassador-ratelimits baseUri: https://{ambassador-host}:8877 description: Ambassador Edge Stack API — RateLimits business capability. Self-contained, no shared references. resources: - name: apis-getambassador.io-v3alpha1-namespaces-namespace-ratelimits path: /apis/getambassador.io/v3alpha1/namespaces/{namespace}/ratelimits operations: - name: listratelimits method: GET description: Ambassador List All Ratelimit Resources in a Namespace outputRawFormat: json outputParameters: - name: result type: object value: $. - name: createratelimit method: POST description: Ambassador Create a New Ratelimit outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: apis-getambassador.io-v3alpha1-namespaces-namespace-ratelimits-name path: /apis/getambassador.io/v3alpha1/namespaces/{namespace}/ratelimits/{name} operations: - name: getratelimit method: GET description: Ambassador Get a Specific Ratelimit outputRawFormat: json outputParameters: - name: result type: object value: $. - name: updateratelimit method: PUT description: Ambassador Update a Ratelimit outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: deleteratelimit method: DELETE description: Ambassador Delete a Ratelimit outputRawFormat: json outputParameters: - name: result type: object value: $. authentication: type: bearer token: '{{env.AMBASSADOR_API_KEY}}' exposes: - type: rest namespace: ambassador-ratelimits-rest port: 8080 description: REST adapter for Ambassador Edge Stack API — RateLimits. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/apis/getambassador-io/v3alpha1/namespaces/{namespace}/ratelimits name: apis-getambassador-io-v3alpha1-namespaces-namespace-ratelimits description: REST surface for apis-getambassador.io-v3alpha1-namespaces-namespace-ratelimits. operations: - method: GET name: listratelimits description: Ambassador List All Ratelimit Resources in a Namespace call: ambassador-ratelimits.listratelimits outputParameters: - type: object mapping: $. - method: POST name: createratelimit description: Ambassador Create a New Ratelimit call: ambassador-ratelimits.createratelimit with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/apis/getambassador-io/v3alpha1/namespaces/{namespace}/ratelimits/{name} name: apis-getambassador-io-v3alpha1-namespaces-namespace-ratelimits-name description: REST surface for apis-getambassador.io-v3alpha1-namespaces-namespace-ratelimits-name. operations: - method: GET name: getratelimit description: Ambassador Get a Specific Ratelimit call: ambassador-ratelimits.getratelimit outputParameters: - type: object mapping: $. - method: PUT name: updateratelimit description: Ambassador Update a Ratelimit call: ambassador-ratelimits.updateratelimit with: body: rest.body outputParameters: - type: object mapping: $. - method: DELETE name: deleteratelimit description: Ambassador Delete a Ratelimit call: ambassador-ratelimits.deleteratelimit outputParameters: - type: object mapping: $. - type: mcp namespace: ambassador-ratelimits-mcp port: 9090 transport: http description: MCP adapter for Ambassador Edge Stack API — RateLimits. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: ambassador-list-all-ratelimit-resources description: Ambassador List All Ratelimit Resources in a Namespace hints: readOnly: true destructive: false idempotent: true call: ambassador-ratelimits.listratelimits outputParameters: - type: object mapping: $. - name: ambassador-create-new-ratelimit description: Ambassador Create a New Ratelimit hints: readOnly: false destructive: false idempotent: false call: ambassador-ratelimits.createratelimit with: body: tools.body outputParameters: - type: object mapping: $. - name: ambassador-get-specific-ratelimit description: Ambassador Get a Specific Ratelimit hints: readOnly: true destructive: false idempotent: true call: ambassador-ratelimits.getratelimit outputParameters: - type: object mapping: $. - name: ambassador-update-ratelimit description: Ambassador Update a Ratelimit hints: readOnly: false destructive: false idempotent: true call: ambassador-ratelimits.updateratelimit with: body: tools.body outputParameters: - type: object mapping: $. - name: ambassador-delete-ratelimit description: Ambassador Delete a Ratelimit hints: readOnly: false destructive: true idempotent: true call: ambassador-ratelimits.deleteratelimit outputParameters: - type: object mapping: $.