Every time an end-user submits a module, Unqork creates a submission object. Understanding the structure of this object helps Creators retrieve the right data, configure Plug-In outputs correctly, and debug unexpected results.
Important: Submissions are stored as database documents with a maximum size of 16 MB. This limit includes all field values, metadata, and Base64-encoded file data in the submission. See Platform Limits for guidance on staying in this limit.
Top-Level Fields
A submission object contains the following top-level fields.
| Field | Type | Description |
|---|---|---|
id |
String | The unique identifier for this submission. |
userId |
String | The ID of the end-user who owns this submission. |
moduleId |
String | The ID of the module this submission belongs to. |
created |
Date-time | The ISO 8601 timestamp when the submission was created (for example, 2026-03-20T14:30:00.000Z). |
modified |
Date-time | The ISO 8601 timestamp when the submission was last modified. |
deleted |
Date-time | The ISO 8601 timestamp when the submission was soft-deleted. Present only on deleted submissions. |
data |
Object | The submission's field data. See Data Object below. |
metadata |
Object | Additional key-value pairs stored alongside the submission data. Not tied to module fields. |
validationErrors |
Object | Validation errors present at the time the submission was last saved. |
Data Object
The data field contains the submission's actual field values. Its structure depends on how the submission is retrieved.
| Property | Type | Description |
|---|---|---|
rawData |
Object | Field values stored as key-value pairs, where each key is a component's Property ID. This is the primary object you work with when reading submission data. |
jsonData |
Object | Transformed output data in JSON format. Present when a Transform is applied to the response. |
xmlData |
String | Transformed output data in XML format. Present when a Transform is applied. |
pdfUrl |
URL | A URL pointing to a generated PDF. Present when a PDF Transform is applied. |
pdfData |
String | The raw PDF data. Present when a PDF Transform is applied. |
rawData Structure
Each key in rawData is a component's Property ID, and each value is that component's stored value. The value type depends on the component. See Data Types for the full reference.
Example:
{
"rawData": {
"firstName": "Jane",
"lastName": "Smith",
"dateOfBirth": "1990-05-14T00:00:00.000Z",
"agreedToTerms": true,
"uploadedFiles": [
{ "url": "https://...", "name": "document.pdf" }
]
}
}
Metadata Object
The metadata field stores arbitrary key-value pairs alongside the submission. Unlike data, metadata is not tied to module components. Metadata is useful for storing workflow status, internal tracking values, or integration identifiers.
Metadata can be set, updated, and deleted through the submissions API using metadata, unsetMetadata, and partial update operations.
Revisions
Unqork maintains a revision history for every submission. Each revision captures the state of the submission at a point in time.
| Field | Type | Description |
|---|---|---|
id |
String | The unique revision ID. |
created |
String | When this revision was created. |
createdBy |
String | The person who created or modified the submission at this point. |
submission |
Object | The full submission object as it existed at this revision. |
persistedInWormStorage |
Boolean | Whether this revision is stored in WORM (Write-Once-Read-Many) compliant storage. |
Note: Revision data is empty for API calls that return multiple revisions simultaneously. Retrieve a single revision by ID to access its full
dataobject.
Changelog
| Date | Change |
|---|---|
| — | Initial publication. |