{"openapi":"3.1.0","info":{"title":"DigitalPigeon API","version":"1.0.0","description":"Transactional and broadcast email. The request and response shapes match Resend's, so an existing integration moves over by changing the base URL and the key."},"servers":[{"url":"https://digitalpigeon.golux.tech/v1"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Your API key, as `Authorization: Bearer dp_live_…`"}},"schemas":{"SendEmailRequest":{"type":"object","required":["from","to","subject"],"properties":{"from":{"type":"string","description":"Address on a domain you have verified. `Name <addr>` or a bare address.","example":"Prodavnica <hello@mail.prodavnica.rs>"},"to":{"type":"array","items":{"type":"string"},"example":["kupac@example.com"]},"subject":{"type":"string","example":"Narudžbina #4471 je potvrđena"},"html":{"type":"string"},"text":{"type":"string","description":"Worth sending alongside html: filters treat HTML-only mail as more likely to be bulk."},"reply_to":{"type":"string"},"scheduled_at":{"type":"string","format":"date-time","description":"ISO 8601. Held until then."}}},"SendEmailResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"}}},"Error":{"type":"object","properties":{"statusCode":{"type":"integer"},"name":{"type":"string"},"message":{"type":"string","description":"Written to be shown to a developer, not logged and ignored."}}}}},"paths":{"/emails":{"post":{"summary":"Send an email","description":"Accepted and queued. Delivery happens after the response — a slow recipient never slows your request.","parameters":[{"name":"Idempotency-Key","in":"header","required":false,"schema":{"type":"string"},"description":"Repeating a request with the same key returns the original id instead of sending twice."}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailRequest"}}}},"responses":{"200":{"description":"Queued","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SendEmailResponse"}}}},"401":{"description":"Missing or invalid key"},"402":{"description":"Out of allowance for this plan"},"403":{"description":"Sending from a domain you have not verified"},"422":{"description":"Malformed request"}}}},"/emails/{id}":{"get":{"summary":"Look up a message","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Message"},"404":{"description":"No message with that id"}}}}}}