naftiko: 1.0.0-alpha2 info: label: Fastly DDoS Protection — Events description: Retrieve Fastly DDoS Protection events and the per-event rules and traffic statistics that mitigated attacks at the edge. tags: [Fastly, DDoS Protection, Security, Events] created: '2026-05-22' modified: '2026-05-22' binds: - namespace: env keys: { FASTLY_API_KEY: FASTLY_API_KEY } capability: consumes: - type: http namespace: ddos-protection-events baseUri: https://api.fastly.com description: Fastly DDoS Protection events and per-event rules. resources: - name: events path: /ddos-protection/v1/events operations: - { name: listevents, method: GET, description: List DDoS events, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] } - name: event path: /ddos-protection/v1/events/{event_id} operations: - { name: getevent, method: GET, description: Get DDoS event by ID, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] } - name: event-rules path: /ddos-protection/v1/events/{event_id}/rules operations: - { name: listrulesforevent, method: GET, description: Get all rules for an event, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] } - name: event-rule-traffic path: /ddos-protection/v1/events/{event_id}/rules/{rule_id}/traffic-stats operations: - { name: gettrafficstats, method: GET, description: Get traffic stats for a rule, outputRawFormat: json, outputParameters: [ { name: result, type: object, value: $. } ] } authentication: { type: apikey, key: Fastly-Key, value: '{{env.FASTLY_API_KEY}}', placement: header } exposes: - type: rest namespace: ddos-protection-events-rest port: 8080 description: REST adapter. resources: - path: /v1/ddos-protection/events name: events description: DDoS events collection. operations: - { method: GET, name: listevents, description: List DDoS events, call: ddos-protection-events.listevents, outputParameters: [ { type: object, mapping: $. } ] } - path: /v1/ddos-protection/events/{event-id} name: event description: Single DDoS event. operations: - { method: GET, name: getevent, description: Get DDoS event, call: ddos-protection-events.getevent, outputParameters: [ { type: object, mapping: $. } ] } - path: /v1/ddos-protection/events/{event-id}/rules name: event-rules description: Rules for a DDoS event. operations: - { method: GET, name: listrulesforevent, description: List rules for event, call: ddos-protection-events.listrulesforevent, outputParameters: [ { type: object, mapping: $. } ] } - path: /v1/ddos-protection/events/{event-id}/rules/{rule-id}/traffic-stats name: event-rule-traffic description: Traffic stats for a DDoS event rule. operations: - { method: GET, name: gettrafficstats, description: Get traffic stats, call: ddos-protection-events.gettrafficstats, outputParameters: [ { type: object, mapping: $. } ] } - type: mcp namespace: ddos-protection-events-mcp port: 9090 transport: http description: MCP adapter. tools: - { name: list-ddos-events, description: List Fastly DDoS Protection events, hints: { readOnly: true, destructive: false, idempotent: true }, call: ddos-protection-events.listevents, outputParameters: [ { type: object, mapping: $. } ] } - { name: get-ddos-event, description: Get a Fastly DDoS Protection event, hints: { readOnly: true, destructive: false, idempotent: true }, call: ddos-protection-events.getevent, outputParameters: [ { type: object, mapping: $. } ] } - { name: list-ddos-event-rules, description: List rules applied for a Fastly DDoS event, hints: { readOnly: true, destructive: false, idempotent: true }, call: ddos-protection-events.listrulesforevent, outputParameters: [ { type: object, mapping: $. } ] } - { name: get-ddos-rule-traffic-stats, description: Get traffic stats for a Fastly DDoS rule, hints: { readOnly: true, destructive: false, idempotent: true }, call: ddos-protection-events.gettrafficstats, outputParameters: [ { type: object, mapping: $. } ] }