{"openapi":"3.0.3","info":{"title":"Peeryx Defense Fabric API","version":"1.0.0","description":"API \u00e0 droits limit\u00e9s, statistiques en direct toutes les cinq secondes et mises \u00e0 jour sign\u00e9es depuis le panel. Les op\u00e9rations API disponibles sont r\u00e9pertori\u00e9es dans la documentation client. Le PCAP contient jusqu\u2019\u00e0 1 000 paquets \u00e9chantillonn\u00e9s reconstruits : en-t\u00eates et d\u00e9but limit\u00e9 de charge utile. Les horodatages et les octets manquants sont reconstruits ; il ne s\u2019agit pas d\u2019une capture int\u00e9grale sur le r\u00e9seau."},"servers":[{"url":"https:\/\/peeryx.com\/api\/defense-fabric\/client\/v1"}],"paths":{"\/fleet":{"get":{"security":[{"clientToken":[]}],"x-required-scope":"network:read","parameters":[],"responses":{"200":{"description":"OK"},"202":{"description":"Queued for agent application"},"403":{"description":"Account, scope, CIDR or licence access denied"},"409":{"description":"Artifact not ready"},"422":{"description":"Invalid policy or conflicting revision"},"429":{"description":"Rate limit"}}}},"\/nodes":{"get":{"security":[{"clientToken":[]}],"x-required-scope":"services:read","parameters":[],"responses":{"200":{"description":"OK"},"202":{"description":"Queued for agent application"},"403":{"description":"Account, scope, CIDR or licence access denied"},"409":{"description":"Artifact not ready"},"422":{"description":"Invalid policy or conflicting revision"},"429":{"description":"Rate limit"}}}},"\/nodes\/{uuid}\/status":{"get":{"security":[{"clientToken":[]}],"x-required-scope":"network:read","parameters":[{"in":"path","name":"uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"202":{"description":"Queued for agent application"},"403":{"description":"Account, scope, CIDR or licence access denied"},"409":{"description":"Artifact not ready"},"422":{"description":"Invalid policy or conflicting revision"},"429":{"description":"Rate limit"}}}},"\/nodes\/{uuid}\/policy":{"get":{"security":[{"clientToken":[]}],"x-required-scope":"protection:read","parameters":[{"in":"path","name":"uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"202":{"description":"Queued for agent application"},"403":{"description":"Account, scope, CIDR or licence access denied"},"409":{"description":"Artifact not ready"},"422":{"description":"Invalid policy or conflicting revision"},"429":{"description":"Rate limit"}}},"put":{"security":[{"clientToken":[]}],"x-required-scope":"protection:write","parameters":[{"in":"path","name":"uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"202":{"description":"Queued for agent application"},"403":{"description":"Account, scope, CIDR or licence access denied"},"409":{"description":"Artifact not ready"},"422":{"description":"Invalid policy or conflicting revision"},"429":{"description":"Rate limit"}},"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","required":["revision","policy"],"properties":{"revision":{"type":"integer","minimum":0},"policy":{"type":"object","additionalProperties":true}}}}}}}},"\/nodes\/{uuid}\/prefixes":{"patch":{"security":[{"clientToken":[]}],"x-required-scope":"protection:write","parameters":[{"in":"path","name":"uuid","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"202":{"description":"Queued for agent application"},"403":{"description":"Account, scope, CIDR or licence access denied"},"409":{"description":"Artifact not ready"},"422":{"description":"Invalid policy or conflicting revision"},"429":{"description":"Rate limit"}},"requestBody":{"required":true,"content":{"application\/json":{"schema":{"type":"object","required":["revision","prefix"],"properties":{"revision":{"type":"integer","minimum":0},"prefix":{"type":"object","required":["cidr"],"additionalProperties":true}}}}}}}},"\/nodes\/{uuid}\/attacks":{"get":{"security":[{"clientToken":[]}],"x-required-scope":"attacks:read","parameters":[{"in":"path","name":"uuid","required":true,"schema":{"type":"string"}},{"in":"query","name":"before_id","schema":{"type":"integer","minimum":1}},{"in":"query","name":"cidr","schema":{"type":"string"}},{"in":"query","name":"active","schema":{"type":"integer","enum":[0,1]}}],"responses":{"200":{"description":"OK"},"202":{"description":"Queued for agent application"},"403":{"description":"Account, scope, CIDR or licence access denied"},"409":{"description":"Artifact not ready"},"422":{"description":"Invalid policy or conflicting revision"},"429":{"description":"Rate limit"}}}},"\/attacks\/{incident}":{"get":{"security":[{"clientToken":[]}],"x-required-scope":"attacks:read","parameters":[{"in":"path","name":"incident","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK"},"202":{"description":"Queued for agent application"},"403":{"description":"Account, scope, CIDR or licence access denied"},"409":{"description":"Artifact not ready"},"422":{"description":"Invalid policy or conflicting revision"},"429":{"description":"Rate limit"}}}},"\/attacks\/{incident}\/{artifact}":{"get":{"security":[{"clientToken":[]}],"x-required-scope":"attacks:download","parameters":[{"in":"path","name":"incident","required":true,"schema":{"type":"string"}},{"in":"path","name":"artifact","required":true,"schema":{"type":"string","enum":["sample.pcap","report.pdf","evidence.zip"]}}],"responses":{"200":{"description":"OK"},"202":{"description":"Queued for agent application"},"403":{"description":"Account, scope, CIDR or licence access denied"},"409":{"description":"Artifact not ready"},"422":{"description":"Invalid policy or conflicting revision"},"429":{"description":"Rate limit"}}}}},"components":{"securitySchemes":{"clientToken":{"type":"http","scheme":"bearer"}}},"x-policy-workflow":["GET policy; edit the returned schema; PUT the complete policy with its revision. Conflicts return 422.","Whole-node operations require an unrestricted CIDR token belonging to the owner.","Writes validate the licence and all existing safety gates. Desired policy is not proof of application; check status.","Requests: 120\/min\/token, 240\/min\/account; writes: 30\/min\/account; body: 128 KiB.","Large fleets: update a single prefix with PATCH \/nodes\/{uuid}\/prefixes (same revision) instead of replacing the full policy."]}