Forms can evolve safely
Versioned schemas separate the current customer experience from historical responses.
Submissions connects versioned form definitions, validated responses, file attachments, assignment state, labels, and operator follow-up in one source-owned service.
Inspect the published API contractSubmissions domain
Versioned intake workflow
Operational workspace
Form version published
Schema and presentation contract become the active intake
Submission received
Payload, identity, tenant, and attachment references validated
Inbox assignment
Owner, labels, and workflow state added for operations
Follow-up triggered
Status and notification workflow move the case forward
Product outcome
Customer intake rarely ends at a successful POST. Teams need to evolve forms, validate responses, attach files, assign owners, track status, and notify people without losing tenant or submitter context. Submissions keeps that lifecycle together.
Versioned schemas separate the current customer experience from historical responses.
Tenant, form version, submitter identity, attachments, and lifecycle state remain connected.
Assignments, labels, and status transitions turn raw responses into manageable work.
01 / Domain capabilities
Define forms with JSON Schema, publish controlled versions, and keep historical submissions tied to the contract they used.
Accept public or authenticated responses while retaining form, tenant, submitter, and idempotency context.
Connect direct-to-cloud attachment workflows through Media instead of pushing file bytes through the form endpoint.
Assign owners, apply labels, change status, and filter the queue through the published administration contract.
02 / Product workflow
Activate a versioned schema and presentation contract for the intended tenant or product surface.
Validate the payload and connect submitter identity, tenant context, and file references.
Place the submission in an operational queue with status, labels, and an accountable owner.
Update the workflow, notify the right people, and retain the submission history for later review.
03 / Technical depth
POST /v1/public/forms/submissions
Content-Type: application/json
{
"form_id": "partner_application",
"idempotency_key": "request_8f4b",
"payload": {
"company": "Northline Systems",
"email": "team@example.com"
}
}Forms, published versions, submissions, status, assignment, and labels remain part of one product model.
Attachments use the Media workflow while Submissions retains the product relationship and attachment state.
Submission events can drive acknowledgements and operational follow-up through Notifications.
04 / Where it fits
Collect structured applications and documents, assign an owner, and move each customer through an explicit review state.
Turn support, legal, property, or healthcare intake into tenant-aware queues instead of forwarding form emails.
Publish evolving workflows for approvals, evidence collection, and follow-up while preserving the exact submitted version.
Ownership model
The source license, update term, support boundary, and customer-cloud responsibilities remain explicit. Missing domain work can be scoped as a custom module instead of hidden in a roadmap promise.
Licensed Go source for forms and inbox workflows
Published REST and Connect/gRPC contract
Customer-controlled submission data and attachments
Optional form actions or domain queues scoped as custom work
Submissions architecture review
Everything you need to know about integrating and hosting this Launch Rail service.