Skip to main content

Entity limits

Entity limits cap how much configuration your tenant can hold: how many objects of a type exist, and how large a stored list can grow over many requests. It also lists how many entries each control accepts, how many items one bulk call can carry, and how large an uploaded file can be. The same limits apply in Strata Cloud Manager, which uses this API. For limits on how you call the API (rate, page size, request size), see System limits.

The OpenAPI specification is the source of truth for every limit. Each schema declares its limits as maxLength and maxItems, and the API reference shows them on every endpoint. This page does not repeat every field limit. It highlights the limits the specification cannot express, because they depend on what your tenant already holds, and the limits customers ask about most. If this page and the specification disagree, the specification wins.

On this page: common questions, field limits vs entity limits, per-tenant limits, stored list limits, rule scope, control limits, bulk operations, uploaded assets, how entity limits behave, related.


Common questions​

  • How many rules can I create? 1000 per policy type (sign-in, security, access and data, customization). Built-in and default rules are not counted. See Per-tenant limits.
  • How many IP addresses can one rule have? 1000 public and 1000 private entries, each an address or a range. See Rule scope.
  • How many users or user groups can one rule scope? 1000 users and 1000 user groups. See Rule scope.
  • How many extensions can an allow or block list hold? 15,000 in the allowedOrBlockedExtensions control, and 100 force-installed extensions. See Control limits.
  • How many URLs can a custom application hold? 100 by default, raisable per tenant up to 5000. Across all custom, private, and non-web applications, 15,000 per tenant. See Stored list limits.
  • How many users can a local user group hold? 25,000. See Stored list limits.
  • Do the same limits apply in Strata Cloud Manager? Yes. Strata Cloud Manager uses this API, so the same limits apply.

Field limits vs entity limits​

Two kinds of limit apply to a write:

KindWhat it checksWhere it is documented
Field limitOne value or list in a single request: a name length, the number of items in an add listThe API reference, as maxLength and maxItems on each schema
Entity limitThe state after the request: the total objects in your tenant, or the full size of a stored listThis page

A request can pass every field limit and still fail an entity limit. For example, a delta PATCH that adds 50 URLs is within the request's maxItems, but it fails if the application already holds 80 URLs and its limit is 100.


Per-tenant limits​

The maximum number of objects of each type your tenant can hold.

ObjectLimit per tenant
Rules, per policy type1000
Sections, per policy type500
Custom applications5000
Private applications2000
URLs across all custom, private, and non-web applications15,000
Application groups500
Device groups500
Tags10,000

The rule and section limits apply to each of the four policy types (sign-in, security, access and data, customization) separately. Built-in and default rules do not count against the rule limit. Catalog applications do not count against the application or URL limits. Private application CIDRs count against the URL limit.


Stored list limits​

The maximum size of a list stored on one object, however many requests built it up.

ObjectListLimit
Custom or private applicationURLs100 by default, raisable per tenant up to 5000
Private applicationcidrs100
Any applicationTags63
Application groupApplications2000
Local user groupUsers25,000

The URLs per application limit is set per tenant. The API reference shows the highest value any tenant can have, not your tenant's value, and no endpoint returns your tenant's value. When a request exceeds it, the 400 message states the effective maximum. Contact your account team to confirm your value or to raise it above 100.


Rule scope​

Each rule can scope up to 1000 items in every scope attribute, however many requests built the scope up.

Scope attributeMaximum per rule
Users (scope.users.users)1000
User groups (scope.users.userGroups)1000
Device groups (scope.deviceGroups.deviceGroups)1000
Public IP addresses or ranges (scope.publicIps.publicIps)1000
Private IP addresses or ranges (scope.privateIps.privateIps)1000
Locations (scope.locations.locations)All available countries
SaaS, private, non-web, and local desktop applications1000 per family
Application groups1000
External dynamic lists1000
Web classifications100

Tenant conditions (access and data rules)​

FieldMaximum per rule
applications.tenantConditions.aws.accountIds35,000
applications.tenantConditions.aws.regions100
Every other tenant condition list (Microsoft 365, Google, Google Cloud console, GitHub, Slack, OpenAI, Claude, and the per-application apps domains)100 each

Control limits​

How many entries each control's lists accept. Character limits on individual fields are in the API reference.

Security controls​

ControlListMaximum entries
allowedOrBlockedExtensionsextensions15,000
allowedPrintersallowedPrinters500
authenticationServerAllowlistincludedDomains500
cookiesexcludedDomains500
includedDomains500
enhancedTrackingProtectionexcludeDomains500
forceHttpsexcludedDomains500
internetExplorerCompatibilityModesites600
javaScriptV8JitAndWebAssemblyexcludedDomains500
kerberosDelegationAllowlistincludedDomains500
launchingExternalApplicationsexceptions50
exceptions[].protocolSchemes32
localNetworkAccessRestrictionsallowList500
blockList500
notificationsexcludedDomains500
pagesWithInsecureContentexcludedDomains500
popupsexcludedDomains500
restrictExtensionHostPermissionsincludedDomains500
trustedCertificateAuthoritiesadditionalCertificates100
webRtcexcludedDomains500

Access and data controls​

ControlListMaximum entries
fileProtectionfileDownload.fileSha256Filter.hashes100
fileDownload.fileTypeFilter.customExtensions50
fileUpload.fileSha256Filter.hashes100
fileUpload.fileTypeFilter.customExtensions50
screenshotallowedApplicationIds100
webUserInteractionselectors1000

Access and data login controls​

ControlListMaximum entries
formLogindomains300
idpLoginproviders300
socialLogingoogleAllowedDomains300

Customization controls​

ControlListMaximum entries
adminMessagesmessages10
autoLaunchExternalApplicationsrules25
rules[].allowedOrigins50
automaticClientCertificateSelectionrules100
rules[].urlPatterns20
customTextsoverrides100
enterpriseBrowserPoliciespolicies200
extensionForceInstallextensions100
internalNetworkDetectionhostDetection.expectedIpAddresses100
managedShortcutsshortcuts200
onBrowserStartupurlsToOpen50
requestDesktopMobileSiterules500
searchEngineContentFilteringengines10
sidebarshortcuts12
webAppForceListwebApps50

Bulk operations​

Each value is the maximum number of items in a single request. Split larger workloads across requests, and remember that each request counts against the rate limit.

OperationMaximum items per request
Create applications (POST /applications/bulk-create/{type})1000
Delete applications (POST /applications/bulk-delete)2000
Device actions: archive, restore, suspend, resume, delete10,000 device IDs
Device force re-authentication100 device IDs
User actions: suspend, resume, force re-authentication10,000 user IDs
Bulk update tags and classification (POST /applications/tags/bulk-update)500 applications
Rule or section moves (PATCH /policy/{type}/positions)100 moves
Add or remove items on a list with a delta PATCHThe list's own limit, see Stored list limits

A device or user action over the limit returns 400 with error.code VALIDATION_ERROR. Each device ID and user ID must be a 29-character ID.


Uploaded assets​

AssetEndpointMaximum sizeFormats
Company logoPOST /assets/company-logo1 MiB, up to 600 px widePNG
Browser iconPOST /assets/browser-icon3 MiBPNG
Background imagePOST /assets/background-image3 MiBPNG, SVG, JPG
Proxy auto-configuration (PAC) filePOST /assets/pac-file2 MiB.pac, .dat, .js, or no extension
End User License Agreement (EULA), previewPOST /assets/eula2 MiB.html, .htm
Web app iconPOST /assets/web-app-icon200 KiBPNG, JPG, GIF

An upload over the size limit returns 413 with error.code REQUEST_ENTITY_TOO_LARGE and the exact byte limit in the message. A wrong file type returns 400.


How entity limits behave​

  • Publish checks the rule limit. A publish is rejected with 400 when it would take a policy type past 1000 rules. Built-in and default rules are not counted.
  • Over the limit fails the whole request. The API returns 400, and nothing in the request is applied. Branch on error.code. See System limits for the response shape.
  • Delta PATCH counts the result. The limit applies to the stored list plus the items you add, not to the size of the request. See Delta patch.
  • Existing configuration is not broken. An object or tenant that was over a limit before the limit applied stays readable and keeps working. You can remove items, but you cannot add more until it is back under the limit.
  • Check before a large import. Read the current counts with includeTotalCount (see Pagination) and compare them with the limits above before you create objects in bulk. You can count rules and sections per policy type, applications by type, application groups, device groups, and tags (preview) this way. No endpoint returns the total URLs across applications, so keep a margin below that limit.