Constraints that apply across the Unqork platform, including file uploads, API requests, submission data, email, Build Agent, and session behavior.
Submission Data
The most common question Creators have about the submissions API is how many submissions they can read or write in a single request.
Submission Size
Each submission is stored as a single document in the database. The maximum size of a single submission document is 16 MB, a hard limit set by the database engine. This includes all field values, metadata, and any Base64-encoded file data stored in the submission.
Submissions approaching this limit might indicate that large file data should be stored externally using cloud storage instead of embedded in the submission. See the File component and File Storage component for guidance.
Submissions per Request
Operation | Default | Maximum |
|---|---|---|
Get submissions | 50 | 50 |
Create submissions | — | 50 |
Update submissions | — | 50 |
Delete submissions | — | 50 |
Data query results | 50 | 50 |
The 50-submission limit applies to both the default and the maximum for submission endpoints. A single request cannot exceed 50 submissions regardless of query parameters. To retrieve more than 50 submissions, paginate using the limit and offset parameters.
Pagination
Submission endpoints support limit and offset query parameters for paginating through large result sets.
Parameter | Description |
|---|---|
| Number of records to return per request. Maximum 50. |
| Number of records to skip before selecting results. Zero-based. |
Example: To retrieve records 51–100, set limit=50&offset=50.
The response includes a x-total-count header with the total number of matching records. Use this value to calculate how many requests are needed to retrieve all results.
Note: Unqork also supports HTTP range headers as an alternative pagination method. See the API Reference for details.
Other API Endpoints
Limits vary by endpoint type. The following are common endpoints Creators access through the Plug-In component.
Endpoint | Default | Maximum |
|---|---|---|
Get Users | 50 | 500 |
Get Groups | 1,000 | 1,000 |
Get Transforms | 50 | 1,000 |
Get Applications | 1,000 | 1,000 |
Get Modules | 50 | 50 |
Get Workspaces | — | 3,000 |
Data Models and Query Builder
Data Model Records
Limit | Default | Maximum | Notes |
|---|---|---|---|
Records per page | 50 | 200 | Use |
Empty-criteria query cap | — | 100 | When a query specifies no criteria and no limit, the server automatically caps results at 100. |
Lookup nesting depth | — | 3 levels | Maximum depth for nested record lookups in a single query. |
Query Builder Pipeline
Query Builder pipelines are evaluated server-side. The following limits apply per pipeline.
Limit | Value |
|---|---|
Total pipeline JSON size | 64 KB |
Pipeline nesting depth | 10 levels |
Regex pattern length | 200 characters |
Maximum | 10,000 records |
Results per page | 100 |
Smart Queries
Smart Query read operations enforce a hard cap of 10,000 records. The cap is applied at two points: at structural validation (where a limit stage is automatically injected if the query specifies none) and at execution (where any limit value above 10,000 is rejected). Parameter values passed to Smart Queries must be primitives or arrays of primitives. Object values are not supported.
File Uploads
End-users submit files through modules. The limits that apply depend on the storage used.
Note: Any file-related or API request lasting longer than five minutes will fail.
Upload Size Limits
Administrators configure the maximum file size for end-user uploads in Environment Administration.
Limit | Default | Configurable Range | Notes |
|---|---|---|---|
Max file size | 2,048 MB | 0–2,048 MB | Files are automatically virus scanned up to 100 MB. Files above 100 MB are not automatically virus scanned. A warning displays in the platform when the configured limit exceeds this threshold. |
File Component Storage Paths
The File component stores uploaded files through one of two paths, determined by the Parse Files on Upload setting.
Parse Files on Upload | Storage path | Effective size limit |
|---|---|---|
OFF | storage | 100 MB per file |
ON | Base64 embedded in the submission | Governed by the 16 MB BSON submission limit |
Cloud storage (Parse Files on Upload = OFF): Files are stored in the environment's cloud storage provider. The Unqork server enforces a 100 MB per-file limit server-side, regardless of the Max File Size setting on the component.
Base64 in submission (Parse Files on Upload = ON): Files are Base64-encoded and embedded directly in the submission document. Base64 encoding inflates binary file size by approximately 33%, and the encoded data counts against the 16 MB BSON submission document limit. The maximum file size depends on how much other data the submission contains. A submission with minimal other field data can accommodate a file of approximately 12 MB binary; submissions with more field data have less headroom.
Execution Channel Upload Limits
Administrators configure upload limits for Service Execute and Execute via API channels in Environment Administration.
Limit | Default | Configurable Range | Notes |
|---|---|---|---|
Max file size per file | 500 MB | 0–2,048 MB | Applies to both Service Execute and Execute via API upload channels. |
Max number of files | 25 | 1–10,000 | Applies per execution request. |
Aggregate cap per execution | 10 GB | Not configurable | Hard limit regardless of per-file max. |
Aggregate cap (anonymous calls) | 500 MB | Not configurable | Applies when the execution is made without authentication. |
Upload Errors
If an uploaded file or request payload exceeds the enforced limit, the server returns a PayloadTooLargeError: request entity too large error. The upload is rejected before processing; the file itself is not stored. To resolve the error, reduce the file size or check the Max File Size setting in Environment Administration. For Base64 submissions, consider switching to cloud storage (Parse Files on Upload = OFF). Switching to cloud storage lifts the effective limit from the BSON submission cap to the 100 MB per-file server limit.
File Downloads
End-users download files from cloud storage through the Unqork server, which proxies the stream directly from the storage provider to the browser. Unqork does not enforce a file size cap on downloads. Download availability and throughput are governed by the cloud storage provider and network conditions.
File Imports
Data Collections
Creators import files into Data Collections through the Unqork platform.
Limit | Value |
|---|---|
CSV import file size | 1 GB |
CSV import row limit | 10,000 rows |
Module and Application Blueprints
Application definitions are imported as JSON through the Unqork API. The import endpoint accepts JSON request bodies up to 100 MB by default. This limit is configurable per environment using the UNQORK_SERVER_MERGE_ENDPOINTS_JSON_PARSER_LIMIT environment variable.
Limit | Default | Notes |
|---|---|---|
Application blueprint JSON | 100 MB | Applies to the |
File Processing
The Unqork server supports server-side file operations through the /fileUtils API, including creating ZIP archives, extracting ZIP files, and converting between JSON and CSV. The following limits apply per request.
Operation | Per-file limit | Max files |
|---|---|---|
ZIP archive creation | 250 MB | 20 |
ZIP extraction | 250 MB | 20 |
JSON to CSV conversion | 250 MB | 20 |
External Service File Calls
When Creators call external services through the Plug-In component, separate limits apply to the outgoing request and the incoming response.
Outgoing requests: Unqork does not impose a limit on the payload sent to an external service. The external service's own limits apply.
Incoming responses: Unqork limits the response it accepts back from external services based on the Expect Binary Response setting.
Limit | Value | Notes |
|---|---|---|
External service response (text) | 100 MB | Default response limit. Applies when Expect Binary Response is OFF. |
External service response (binary) | 2 GB | Applies when Expect Binary Response is ON. Unqork switches to streaming mode, which raises the response limit. |
External file service upload | 500 MB per file | Applies when sending files to an external service through the Plug-In component. Verify the external service's own limits before configuring. |
Server-side proxy upload | 500 MB total | Maximum of 25 files at 500 MB total. Applies to the Execute via Proxy - POST Unqork service. |
Base64 retrieval ( | 10 MB | Limit for retrieving a file as Base64 using the |
Request Payload Limits
These limits apply to all API requests sent to the Unqork server, regardless of which component or service initiates the call.
Request type | Limit | Notes |
|---|---|---|
JSON body | 50 MB | Applies to all JSON and URL-encoded request bodies, including submission saves and API calls to Unqork endpoints. Does not apply to outgoing Plug-In component calls to external services. |
Multipart non-file fields | 50 MB total | Applies to the total size of all non-file form fields in a multipart upload. File data in the same request is not counted against this limit. |
Application blueprint import | 100 MB | Applies to the |
Style Assets
Administrators upload style assets through the Style Editor, including images, fonts, and CSS files. The following limits apply.
Asset type | Extensions | Size limit |
|---|---|---|
Images |
| 10 MB |
Icons |
| 1 MB |
Fonts |
| 10 MB |
CSS stylesheets |
| 10 MB |
Accepted File Types
By default, Unqork accepts the following file types for end-user uploads. Administrators can configure a different set of allowed extensions per file manager in Environment Administration.
Category | Extensions |
|---|---|
Images |
|
Documents |
|
Fonts |
|
To restrict accepted file types on a specific File component, use the File Pattern setting (for example, .pdf,.png).
Security Processing
All uploaded files go through the following checks before being stored:
Antivirus scan: Files are scanned for malware and rejected if infected.
MIME type validation: Files are rejected if their MIME type does not match their extension.
Magic byte check: The file's binary signature is verified against its declared type.
SVG sanitization: SVG files are sanitized to remove embedded JavaScript before storage.
HTML sanitization: HTML files are filtered to remove XSS content before storage.
Email workflow steps route through AWS SES. The following limits apply per message.
Limit | Default | Configurable Range | Notes |
|---|---|---|---|
Total recipients | 50 | Not configurable | Combined total of To, CC, and BCC recipients. Enforced by AWS SES. |
Attachment size | 100 MB | 0–2,048 MB | Configurable per environment in Environment Administration. |
Build Agent
The following limits apply to Build Agent interactions in the Unqork platform.
Chat Input and Output
Limit | Value |
|---|---|
Max message input length | 100,000 characters |
Max response length | 65,535 tokens |
Rate limit | 10 requests per 60 seconds per Creator |
File Attachments
Creators can attach files to Build Agent messages. The total size of all attachments in a conversation cannot exceed 10 MB. Additional per-type limits apply.
File type | Limit |
|---|---|
100 pages total | |
Text files (TXT, MD, JSON, LOG, XML, ) | 500,000 characters total |
CSV, TSV | 5,000 rows and 100 columns |
Spreadsheets (XLSX, XLSM, XLS, ODS) | 10,000 total rows across all sheets; 75 sheets |
Images (PNG, JPEG, GIF, WEBP) | Subject to the 10 MB total |
Session and Authentication
Session Timeout
Both timeout values are configurable per environment in Environment Administration.
Limit | Default | Notes |
|---|---|---|
Inactivity timeout | 240 minutes | Session expires after this period of inactivity. |
Absolute session expiry | 1,440 minutes (24 hours) | Session cannot be refreshed after this duration regardless of activity. |
Account Lockout
Both values are configurable per environment in Environment Administration.
Limit | Default | Configurable Range |
|---|---|---|
Failed login attempts before lockout | 5 | 2–10 |
Lockout duration | 30 minutes | 5–120 minutes |
Passwords
Password length requirements are configurable per environment in Environment Administration.
Limit | Default |
|---|---|
Minimum length | 12 characters |
Maximum length | 64 characters |
Rate Limiting
Rate limits are configured per environment by an administrator and vary by customer.
Limit | Minimum | Maximum |
|---|---|---|
Requests per IP address per server per 60 seconds | 100 | 1,000,000 |
Administrators can view and update this setting in Environment Administration. Applications hitting rate limits should contact their environment administrator to review the current configuration.
Browser Storage Component
The Browser Storage component stores data in the browser's localStorage. Storage limits are enforced by the browser, not by Unqork.
Limit | Value | Notes |
|---|---|---|
| 5–10 MB | Varies by browser. Exceeding this limit causes a storage quota error. |
Keep data stored in the Browser Storage component small. Avoid storing large arrays or deeply nested objects.
Changelog
Date | Change |
|---|---|
2026-08-28 | Added Upload Errors section — PayloadTooLargeError description and resolution guidance (EN-8073). |
2026-08-27 | Added Smart Queries section: 10,000 record hard cap, dual enforcement (structural validation + execution), primitives-only parameter type restriction (EN-8034). |
2026-08-13 | Build Agent: fixed double word in section header; updated File Attachments to reflect current limits (10 MB total across conversation, PDF 100 pages, text/CSV/XLSX per-type limits); removed deprecated Knowledge Base Entries section (EN-7995). |
2026-06-30 | Added: Data Models and Query Builder section (records per page, empty-criteria cap, nesting depth, pipeline limits); Email section (50 recipients, 100 MB attachment); Agent Chat section (rate limit, max output, PDF limits, KB entry limit); Session and Authentication section (inactivity, absolute expiry, lockout, password length). Expanded Other API Endpoints (modules, workspaces). Added CSV 10,000 row limit to Data Collections. |
2026-06-30 | Reorganized file limits by operation (uploads, downloads, imports, processing, external service calls, request payloads, style assets). Added: file downloads (no cap), Data Collections CSV import (1 GB), application blueprint import (100 MB), file processing via /fileUtils (250 MB / 20 files), multipart non-file field limit (50 MB), style asset limits (10 MB images/fonts/CSS, 1 MB ico). Clarified Base64/BSON limit relationship. |
2026-06-29 | Corrected Plug-In Component limits: 100 MB is the inbound response limit (not outgoing payload); outgoing requests have no Unqork-imposed limit; 50 MB clarified as inbound Unqork server limit only. |
2026-06-26 | Added external service response limit (100 MB) and binary response limit (2 GB) to Plug-In Component File Limits. |
— | Initial publication. |