Hosted form URL
Once a form is published, it is available at a stable public path. Only the latest published version is served — draft versions never leak to live traffic.
URL pattern
https://jambo.contact/f/{orgId}/{slug}
# Embed mode (stripped chrome for iframes)
https://jambo.contact/f/{orgId}/{slug}?embed=1Copy the hosted URL and iframe snippet from the form builder footer after publishing. For a step-by-step walkthrough, see the embed guide.
Iframe snippet
Example
<iframe
src="https://jambo.contact/f/{orgId}/lead-capture?embed=1"
width="100%"
height="760"
frameborder="0"
style="border:0;overflow:hidden"
loading="lazy"
title="Jambo Contact form"
></iframe>Public API endpoints
The hosted page loads form data and submits responses through the public API (no authentication). See the REST API reference for full schemas.
/api/public/forms/{orgId}/{slug}Published form schema, branding, and custom CSS.
/api/submissionsSubmit field values. Requires formId in the JSON body. CORS enabled for browsers.
/api/public/forms/{orgId}/{slug}/uploads/presignPresigned upload URL for file fields on public forms.
Submit from your own front-end
Example submission
fetch("https://jambo.contact/api/submissions", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
formId: "550e8400-e29b-41d4-a716-446655440000",
payload: {
full_name: "Ada Lovelace",
email: "[email protected]",
message: "Hello from a custom form.",
},
}),
})Field values go in payload, keyed by field key from the form spec. Use testMode: true only for builder preview flows — live traffic must use the published version without test mode. If the form has Turnstile bot protection enabled, include a turnstileToken.