Create a Form
Create a tenant-scoped Amen Forms draft through the product API.
Create a Form
The Forms console creates drafts through the product service. Identity authenticates the person, Core selects the church and mints a short-lived product token, and Forms owns the draft in its own PostgreSQL database.
POST /v1/forms
Authorization: Bearer <five-minute Forms product token>
Content-Type: application/json
{
"name": "New visitor",
"slug": "new-visitor",
"description": "Help our welcome team follow up.",
"schema": {
"title": "Welcome",
"description": "Tell us how we can help.",
"submitLabel": "Send",
"consent": {
"required": true,
"text": "I agree that this church may use these details to respond.",
"purpose": "follow-up",
"version": "1"
},
"fields": []
}
}The workspace is never accepted from the JSON body. Forms derives it exclusively from the
signed product token and returns a standard { "data": ... } envelope.
Publishing
Creating a form produces a draft. Publishing freezes a new immutable schema version, so an old response always remains readable against the exact questions and consent copy that were shown when it was submitted.
The browser console already uses this contract. The separate public API-key and MCP gateway is intentionally unavailable until the missing Amen resource gateway can validate Core API keys and scopes.
Amen Forms