Send a test of a template
Sends the template as it is now, in one locale, to up to 5 addresses from one of the workspace’s senders, filled in like the preview: for a profile and an event when given. The subject is “[Test] <template name>”. Refused before anything is sent when the template has gaps in the locale or the sender can’t send; consent isn’t asked for a test.
Sends the template as it is now, in one locale, to up to 5 addresses from one of the workspace’s senders, filled in like the preview: for a profile and an event when given. The subject is “[Test] ”. Refused before anything is sent when the template has gaps in the locale or the sender can’t send; consent isn’t asked for a test.
apiKey writeAuthorizationBearer <token>A workspace API key (pf_…), created under Developers → API keys.
Scope: write
id*stringuuididempotency-key?stringRun this write once: a retry with the same key gets the first answer (24 hours).
1 <= length <= 255application/json- body
locale*stringsenderId*stringuuidto*array<>1 <= items <= 5profileId?stringuuideventId?stringuuidCreated
application/json- response
sendId*stringuuidfrom*stringto*array<string>skipped*array<>subject*stringcurl -X POST 'https://api.postforge.dev/v1/templates/497f6eca-6276-4993-bfeb-53cbbbba6f08/test-sends' \ -H 'Content-Type: application/json' \ -d '{ "locale": "string", "senderId": "6b2f63ba-164c-48c9-87b1-690cee2b3da3", "to": [ "user@example.com" ]}'{ "sendId": "98079182-77f0-4075-97da-b6e925fc22cb", "from": "string", "to": [ "string" ], "skipped": [ { "address": "string", "reason": "hard_bounce" } ], "subject": "string"}Render a template POST
The template as a recipient would get it, in one locale: its HTML and plain text, with the published brand kit and components, and what an email sending it would be refused for there. A version (the latest when absent), a profile to fill it in for and an event to fill `event` with (its profile when no profile is given; an event of another profile is a 422), strictly (a variable they don’t have is a 422); without them, empty values show their fallbacks, and a template that reads `event` without one gets the `event_missing` warning.
List email components GET
`folder` is a folder’s id (what’s directly in it), `top` (the top level) or `all`; without it, a search looks everywhere and a plain list shows the top level. Archived ones only when the status filter asks for them.