Save a Form: its root record and the child changes of its WithParent sections in one transaction.
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Post, RequestUri = new Uri("https://example.com/api/workspace/entity/example/ui/form/example/submissions"), Headers = { { "Authorization", "Bearer <token>" }, }, Content = new StringContent("{ \"OperationKey\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"ExpectedRevision\": \"example\", \"Root\": { \"EntityInstanceId\": \"example\", \"RowVersion\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"Fields\": { \"additionalProperty\": \"example\" }, \"ResponsibilityCandidates\": [ { \"ResponsibilityKey\": \"example\", \"Subjects\": [ { \"SubjectType\": \"example\", \"SubjectId\": \"example\", \"EffectiveFrom\": \"2026-04-15T12:00:00Z\", \"EffectiveTo\": \"2026-04-15T12:00:00Z\" } ] } ], \"Resources\": { \"MarkdownDraftSessionId\": \"example\", \"MarkdownDestinationCreateNonce\": \"example\", \"FileUploadCreateKey\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\" }, \"ObjectContextMembers\": [ { \"BindingId\": \"example\", \"BindingVersion\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"SchemaVersion\": \"example\", \"Handle\": { \"Resource\": { \"ModuleKey\": \"example\", \"ResourceKind\": \"example\", \"ContextResourceId\": \"example\", \"ResourceObjectId\": \"example\" }, \"Version\": \"example\" }, \"Admit\": true, \"Members\": [ { \"MemberKey\": \"example\", \"Value\": \"example\" } ] } ] }, \"Sections\": [ { \"ItemId\": \"example\", \"Children\": [ { \"LocalId\": \"example\", \"Create\": { \"Fields\": { \"additionalProperty\": \"example\" }, \"ResponsibilityCandidates\": [ { \"ResponsibilityKey\": \"example\", \"Subjects\": [ { \"SubjectType\": \"example\", \"SubjectId\": \"example\", \"EffectiveFrom\": \"2026-04-15T12:00:00Z\", \"EffectiveTo\": \"2026-04-15T12:00:00Z\" } ] } ], \"Resources\": { \"MarkdownDraftSessionId\": \"example\", \"MarkdownDestinationCreateNonce\": \"example\", \"FileUploadCreateKey\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\" }, \"ObjectContextMembers\": [ { \"BindingId\": \"example\", \"BindingVersion\": \"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0\", \"SchemaVersion\": \"example\", \"Handle\": { \"Resource\": { \"ModuleKey\": \"example\", \"ResourceKind\": \"example\", \"ContextResourceId\": \"example\", \"ResourceObjectId\": \"example\" }, \"Version\": \"example\" }, \"Admit\": true, \"Members\": [ { \"MemberKey\": \"example\", \"Value\": \"example\" } ] } ] } } ], \"HiddenPolicy\": { \"AffectedSetToken\": \"example\", \"Reason\": \"example\" } } ], \"Origin\": { \"SourceEntityDefinitionId\": \"example\", \"SourceEntityInstanceId\": \"example\", \"SourceInverseFieldId\": \"example\" } }") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } }};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}const url = 'https://example.com/api/workspace/entity/example/ui/form/example/submissions';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"OperationKey":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","ExpectedRevision":"example","Root":{"EntityInstanceId":"example","RowVersion":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","Fields":{"additionalProperty":"example"},"ResponsibilityCandidates":[{"ResponsibilityKey":"example","Subjects":[{"SubjectType":"example","SubjectId":"example","EffectiveFrom":"2026-04-15T12:00:00Z","EffectiveTo":"2026-04-15T12:00:00Z"}]}],"Resources":{"MarkdownDraftSessionId":"example","MarkdownDestinationCreateNonce":"example","FileUploadCreateKey":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"},"ObjectContextMembers":[{"BindingId":"example","BindingVersion":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","SchemaVersion":"example","Handle":{"Resource":{"ModuleKey":"example","ResourceKind":"example","ContextResourceId":"example","ResourceObjectId":"example"},"Version":"example"},"Admit":true,"Members":[{"MemberKey":"example","Value":"example"}]}]},"Sections":[{"ItemId":"example","Children":[{"LocalId":"example","Create":{"Fields":{"additionalProperty":"example"},"ResponsibilityCandidates":[{"ResponsibilityKey":"example","Subjects":[{"SubjectType":"example","SubjectId":"example","EffectiveFrom":"2026-04-15T12:00:00Z","EffectiveTo":"2026-04-15T12:00:00Z"}]}],"Resources":{"MarkdownDraftSessionId":"example","MarkdownDestinationCreateNonce":"example","FileUploadCreateKey":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"},"ObjectContextMembers":[{"BindingId":"example","BindingVersion":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","SchemaVersion":"example","Handle":{"Resource":{"ModuleKey":"example","ResourceKind":"example","ContextResourceId":"example","ResourceObjectId":"example"},"Version":"example"},"Admit":true,"Members":[{"MemberKey":"example","Value":"example"}]}]}}],"HiddenPolicy":{"AffectedSetToken":"example","Reason":"example"}}],"Origin":{"SourceEntityDefinitionId":"example","SourceEntityInstanceId":"example","SourceInverseFieldId":"example"}}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://example.com/api/workspace/entity/example/ui/form/example/submissions \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "OperationKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "ExpectedRevision": "example", "Root": { "EntityInstanceId": "example", "RowVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "Fields": { "additionalProperty": "example" }, "ResponsibilityCandidates": [ { "ResponsibilityKey": "example", "Subjects": [ { "SubjectType": "example", "SubjectId": "example", "EffectiveFrom": "2026-04-15T12:00:00Z", "EffectiveTo": "2026-04-15T12:00:00Z" } ] } ], "Resources": { "MarkdownDraftSessionId": "example", "MarkdownDestinationCreateNonce": "example", "FileUploadCreateKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "ObjectContextMembers": [ { "BindingId": "example", "BindingVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "SchemaVersion": "example", "Handle": { "Resource": { "ModuleKey": "example", "ResourceKind": "example", "ContextResourceId": "example", "ResourceObjectId": "example" }, "Version": "example" }, "Admit": true, "Members": [ { "MemberKey": "example", "Value": "example" } ] } ] }, "Sections": [ { "ItemId": "example", "Children": [ { "LocalId": "example", "Create": { "Fields": { "additionalProperty": "example" }, "ResponsibilityCandidates": [ { "ResponsibilityKey": "example", "Subjects": [ { "SubjectType": "example", "SubjectId": "example", "EffectiveFrom": "2026-04-15T12:00:00Z", "EffectiveTo": "2026-04-15T12:00:00Z" } ] } ], "Resources": { "MarkdownDraftSessionId": "example", "MarkdownDestinationCreateNonce": "example", "FileUploadCreateKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "ObjectContextMembers": [ { "BindingId": "example", "BindingVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "SchemaVersion": "example", "Handle": { "Resource": { "ModuleKey": "example", "ResourceKind": "example", "ContextResourceId": "example", "ResourceObjectId": "example" }, "Version": "example" }, "Admit": true, "Members": [ { "MemberKey": "example", "Value": "example" } ] } ] } } ], "HiddenPolicy": { "AffectedSetToken": "example", "Reason": "example" } } ], "Origin": { "SourceEntityDefinitionId": "example", "SourceEntityInstanceId": "example", "SourceInverseFieldId": "example" } }'The root is a Create, an Update with its changed fields, or an Edit with empty Fields that only verifies
the root. Every section names a WithParent related-table item of this Form; its children are Create, Update,
Archive (an active child) or Delete (an archived child) actions, each with a client LocalId. The server
resolves every relation and sets the Reference of each child to the root; the client never sends it. Everything
commits or nothing does, with the caller’s own Entity Security for every record. A save that would write no
record answers moltaro.ui.form.submission.nothingToSave.
Send one caller-generated OperationKey per logical save and reuse it only for an exact retry of the same
body: a committed request answers its stored result with IsIdempotentReplay: true for seven days without
writing again. ExpectedRevision is the Submission.Revision of the runtime Form; a changed Form,
child Form, record type or role answers moltaro.ui.form.submission.revisionChanged.
An error answer names the failing member in Field, the participant in Metadata.LocalId and its
section in Metadata.ItemId. The body is limited to the host’s request size (413), and the number of
written records (root, child actions, policy archives) to the host’s step limit, 100 by default. Markdown draft
sessions and File upload keys travel in each participant’s Resources; the X-Moltaro-Markdown-* headers are
refused here.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Root Entity definition identifier or key.
The Form surface.
Query Parameters
Section titled “Query Parameters”Optional access token for clients that cannot set Authorization headers. Prefer Authorization: Bearer <token> when possible.
Request Bodyrequired
Section titled “Request Bodyrequired”The save.
Saves one native Form — its root record and the child changes of its WithParent related-table sections —
in one transaction: everything commits or nothing does. The server resolves every section, relation and child Form
from the configuration; the client never sends a child definition, an inverse binding or the child Reference.
object
Caller-generated UUID of this logical save; reused only for an exact retry of the same body.
The Submission.Revision of the runtime Form the draft was edited in.
The root record. Create: EntityInstanceId and RowVersion are null. Edit: both are required and
Fields holds the changed fields only; an empty Fields verifies the root without writing it.
object
The edited root record; null for a Create.
Row version of the edited root the user saw; null for a Create.
Primary field values keyed by stable field key; every supplied value needs its write right.
object
Create only: StageOnCreate responsibility candidates.
Caller-proposed initial subjects of one responsibility of a created record.
object
Stable responsibility key.
Proposed subjects.
One proposed responsibility subject.
object
Subject type, such as a user or a Workspace User Group.
Subject identifier.
Start of the assignment.
Optional end of the assignment.
Draft resources of one participant. A new participant names its Markdown draft session, its destination create nonce and the create key of its direct File uploads; an existing participant names its Markdown draft session only. No value may appear on two participants.
object
Markdown attachment draft session adopted by this record.
Create only: destination create nonce of that session.
Create only: the CreateOperationKey of the direct File uploads of this record.
Changed context members, shared by every occurrence of their binding in this record draft.
Values of one context binding in a record’s atomic Form save.
object
The exact source instance the person edited; null for initial admission.
object
Transport identity of a context resource; resolution and authorization belong to its provider.
object
A changed member. JSON null clears a value; omitting Value is invalid.
object
Child changes per WithParent section, at most one entry per item; empty when only the root changes.
The child changes of one WithParent section.
object
The WithParent item that owns the relation’s child draft (RelatedChild.SectionItemId of the runtime model), at
most once per request; another item of the same relation is refused.
Child actions; the order is kept in the answer.
A new child record of the section.
object
Client identity of the child in this save, unique ignoring case; not root and not starting with policy- (ignoring case). Errors of the child repeat it in Metadata.LocalId.
The values of a new child; the Reference to the parent is set by the server.
object
Primary field values keyed by stable field key.
object
StageOnCreate responsibility candidates.
Caller-proposed initial subjects of one responsibility of a created record.
object
Stable responsibility key.
Proposed subjects.
One proposed responsibility subject.
object
Subject type, such as a user or a Workspace User Group.
Subject identifier.
Start of the assignment.
Optional end of the assignment.
Draft resources of one participant. A new participant names its Markdown draft session, its destination create nonce and the create key of its direct File uploads; an existing participant names its Markdown draft session only. No value may appear on two participants.
object
Markdown attachment draft session adopted by this record.
Create only: destination create nonce of that session.
Create only: the CreateOperationKey of the direct File uploads of this record.
Initial context participation of this new child.
Values of one context binding in a record’s atomic Form save.
object
The exact source instance the person edited; null for initial admission.
object
Transport identity of a context resource; resolution and authorization belong to its provider.
object
A changed member. JSON null clears a value; omitting Value is invalid.
object
A change of an existing child record of the section.
object
Client identity of the child in this save, unique ignoring case; not root and not starting with policy- (ignoring case). Errors of the child repeat it in Metadata.LocalId.
The changed fields of an existing child.
object
The child record; it must currently belong to the root through the relation of the section.
Row version of the child the user saw.
Changed field values keyed by stable field key.
object
Draft resources of one participant. A new participant names its Markdown draft session, its destination create nonce and the create key of its direct File uploads; an existing participant names its Markdown draft session only. No value may appear on two participants.
object
Markdown attachment draft session adopted by this record.
Create only: destination create nonce of that session.
Create only: the CreateOperationKey of the direct File uploads of this record.
Changed context members owned by this exact existing child.
Values of one context binding in a record’s atomic Form save.
object
The exact source instance the person edited; null for initial admission.
object
Transport identity of a context resource; resolution and authorization belong to its provider.
object
A changed member. JSON null clears a value; omitting Value is invalid.
object
Archives an active child record of the section.
object
Client identity of the child in this save, unique ignoring case; not root and not starting with policy- (ignoring case). Errors of the child repeat it in Metadata.LocalId.
An Archive or Delete of an existing child.
object
The child record; it must currently belong to the root through the relation of the section.
Row version of the child the user saw.
Optional lifecycle Reason.
Deletes an archived child record of the section.
object
Client identity of the child in this save, unique ignoring case; not root and not starting with policy- (ignoring case). Errors of the child repeat it in Metadata.LocalId.
An Archive or Delete of an existing child.
object
The child record; it must currently belong to the root through the relation of the section.
Row version of the child the user saw.
Optional lifecycle Reason.
The confirmed Archive policy decision of a hidden section, taken from its preview.
object
The token of the previewed active set.
Optional archive Reason recorded on every archived child.
The record a related-create is started from and the relation it is created under. The server sets the paired Reference of the new root to this record; a different client value for it is refused.
object
Definition of the source record.
The source record.
The InverseReference of the source definition whose paired Reference belongs to the root definition.
Examplegenerated
{ "OperationKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "ExpectedRevision": "example", "Root": { "EntityInstanceId": "example", "RowVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "Fields": { "additionalProperty": "example" }, "ResponsibilityCandidates": [ { "ResponsibilityKey": "example", "Subjects": [ { "SubjectType": "example", "SubjectId": "example", "EffectiveFrom": "2026-04-15T12:00:00Z", "EffectiveTo": "2026-04-15T12:00:00Z" } ] } ], "Resources": { "MarkdownDraftSessionId": "example", "MarkdownDestinationCreateNonce": "example", "FileUploadCreateKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "ObjectContextMembers": [ { "BindingId": "example", "BindingVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "SchemaVersion": "example", "Handle": { "Resource": { "ModuleKey": "example", "ResourceKind": "example", "ContextResourceId": "example", "ResourceObjectId": "example" }, "Version": "example" }, "Admit": true, "Members": [ { "MemberKey": "example", "Value": "example" } ] } ] }, "Sections": [ { "ItemId": "example", "Children": [ { "LocalId": "example", "Create": { "Fields": { "additionalProperty": "example" }, "ResponsibilityCandidates": [ { "ResponsibilityKey": "example", "Subjects": [ { "SubjectType": "example", "SubjectId": "example", "EffectiveFrom": "2026-04-15T12:00:00Z", "EffectiveTo": "2026-04-15T12:00:00Z" } ] } ], "Resources": { "MarkdownDraftSessionId": "example", "MarkdownDestinationCreateNonce": "example", "FileUploadCreateKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "ObjectContextMembers": [ { "BindingId": "example", "BindingVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "SchemaVersion": "example", "Handle": { "Resource": { "ModuleKey": "example", "ResourceKind": "example", "ContextResourceId": "example", "ResourceObjectId": "example" }, "Version": "example" }, "Admit": true, "Members": [ { "MemberKey": "example", "Value": "example" } ] } ] } } ], "HiddenPolicy": { "AffectedSetToken": "example", "Reason": "example" } } ], "Origin": { "SourceEntityDefinitionId": "example", "SourceEntityInstanceId": "example", "SourceInverseFieldId": "example" }}Saves one native Form — its root record and the child changes of its WithParent related-table sections —
in one transaction: everything commits or nothing does. The server resolves every section, relation and child Form
from the configuration; the client never sends a child definition, an inverse binding or the child Reference.
object
Caller-generated UUID of this logical save; reused only for an exact retry of the same body.
The Submission.Revision of the runtime Form the draft was edited in.
The root record. Create: EntityInstanceId and RowVersion are null. Edit: both are required and
Fields holds the changed fields only; an empty Fields verifies the root without writing it.
object
The edited root record; null for a Create.
Row version of the edited root the user saw; null for a Create.
Primary field values keyed by stable field key; every supplied value needs its write right.
object
Create only: StageOnCreate responsibility candidates.
Caller-proposed initial subjects of one responsibility of a created record.
object
Stable responsibility key.
Proposed subjects.
One proposed responsibility subject.
object
Subject type, such as a user or a Workspace User Group.
Subject identifier.
Start of the assignment.
Optional end of the assignment.
Draft resources of one participant. A new participant names its Markdown draft session, its destination create nonce and the create key of its direct File uploads; an existing participant names its Markdown draft session only. No value may appear on two participants.
object
Markdown attachment draft session adopted by this record.
Create only: destination create nonce of that session.
Create only: the CreateOperationKey of the direct File uploads of this record.
Changed context members, shared by every occurrence of their binding in this record draft.
Values of one context binding in a record’s atomic Form save.
object
The exact source instance the person edited; null for initial admission.
object
Transport identity of a context resource; resolution and authorization belong to its provider.
object
A changed member. JSON null clears a value; omitting Value is invalid.
object
Child changes per WithParent section, at most one entry per item; empty when only the root changes.
The child changes of one WithParent section.
object
The WithParent item that owns the relation’s child draft (RelatedChild.SectionItemId of the runtime model), at
most once per request; another item of the same relation is refused.
Child actions; the order is kept in the answer.
A new child record of the section.
object
Client identity of the child in this save, unique ignoring case; not root and not starting with policy- (ignoring case). Errors of the child repeat it in Metadata.LocalId.
The values of a new child; the Reference to the parent is set by the server.
object
Primary field values keyed by stable field key.
object
StageOnCreate responsibility candidates.
Caller-proposed initial subjects of one responsibility of a created record.
object
Stable responsibility key.
Proposed subjects.
One proposed responsibility subject.
object
Subject type, such as a user or a Workspace User Group.
Subject identifier.
Start of the assignment.
Optional end of the assignment.
Draft resources of one participant. A new participant names its Markdown draft session, its destination create nonce and the create key of its direct File uploads; an existing participant names its Markdown draft session only. No value may appear on two participants.
object
Markdown attachment draft session adopted by this record.
Create only: destination create nonce of that session.
Create only: the CreateOperationKey of the direct File uploads of this record.
Initial context participation of this new child.
Values of one context binding in a record’s atomic Form save.
object
The exact source instance the person edited; null for initial admission.
object
Transport identity of a context resource; resolution and authorization belong to its provider.
object
A changed member. JSON null clears a value; omitting Value is invalid.
object
A change of an existing child record of the section.
object
Client identity of the child in this save, unique ignoring case; not root and not starting with policy- (ignoring case). Errors of the child repeat it in Metadata.LocalId.
The changed fields of an existing child.
object
The child record; it must currently belong to the root through the relation of the section.
Row version of the child the user saw.
Changed field values keyed by stable field key.
object
Draft resources of one participant. A new participant names its Markdown draft session, its destination create nonce and the create key of its direct File uploads; an existing participant names its Markdown draft session only. No value may appear on two participants.
object
Markdown attachment draft session adopted by this record.
Create only: destination create nonce of that session.
Create only: the CreateOperationKey of the direct File uploads of this record.
Changed context members owned by this exact existing child.
Values of one context binding in a record’s atomic Form save.
object
The exact source instance the person edited; null for initial admission.
object
Transport identity of a context resource; resolution and authorization belong to its provider.
object
A changed member. JSON null clears a value; omitting Value is invalid.
object
Archives an active child record of the section.
object
Client identity of the child in this save, unique ignoring case; not root and not starting with policy- (ignoring case). Errors of the child repeat it in Metadata.LocalId.
An Archive or Delete of an existing child.
object
The child record; it must currently belong to the root through the relation of the section.
Row version of the child the user saw.
Optional lifecycle Reason.
Deletes an archived child record of the section.
object
Client identity of the child in this save, unique ignoring case; not root and not starting with policy- (ignoring case). Errors of the child repeat it in Metadata.LocalId.
An Archive or Delete of an existing child.
object
The child record; it must currently belong to the root through the relation of the section.
Row version of the child the user saw.
Optional lifecycle Reason.
The confirmed Archive policy decision of a hidden section, taken from its preview.
object
The token of the previewed active set.
Optional archive Reason recorded on every archived child.
The record a related-create is started from and the relation it is created under. The server sets the paired Reference of the new root to this record; a different client value for it is refused.
object
Definition of the source record.
The source record.
The InverseReference of the source definition whose paired Reference belongs to the root definition.
Examplegenerated
{ "OperationKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "ExpectedRevision": "example", "Root": { "EntityInstanceId": "example", "RowVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "Fields": { "additionalProperty": "example" }, "ResponsibilityCandidates": [ { "ResponsibilityKey": "example", "Subjects": [ { "SubjectType": "example", "SubjectId": "example", "EffectiveFrom": "2026-04-15T12:00:00Z", "EffectiveTo": "2026-04-15T12:00:00Z" } ] } ], "Resources": { "MarkdownDraftSessionId": "example", "MarkdownDestinationCreateNonce": "example", "FileUploadCreateKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "ObjectContextMembers": [ { "BindingId": "example", "BindingVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "SchemaVersion": "example", "Handle": { "Resource": { "ModuleKey": "example", "ResourceKind": "example", "ContextResourceId": "example", "ResourceObjectId": "example" }, "Version": "example" }, "Admit": true, "Members": [ { "MemberKey": "example", "Value": "example" } ] } ] }, "Sections": [ { "ItemId": "example", "Children": [ { "LocalId": "example", "Create": { "Fields": { "additionalProperty": "example" }, "ResponsibilityCandidates": [ { "ResponsibilityKey": "example", "Subjects": [ { "SubjectType": "example", "SubjectId": "example", "EffectiveFrom": "2026-04-15T12:00:00Z", "EffectiveTo": "2026-04-15T12:00:00Z" } ] } ], "Resources": { "MarkdownDraftSessionId": "example", "MarkdownDestinationCreateNonce": "example", "FileUploadCreateKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "ObjectContextMembers": [ { "BindingId": "example", "BindingVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "SchemaVersion": "example", "Handle": { "Resource": { "ModuleKey": "example", "ResourceKind": "example", "ContextResourceId": "example", "ResourceObjectId": "example" }, "Version": "example" }, "Admit": true, "Members": [ { "MemberKey": "example", "Value": "example" } ] } ] } } ], "HiddenPolicy": { "AffectedSetToken": "example", "Reason": "example" } } ], "Origin": { "SourceEntityDefinitionId": "example", "SourceEntityInstanceId": "example", "SourceInverseFieldId": "example" }}Saves one native Form — its root record and the child changes of its WithParent related-table sections —
in one transaction: everything commits or nothing does. The server resolves every section, relation and child Form
from the configuration; the client never sends a child definition, an inverse binding or the child Reference.
object
Caller-generated UUID of this logical save; reused only for an exact retry of the same body.
The Submission.Revision of the runtime Form the draft was edited in.
The root record. Create: EntityInstanceId and RowVersion are null. Edit: both are required and
Fields holds the changed fields only; an empty Fields verifies the root without writing it.
object
The edited root record; null for a Create.
Row version of the edited root the user saw; null for a Create.
Primary field values keyed by stable field key; every supplied value needs its write right.
object
Create only: StageOnCreate responsibility candidates.
Caller-proposed initial subjects of one responsibility of a created record.
object
Stable responsibility key.
Proposed subjects.
One proposed responsibility subject.
object
Subject type, such as a user or a Workspace User Group.
Subject identifier.
Start of the assignment.
Optional end of the assignment.
Draft resources of one participant. A new participant names its Markdown draft session, its destination create nonce and the create key of its direct File uploads; an existing participant names its Markdown draft session only. No value may appear on two participants.
object
Markdown attachment draft session adopted by this record.
Create only: destination create nonce of that session.
Create only: the CreateOperationKey of the direct File uploads of this record.
Changed context members, shared by every occurrence of their binding in this record draft.
Values of one context binding in a record’s atomic Form save.
object
The exact source instance the person edited; null for initial admission.
object
Transport identity of a context resource; resolution and authorization belong to its provider.
object
A changed member. JSON null clears a value; omitting Value is invalid.
object
Child changes per WithParent section, at most one entry per item; empty when only the root changes.
The child changes of one WithParent section.
object
The WithParent item that owns the relation’s child draft (RelatedChild.SectionItemId of the runtime model), at
most once per request; another item of the same relation is refused.
Child actions; the order is kept in the answer.
A new child record of the section.
object
Client identity of the child in this save, unique ignoring case; not root and not starting with policy- (ignoring case). Errors of the child repeat it in Metadata.LocalId.
The values of a new child; the Reference to the parent is set by the server.
object
Primary field values keyed by stable field key.
object
StageOnCreate responsibility candidates.
Caller-proposed initial subjects of one responsibility of a created record.
object
Stable responsibility key.
Proposed subjects.
One proposed responsibility subject.
object
Subject type, such as a user or a Workspace User Group.
Subject identifier.
Start of the assignment.
Optional end of the assignment.
Draft resources of one participant. A new participant names its Markdown draft session, its destination create nonce and the create key of its direct File uploads; an existing participant names its Markdown draft session only. No value may appear on two participants.
object
Markdown attachment draft session adopted by this record.
Create only: destination create nonce of that session.
Create only: the CreateOperationKey of the direct File uploads of this record.
Initial context participation of this new child.
Values of one context binding in a record’s atomic Form save.
object
The exact source instance the person edited; null for initial admission.
object
Transport identity of a context resource; resolution and authorization belong to its provider.
object
A changed member. JSON null clears a value; omitting Value is invalid.
object
A change of an existing child record of the section.
object
Client identity of the child in this save, unique ignoring case; not root and not starting with policy- (ignoring case). Errors of the child repeat it in Metadata.LocalId.
The changed fields of an existing child.
object
The child record; it must currently belong to the root through the relation of the section.
Row version of the child the user saw.
Changed field values keyed by stable field key.
object
Draft resources of one participant. A new participant names its Markdown draft session, its destination create nonce and the create key of its direct File uploads; an existing participant names its Markdown draft session only. No value may appear on two participants.
object
Markdown attachment draft session adopted by this record.
Create only: destination create nonce of that session.
Create only: the CreateOperationKey of the direct File uploads of this record.
Changed context members owned by this exact existing child.
Values of one context binding in a record’s atomic Form save.
object
The exact source instance the person edited; null for initial admission.
object
Transport identity of a context resource; resolution and authorization belong to its provider.
object
A changed member. JSON null clears a value; omitting Value is invalid.
object
Archives an active child record of the section.
object
Client identity of the child in this save, unique ignoring case; not root and not starting with policy- (ignoring case). Errors of the child repeat it in Metadata.LocalId.
An Archive or Delete of an existing child.
object
The child record; it must currently belong to the root through the relation of the section.
Row version of the child the user saw.
Optional lifecycle Reason.
Deletes an archived child record of the section.
object
Client identity of the child in this save, unique ignoring case; not root and not starting with policy- (ignoring case). Errors of the child repeat it in Metadata.LocalId.
An Archive or Delete of an existing child.
object
The child record; it must currently belong to the root through the relation of the section.
Row version of the child the user saw.
Optional lifecycle Reason.
The confirmed Archive policy decision of a hidden section, taken from its preview.
object
The token of the previewed active set.
Optional archive Reason recorded on every archived child.
The record a related-create is started from and the relation it is created under. The server sets the paired Reference of the new root to this record; a different client value for it is refused.
object
Definition of the source record.
The source record.
The InverseReference of the source definition whose paired Reference belongs to the root definition.
Examplegenerated
{ "OperationKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "ExpectedRevision": "example", "Root": { "EntityInstanceId": "example", "RowVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "Fields": { "additionalProperty": "example" }, "ResponsibilityCandidates": [ { "ResponsibilityKey": "example", "Subjects": [ { "SubjectType": "example", "SubjectId": "example", "EffectiveFrom": "2026-04-15T12:00:00Z", "EffectiveTo": "2026-04-15T12:00:00Z" } ] } ], "Resources": { "MarkdownDraftSessionId": "example", "MarkdownDestinationCreateNonce": "example", "FileUploadCreateKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "ObjectContextMembers": [ { "BindingId": "example", "BindingVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "SchemaVersion": "example", "Handle": { "Resource": { "ModuleKey": "example", "ResourceKind": "example", "ContextResourceId": "example", "ResourceObjectId": "example" }, "Version": "example" }, "Admit": true, "Members": [ { "MemberKey": "example", "Value": "example" } ] } ] }, "Sections": [ { "ItemId": "example", "Children": [ { "LocalId": "example", "Create": { "Fields": { "additionalProperty": "example" }, "ResponsibilityCandidates": [ { "ResponsibilityKey": "example", "Subjects": [ { "SubjectType": "example", "SubjectId": "example", "EffectiveFrom": "2026-04-15T12:00:00Z", "EffectiveTo": "2026-04-15T12:00:00Z" } ] } ], "Resources": { "MarkdownDraftSessionId": "example", "MarkdownDestinationCreateNonce": "example", "FileUploadCreateKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }, "ObjectContextMembers": [ { "BindingId": "example", "BindingVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "SchemaVersion": "example", "Handle": { "Resource": { "ModuleKey": "example", "ResourceKind": "example", "ContextResourceId": "example", "ResourceObjectId": "example" }, "Version": "example" }, "Admit": true, "Members": [ { "MemberKey": "example", "Value": "example" } ] } ] } } ], "HiddenPolicy": { "AffectedSetToken": "example", "Reason": "example" } } ], "Origin": { "SourceEntityDefinitionId": "example", "SourceEntityInstanceId": "example", "SourceInverseFieldId": "example" }}Responses
Section titled “Responses”OK
object
The committed result; null when the answer is an error, which Errors then describes.
object
Operation key of the committed submission.
Captured completion instant of the commit.
Audit correlation shared by every participant.
Whether this answer returns the stored result of an earlier commit without another write.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
Child participants in request order, then the archives of a confirmed Archive policy.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
object
object
object
object
Example
{ "Data": { "Root": { "Action": 0, "Result": { "Kind": "RecordIdentity" } }, "Children": [ { "Action": 0, "Result": { "Kind": "RecordIdentity" } } ], "Kind": "EntityFormSubmission" }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}Bad Request
object
The committed result; null when the answer is an error, which Errors then describes.
object
Operation key of the committed submission.
Captured completion instant of the commit.
Audit correlation shared by every participant.
Whether this answer returns the stored result of an earlier commit without another write.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
Child participants in request order, then the archives of a confirmed Archive policy.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
object
object
object
object
Example
{ "Data": { "Root": { "Action": 0, "Result": { "Kind": "RecordIdentity" } }, "Children": [ { "Action": 0, "Result": { "Kind": "RecordIdentity" } } ], "Kind": "EntityFormSubmission" }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}Forbidden
object
The committed result; null when the answer is an error, which Errors then describes.
object
Operation key of the committed submission.
Captured completion instant of the commit.
Audit correlation shared by every participant.
Whether this answer returns the stored result of an earlier commit without another write.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
Child participants in request order, then the archives of a confirmed Archive policy.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
object
object
object
object
Example
{ "Data": { "Root": { "Action": 0, "Result": { "Kind": "RecordIdentity" } }, "Children": [ { "Action": 0, "Result": { "Kind": "RecordIdentity" } } ], "Kind": "EntityFormSubmission" }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}Not Found
object
The committed result; null when the answer is an error, which Errors then describes.
object
Operation key of the committed submission.
Captured completion instant of the commit.
Audit correlation shared by every participant.
Whether this answer returns the stored result of an earlier commit without another write.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
Child participants in request order, then the archives of a confirmed Archive policy.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
object
object
object
object
Example
{ "Data": { "Root": { "Action": 0, "Result": { "Kind": "RecordIdentity" } }, "Children": [ { "Action": 0, "Result": { "Kind": "RecordIdentity" } } ], "Kind": "EntityFormSubmission" }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}Conflict
object
The committed result; null when the answer is an error, which Errors then describes.
object
Operation key of the committed submission.
Captured completion instant of the commit.
Audit correlation shared by every participant.
Whether this answer returns the stored result of an earlier commit without another write.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
Child participants in request order, then the archives of a confirmed Archive policy.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
object
object
object
object
Example
{ "Data": { "Root": { "Action": 0, "Result": { "Kind": "RecordIdentity" } }, "Children": [ { "Action": 0, "Result": { "Kind": "RecordIdentity" } } ], "Kind": "EntityFormSubmission" }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}Content Too Large
object
The committed result; null when the answer is an error, which Errors then describes.
object
Operation key of the committed submission.
Captured completion instant of the commit.
Audit correlation shared by every participant.
Whether this answer returns the stored result of an earlier commit without another write.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
Child participants in request order, then the archives of a confirmed Archive policy.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
object
object
object
object
Example
{ "Data": { "Root": { "Action": 0, "Result": { "Kind": "RecordIdentity" } }, "Children": [ { "Action": 0, "Result": { "Kind": "RecordIdentity" } } ], "Kind": "EntityFormSubmission" }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}Service Unavailable
object
The committed result; null when the answer is an error, which Errors then describes.
object
Operation key of the committed submission.
Captured completion instant of the commit.
Audit correlation shared by every participant.
Whether this answer returns the stored result of an earlier commit without another write.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
Child participants in request order, then the archives of a confirmed Archive policy.
The outcome of one participant.
object
root, the request LocalId of a child, or policy-<n> for an Archive policy item.
The draft-owner item of a child’s section; null for the root.
What a committed Form submission did with one participant.
A record the caller can read: its identity and the row version the submission committed or verified.
object
Entity definition identifier.
Entity record identifier.
Committed row version; for an unchanged root, the verified one.
An updated, archived or verified record the caller can no longer read: the change is committed and only its identity is returned, without field values or a row version. A created record never answers a receipt.
object
Entity definition identifier.
Entity record identifier.
A deleted record: the identity the caller sent.
object
Entity definition identifier.
Entity record identifier.
object
object
object
object
Example
{ "Data": { "Root": { "Action": 0, "Result": { "Kind": "RecordIdentity" } }, "Children": [ { "Action": 0, "Result": { "Kind": "RecordIdentity" } } ], "Kind": "EntityFormSubmission" }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}