Unqork documentation is available in two workspaces: UnqorkAI for the latest AI-first platform, and legacy Unqork for previous versions. Use the drop-down near the logo to switch.

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.

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.

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.