Misc

Proxied HubSpot Forms submission (non-enterprise contact + newsletter)

Server-side replacement for the old browser→HubSpot Forms submission. Routes /contact (general/support/privacy) and newsletter signups through the Worker so they're gated by the anti-spam guard (honeypot + strict email/char/length validation + optional Cloudflare Turnstile verification) before anything reaches HubSpot. form_type=contact requires a Turnstile token (once TURNSTILE_SECRET_KEY is set on the Worker); form_type=newsletter runs honeypot + validation only. On success the Worker also performs the CRM upsert + hot-lead Slack alert (same as /contact/notify). Returns a non-2xx so the UI can keep the form open on rejection.

post/contact/submit

Request

  • Base URL: https://api.mnemom.ai/v1
  • URL: https://api.mnemom.ai/v1/contact/submit
  • Auth: none required

Request body

form_type'contact' | 'newsletter'

Which HubSpot form to submit. Defaults to contact. contact requires a Turnstile token when the Worker has TURNSTILE_SECRET_KEY set; newsletter does not.

emailstring email required

Contact email address (required).

namestring

Contact's display name; split into firstname/lastname on the HubSpot side.

reasonstring

Contact-form reason (general/support/privacy). Stored as the HubSpot contact_reason field.

messagestring

Free-form message body.

sourcestring

Origin surface. Defaults to contact_page for form_type=contact and newsletter for form_type=newsletter.

turnstile_tokenstring

Cloudflare Turnstile token from the website widget. Required when form_type=contact AND the Worker has TURNSTILE_SECRET_KEY set; ignored otherwise.

company_websitestring

Honeypot — must be empty. Real users never see the field; any non-empty value silently rejects the submission as bot traffic.

utmsobject

UTM parameters merged into the HubSpot form fields for attribution.

engagementobject

Optional engagement telemetry used for hot-lead scoring (same shape as /contact/notify).

Example request

{
  "source": "contact_page"
}

Response

Submission accepted. The Worker performed the HubSpot Forms submission and the CRM upsert + Slack alert.

oktrue required
notifiedboolean

True only when the hot-lead Slack alert fired.

Changes

No recorded changes to this operation across all 1 revision of this API.