Summary
Make PostKit /contact production-ready for the InkAds static marketing site (singleton-sd/poc-inkads-marketing) so browser forms can submit venue/advertiser enquiries without embedding API credentials.
ClickUp: POC-259 — lead capture acceptance criteria.
Wave
Wave 0 (prerequisite for marketing contact wiring). Can run in parallel with marketing legal-page routes.
Scope
- Confirm
inkads.poc.singletonsd.com is in PostKit ORIGINS and host email profiles (contactInboxAddress, fromAddress) match Forward Email / tenant config for InkAds.
- Publish the marketing contact template for the InkAds tenant (e.g.
marketing.contact-us or InkAds-specific key) so /contact returns success instead of TEMPLATE_NOT_FOUND.
- Document the public API base URL InkAds should set as
PUBLIC_POSTKIT_API_BASE_URL (prod Function App).
- Define PR-preview behaviour: same-origin
inkads.poc.singletonsd.com/pr-preview/pr-* should either use DevelopmentEmailProvider (default) or document when EMAIL_ALLOW_PREVIEW_SEND=true is required for end-to-end preview testing.
- Verify
/health and a smoke POST /contact from an allowlisted Origin.
Out of scope
- InkAds Astro form UI (marketing repo)
- Privacy/Terms page copy (marketing repo + ClickUp editorial)
Acceptance
POST /contact from https://inkads.poc.singletonsd.com with valid { name, email, subject, message } accepts and delivers (or dev-captures in non-prod per policy).
- Rate limiting and CORS behave as documented in
docs/guides/public-forms.md.
- Marketing repo issue can reference a stable
PUBLIC_POSTKIT_API_BASE_URL value.
Summary
Make PostKit
/contactproduction-ready for the InkAds static marketing site (singleton-sd/poc-inkads-marketing) so browser forms can submit venue/advertiser enquiries without embedding API credentials.ClickUp: POC-259 — lead capture acceptance criteria.
Wave
Wave 0 (prerequisite for marketing contact wiring). Can run in parallel with marketing legal-page routes.
Scope
inkads.poc.singletonsd.comis in PostKitORIGINSand host email profiles (contactInboxAddress,fromAddress) match Forward Email / tenant config for InkAds.marketing.contact-usor InkAds-specific key) so/contactreturns success instead ofTEMPLATE_NOT_FOUND.PUBLIC_POSTKIT_API_BASE_URL(prod Function App).inkads.poc.singletonsd.com/pr-preview/pr-*should either useDevelopmentEmailProvider(default) or document whenEMAIL_ALLOW_PREVIEW_SEND=trueis required for end-to-end preview testing./healthand a smokePOST /contactfrom an allowlisted Origin.Out of scope
Acceptance
POST /contactfromhttps://inkads.poc.singletonsd.comwith valid{ name, email, subject, message }accepts and delivers (or dev-captures in non-prod per policy).docs/guides/public-forms.md.PUBLIC_POSTKIT_API_BASE_URLvalue.