{"openapi":"3.1.0","info":{"title":"WebhookLab API","version":"1.0.0","description":"Webhook simulation, delivery, signatures, replay, and contract testing for webhooks.platphormnews.com"},"servers":[{"url":"https://webhooks.platphormnews.com"}],"components":{"securitySchemes":{"platphormApiKeyHeader":{"type":"apiKey","in":"header","name":"X-PlatPhorm-API-Key"},"platphormApiKeyBearer":{"type":"http","scheme":"bearer","bearerFormat":"PLATPHORM_API_KEY"}}},"paths":{"/api/health":{"get":{"summary":"Service health"}},"/api/v1/events":{"get":{"summary":"List events"},"post":{"summary":"Create event","security":[{"platphormApiKeyHeader":[]},{"platphormApiKeyBearer":[]}]}},"/api/v1/events/{id}":{"get":{"summary":"Get event by id"},"delete":{"summary":"Delete event","security":[{"platphormApiKeyHeader":[]},{"platphormApiKeyBearer":[]}]}},"/api/v1/endpoints":{"get":{"summary":"List endpoints"},"post":{"summary":"Register endpoint","security":[{"platphormApiKeyHeader":[]},{"platphormApiKeyBearer":[]}]}},"/api/v1/endpoints/{id}":{"get":{"summary":"Get endpoint"},"put":{"summary":"Update endpoint","security":[{"platphormApiKeyHeader":[]},{"platphormApiKeyBearer":[]}]},"delete":{"summary":"Delete endpoint","security":[{"platphormApiKeyHeader":[]},{"platphormApiKeyBearer":[]}]}},"/api/v1/deliveries":{"get":{"summary":"List deliveries"}},"/api/v1/deliveries/{id}":{"get":{"summary":"Get delivery"}},"/api/v1/deliveries/{id}/attempts":{"get":{"summary":"List delivery attempts"}},"/api/v1/deliveries/{id}/replay":{"post":{"summary":"Replay delivery","security":[{"platphormApiKeyHeader":[]},{"platphormApiKeyBearer":[]}]}},"/api/v1/deliveries/{id}/cancel":{"post":{"summary":"Cancel delivery","security":[{"platphormApiKeyHeader":[]},{"platphormApiKeyBearer":[]}]}},"/api/v1/contracts":{"get":{"summary":"List contracts"},"post":{"summary":"Create contract","security":[{"platphormApiKeyHeader":[]},{"platphormApiKeyBearer":[]}]}},"/api/v1/contracts/{id}":{"get":{"summary":"Get contract"},"put":{"summary":"Update contract","security":[{"platphormApiKeyHeader":[]},{"platphormApiKeyBearer":[]}]},"delete":{"summary":"Delete contract","security":[{"platphormApiKeyHeader":[]},{"platphormApiKeyBearer":[]}]}},"/api/v1/contracts/{id}/validate":{"post":{"summary":"Validate payload against contract"}},"/api/v1/contracts/{id}/test":{"post":{"summary":"Run contract test","security":[{"platphormApiKeyHeader":[]},{"platphormApiKeyBearer":[]}]}},"/api/v1/receive/{endpointSlug}":{"post":{"summary":"Receive inbound webhook"}},"/api/webhooks":{"post":{"summary":"Receive Vercel webhooks"}},"/api/mcp":{"get":{"summary":"MCP capability descriptor"},"post":{"summary":"JSON-RPC MCP endpoint"}}}}