How email was delivered in a period
Read live (D213): every real email sent in the period (campaigns and automations) with deliveries, bounces (hard and soft) and spam complaints against the period before; per bucket by when they went out; bounces by reason; per mailbox provider (from each address’s domain) and per domain sent from; emails not sent by why; addresses suppressed in the period by why. `locale` narrows to emails in those locales.
Read live (D213): every real email sent in the period (campaigns and automations) with deliveries, bounces (hard and soft) and spam complaints against the period before; per bucket by when they went out; bounces by reason; per mailbox provider (from each address’s domain) and per domain sent from; emails not sent by why; addresses suppressed in the period by why. locale narrows to emails in those locales.
apiKey readAuthorizationBearer <token>A workspace API key (pf_…), created under Developers → API keys.
Scope: read
from?stringFrom (inclusive)
date-timeto?stringUntil (exclusive)
date-timelocale?stringComma-separated locales (nl-NL), any of them
OK
application/json- response
from*|date-timeto*stringdate-timeprevious*|nullbucket*string"day""week""month"timeZone*stringemails*unsubscribedBy*series*array<>bouncesByReason*array<>byProvider*array<>byDomain*array<>notSent*array<>suppressed*array<>curl -X GET 'https://api.postforge.dev/v1/analytics/deliverability'{ "from": "2019-08-24T14:15:22Z", "to": "2019-08-24T14:15:22Z", "previous": { "from": "2019-08-24T14:15:22Z", "to": "2019-08-24T14:15:22Z" }, "bucket": "day", "timeZone": "string", "emails": { "sent": 0, "delivered": 0, "opened": 0, "clicked": 0, "unsubscribed": 0, "bounced": 0, "complained": 0, "hardBounced": 0, "previous": { "sent": 0, "delivered": 0, "opened": 0, "clicked": 0, "unsubscribed": 0, "bounced": 0, "complained": 0, "hardBounced": 0 } }, "unsubscribedBy": { "link": 0, "inbox": 0 }, "series": [ { "sent": 0, "delivered": 0, "bounced": 0, "complained": 0, "at": "2019-08-24T14:15:22Z" } ], "bouncesByReason": [ { "reason": "unknown_address", "kind": "hard", "count": 0 } ], "byProvider": [ { "sent": 0, "delivered": 0, "bounced": 0, "complained": 0, "provider": "gmail" } ], "byDomain": [ { "sent": 0, "delivered": 0, "bounced": 0, "complained": 0, "domain": "string" } ], "notSent": [ { "reason": "suppressed", "count": 0 } ], "suppressed": [ { "reason": "hard_bounce", "count": 0 } ]}An automation’s emails in a period, per step and A/B variant GET
Each email step of the automation in the order of its flow, with the splits it's under (an A/B variant's share), its emails sent in the period and the orders they earned; steps no longer in it come last. Rates are left to the reader: opens, clicks, unsubscribes and orders of delivered emails, bounces of sent ones.
Subscribers in a period: growth, where they came from, why they left GET
Read live from consent history (D212): people subscribed to email now and at the start of the period (a person’s latest change wins, as on their profile), who subscribed and unsubscribed per bucket and in all (each person once), by source and origin, and per person’s locale. `locale` narrows to people in those locales.