{"openapi":"3.0.3","info":{"title":"Barbine Worldwide API","description":"API documentation for Barbine Worldwide services","version":"1.0.0","contact":{"name":"Barbine Worldwide","email":"api@barbine.worldwide","url":"https://barbine.worldwide"}},"servers":[{"url":"https://barbine.worldwide/api","description":"Production server"},{"url":"http://localhost:3000/api","description":"Development server"}],"paths":{"/v1/health":{"get":{"summary":"Health Check","description":"Returns the current health status of the API","tags":["System"],"responses":{"200":{"description":"API is healthy","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"string","example":"ok"},"version":{"type":"string","example":"1.0.0"},"timestamp":{"type":"string","format":"date-time"},"uptime_seconds":{"type":"integer"},"environment":{"type":"string"},"service":{"type":"string"}}}}}}}}},"/v1/contact":{"post":{"summary":"Submit Contact Inquiry","description":"Submit a new contact inquiry","tags":["Contact"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","email","message"],"properties":{"name":{"type":"string","minLength":2},"email":{"type":"string","format":"email"},"company":{"type":"string"},"service":{"type":"string"},"budget":{"type":"string"},"message":{"type":"string","minLength":10}}}}}},"responses":{"200":{"description":"Inquiry submitted successfully","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean"},"ticket_id":{"type":"string"},"message":{"type":"string"},"timestamp":{"type":"string","format":"date-time"}}}}}},"400":{"description":"Validation error"}}}},"/v1/subscribe":{"post":{"summary":"Subscribe to Newsletter","description":"Subscribe to receive updates and insights","tags":["Newsletter"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["email"],"properties":{"email":{"type":"string","format":"email"},"interests":{"type":"array","items":{"type":"string"}}}}}}},"responses":{"200":{"description":"Subscription successful"}}}},"/webhooks":{"post":{"summary":"Webhook Receiver","description":"Receive and process webhook events (signed, retryable, idempotent)","tags":["Webhooks"],"parameters":[{"name":"x-webhook-signature","in":"header","description":"HMAC-SHA256 signature","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["event","payload"],"properties":{"event":{"type":"string"},"payload":{"type":"object"},"timestamp":{"type":"string","format":"date-time"},"idempotency_key":{"type":"string"}}}}}},"responses":{"200":{"description":"Webhook processed"},"401":{"description":"Invalid signature"}}}},"/events":{"get":{"summary":"Get Events","description":"Retrieve events from the outbox","tags":["Events"],"parameters":[{"name":"limit","in":"query","schema":{"type":"integer","default":50,"maximum":100}},{"name":"offset","in":"query","schema":{"type":"integer","default":0}},{"name":"include_delivered","in":"query","schema":{"type":"boolean","default":false}}],"responses":{"200":{"description":"Events retrieved"}}}}},"tags":[{"name":"System","description":"System health and status"},{"name":"Contact","description":"Contact form submissions"},{"name":"Newsletter","description":"Newsletter subscriptions"},{"name":"Webhooks","description":"Webhook handling"},{"name":"Events","description":"Event outbox"}]}