Documentation Index

Fetch the complete documentation index at: https://docs.unqork.io/llms.txt

Use this file to discover all available pages before exploring further.

Submission Data Structure

Prev Next

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 data object.


Changelog

Date Change
Initial publication.