{"openapi":"3.1.0","info":{"title":"Notification Relay API","version":"1.0.0","description":"Pair a recipient device and send actionable notifications to its unified inbox."},"servers":[{"url":"https://relay-api.lachlanjacobs.xyz"}],"components":{"securitySchemes":{"applicationKey":{"type":"http","scheme":"bearer"},"deviceSession":{"type":"http","scheme":"bearer"},"administratorToken":{"type":"http","scheme":"bearer"}}},"paths":{"/health":{"get":{"summary":"Check API health","responses":{"200":{"description":"Healthy"}}}},"/v1/admin/applications":{"get":{"summary":"List applications","security":[{"administratorToken":[]}],"responses":{"200":{"description":"Applications"}}},"post":{"summary":"Create an application","security":[{"administratorToken":[]}],"responses":{"201":{"description":"Application created"}}}},"/v1/admin/applications/{applicationId}/api-keys":{"get":{"summary":"List API keys","security":[{"administratorToken":[]}],"responses":{"200":{"description":"API key metadata"}}},"post":{"summary":"Create an API key","security":[{"administratorToken":[]}],"responses":{"201":{"description":"API key created and shown once"}}}},"/v1/pairing-sessions":{"post":{"summary":"Create a short-lived pairing session","security":[{"applicationKey":[]}],"responses":{"201":{"description":"One-use code created"}}}},"/v1/pairings/claim":{"post":{"summary":"Claim a pairing code","responses":{"200":{"description":"Device connected"}}}},"/v1/notifications":{"post":{"summary":"Create and queue a notification","security":[{"applicationKey":[]}],"parameters":[{"name":"Idempotency-Key","in":"header","required":true,"schema":{"type":"string","maxLength":128}}],"responses":{"202":{"description":"Notification accepted"}}}},"/v1/notifications/{notificationId}":{"get":{"summary":"Read delivery status","security":[{"applicationKey":[]}],"responses":{"200":{"description":"Delivery status"}}}},"/v1/inbox":{"get":{"summary":"List device notifications","security":[{"deviceSession":[]}],"responses":{"200":{"description":"Inbox items"}}}},"/v1/device":{"delete":{"summary":"Delete the paired device and its inbox data","security":[{"deviceSession":[]}],"responses":{"204":{"description":"Device data deleted"}}}},"/v1/device/connections":{"get":{"summary":"List device connections","security":[{"deviceSession":[]}],"responses":{"200":{"description":"Connections"}}}},"/v1/device/diagnostics":{"get":{"summary":"Read redacted delivery diagnostics","security":[{"deviceSession":[]}],"responses":{"200":{"description":"Diagnostics"}}}}}}