To help ensure consistent performance, Wdata's features and developer Application Programming Interface (API)—which enables custom integration to connect your data with the Workiva platform—enforce several limits.
While these constraints provide boundaries for your workspace, we recommend you self-limit the number of datasets whenever possible. Additional datasets have a cascading effect on processing time, and you may notice slowed performance when approaching these limits or running particularly complex queries.
Tables, queries, views, and chains
Wdata enforces a number of feature limits on tables, queries, views, and chains.
Tables
Feature | Limit |
---|---|
File uploads |
Recommended file size: 300 MB or less Maximum file size: 1 GB File format: CSV or TSV Note: ZIP files may be used to reduce upload size, but they will not result in improved query performance. |
Columns per table | 150 |
Fact tables | 1 billion rows |
Dimension tables |
Recommended: 1 million rows or less Maximum: 2 million rows |
Connections per spreadsheet | 100 incoming & 100 outgoing |
Tag values |
Maximum: 300 Rather than adding additional tag values, we recommend either creating a separate lookup table or using queries to create a join table in spreadsheets. |
Queries
Feature | Limit |
---|---|
Parameters per query | 30 |
Query parameter name | 256 characters |
Items per parameter pick list | 512 |
Query SQL Editor statement | 30,000 characters |
Connected queries per spreadsheet, document, or presentation | 100 |
Cells per spreadsheet | 2,000,000 |
UNION operators in SQL Editor |
20 |
Views
Feature | Limit |
---|---|
Query rows per view | 1,000,000 |
Note: Try reducing your query size by adding a LIMIT clause.
Chains
Feature | Limit |
---|---|
Connections | One provided with a Solution subscription; five with Enterprise. To purchase additional connections, contact your Customer Success manager. |
Variables | 100 per chain |
Notifications |
40MB for outbound emails Note: This sending-limit does not affect the receiving-limit set by some 3rd party providers. |
API rate limits
The rate limits below are enforced at the workspace level and not on a per-user basis. If you exceed these limits, you'll receive an error response with a status code of 429 Too Many Requests
.
You should also note that the API limits the length of any request to 10 minutes.
Note: The API may additionally limit your requests based on current system load or excessive frequency. Especially bandwidth intensive runs, such as those run on a large dataset over a short period of time, may incur a slight delay to ensure the system remains performant.
Administrative tasks
Request | Limit per minute per workspace |
Delete a single workspace | 5 |
Export a single workspace | 5 |
Import data | 5 |
Retrieve workspace files by size | 10 |
Retrieve workspace query usage | 55 |
Retrieve workspace upload usage | 50 |
Validate files | 5 |
Validate tables | 5 |
Chains
Both daily and short-term limits apply to the API.
Limits:
- 50,000 requests to the API within a 24 hour period
- Burst limit of 100 requests within a 20 second period
Connection management
Request | Limit per minute per workspace |
Get connection details | 515 |
List connections | 2000 |
Refresh connection | 203 |
Refresh batch of connections | 20 |
Get the status of a batch refresh | 1000 |
Get refresh connection status | 1000 |
File management
Request | Limit per minute per workspace |
Retrieve a list of files | 650 |
Upload a single file | 50 |
Delete a single file | 50 |
Retrieve a single file | 150 |
Download a single file | 50 |
Retrieve errors | 20 |
Export a file to spreadsheets | 5 |
Folder management
Request | Limit per minute per workspace |
Search | 150 |
Retrieve a list of folders | 150 |
Create a new folder | 150 |
Delete a single folder | 150 |
Retrieve a single folder | 150 |
Update a single folder | 150 |
Retrieve a list of folder contents | 150 |
Move content into a folder | 150 |
Parameter management
Request | Limit per minute per workspace |
Get parameters | 50 |
Create parameter | 10 |
Delete parameter | 50 |
Get parameter | 10 |
Update parameter | 10 |
Pivot view management
Request | Limit per minute per workspace |
Retrieve a list of pivot views | 50 |
Create a new pivot view | 10 |
Delete a single pivot view | 50 |
Retrieve a single pivot view | 50 |
Update a single pivot view | 10 |
Query management
Request | Limit per minute per workspace |
Retrieve list of queries | 192 |
Create a new query | 57 |
Retrieve query column data | 255 |
Parses the query to determine if it is valid | 255 |
Delete a single query | 150 |
Retrieve a single query | 1139 |
Update a single query | 93 |
Retrieve dependencies | 10 |
Retrieve a list of dependents | 60 |
Retrieve a list of query results | 39 |
Execute a query | 400 |
Cancel a running query | 25 |
Retrieve a single query result | 1200 |
Download a query result | 100 |
Export query result to spreadsheets | 400 |
Select list management
Request | Limit per minute per workspace |
Retrieve a list of select lists | 10 |
Create a new select list | 36 |
Delete a single select list | 10 |
Retrieve a single list | 108 |
Update a single select list | 12 |
Shared table management
Request | Limit per minute per workspace |
Retrieve a list of shared tables | 90 |
Create a new shared table | 8 |
Delete a single shared table | 10 |
Retrieve a single shared table | 366 |
Table management
Request | Limit per minute per workspace |
Retrieve a list of tables | 220 |
Create a new table | 100 |
Delete a single table | 45 |
Retrieve a single table | 700 |
Update a single table | 25 |
Retrieve a list of dependents | 60 |
Import a single file | 30 |
Unimport a single file | 170 |
Retrieve import information | 50 |
Import from spreadsheets | 10 |
Tag management
Request | Limit per minute per workspace |
Retrieve a list of tags | 50 |
Create a new tag | 10 |
Delete a single tag | 10 |
Update a single tag | 10 |
Token management
Request | Limit per minute per workspace |
Create a new token | 150 |
Utilities
Request | Limit per minute per workspace |
Parse a date | 10 |
Storage and querying limits
The API currently limits the size of lifetime storage and annual querying by subscription level. These limits are based on the total bytes scanned -- not the size of the result created by your query. Workspace owners can track their usage to verify their organization is within these limits.
Subscription | Lifetime storage | Annual querying |
---|---|---|
Solution | 100GB | 120TB |
Enterprise | 500GB | 3,000TB |
In real-world terms, just 1GB of storage over five years can contain 8M records, including:
- Monthly actuals cut by 10 dimensions
- Monthly rolling 12-month forecasts
- Budget data
We recommend you choose a subscription level based on your storage or querying needs. For example:
- With a Solution subscription, you can query a table with 100GB of data 1,200 times a year; or a table with 50GB of data, 2400 times a year.
- With an Enterprise subscription, the 3000TB querying limit allows you to query data 3M times a year.
To purchase additional lifetime storage, contact your account owner or customer success manager.
Note: These are hard caps, meaning future imports or queries cannot be completed once the limit is met. For example, you won't be able to import datasets into tables beyond your storage limit, and Wdata queries will fail once the query limit is exceeded.
Timeouts
The Workiva Wdata API currently limits the length of any request to 10 minutes.
Please note that timeouts may vary depending on which Workiva API you're connecting to. Learn more in the Workiva Developer Hub.
Payload size
The Workiva API limits the size of any request to a maximum of 10485760 bytes (10MB). This is a set limit for all Workiva APIs.
Encryption
To ensure data privacy and integrity, API calls use Transport Layer Security (TLS) 1.3; Advanced Encryption Standard (AES) 256 at rest.