IBM Verify SaaS API rate limits and quotas
Rate limits and quotas protect the stability of your system by controlling the number of requests that a client can make in a specified period of time.
| API Call/Feature/Others | Rate limit | Runbook/configuration | Comments |
|---|---|---|---|
| Bulk Retry API | 1 request every 30 seconds | Environment-wide | 1–200 failed requests per retry |
| Create Dynamic Group | Trial: 5; Paid: 100 | max.dynamicgroup.count | Per-tenant configurable |
| Device Flow (RFC 8628) | Configurable polling interval for the device flow grant type. The range is 2 to 3600 seconds. | It is configured by the tenant admin. | See the “Device flow polling interval” configuration in Configuring OIDC application general settings. |
| Display Operational Reports in Admin Console | 50 User Compliance and 50 User Entitlement reports every 15 minutes | Tenant Portal | reporting.user_compliance.limit=50; reporting.user_entitlement.limit=50 |
| Download CSV File (Audit and Status Reports) | 50 downloads every 5 minutes | Tenant Portal | reporting.zip.file.download.request.rate.limit=50 |
| Email OTP MFA Method | 30 requests per 5 minutes | Environment-wide | Per tenant and enrollment ID |
| Flow Designer (Trial Tenants) | Maximum 10 flows per tenant | Contact IBM Sales Representative or IBM Contact | IBM Verify trial subscriptions allow the creation of up to 10 flows in the Flow Designer. The maximum number of flows for a trial tenant can be configured by using the property flow.max.limit. To increase this limit beyond the default value, contact your IBM Sales representative or IBM support contact. |
| Generate CSV Download of Audit Reports | 3 audit reports every 15 minutes; 100 total per tenant every 15 minutes | Tenant Portal | reporting.tenant.rate_limit=100; reporting.time.period=900; reporting.csv.audit.quota.limit=3 |
| Generate CSV Download of Status Reports | 3 status reports every 15 minutes | Tenant Portal | reporting.csv.status.quota.limit=3 |
| Initiate a forgot password request | 2 requests per 30 minutes | N/A | Per tenant and username combination |
| Initiate a forgot username request | IP address / Maximum of 10 requests per hour, Tenant / Maximum of 100 requests per hour, Tenant + Attribute values / Maximum of 2 requests per hour | N/A | IP address and tenant level rate limits |
| Refresh Active OTP, Username Search, Check Attribute Uniqueness, Password Intelligence Validation APIs | 60 requests per 60 seconds | Environment-wide | See profile-backend config |
| Send Email Message | Recipient: 150/300s; Tenant: 600/600s | notification.email.limit | Trial-limited; paid tenants unlimited (-1) |
| Send Notifications to Notification Service | 24 requests per 60 seconds | Environment-wide | See service config |
| Send SMS Message | Recipient: 10/600s; Tenant: 600/600s | notification.sms.limit | Trial-limited; paid tenants unlimited (-1) |
| Send Voice OTP Message | Recipient: 5/600s; Tenant: 600/600s | notification.voice.limit | Trial-limited; paid tenants unlimited (-1) |
| SMS OTP MFA Method | 10 requests per 5 minutes | Environment-wide | Per tenant and enrollment ID |
| TOTP MFA Method | 6 requests per 60 seconds | Environment-wide | Per tenant and enrollment ID |
| Validate a password | IP address / 100000 requests per hour | Not applicable | IP address rate limited |
| Voice OTP MFA Method | 10 requests per 5 minutes | Environment-wide | Per tenant and enrollment ID |
| Workflow Start API and Resume API | Flow Controls | Not applicable | Loops in a flow : In certain business scenarios, the same set of tasks can run in a loop rather than sequentially. If a task exceeds the maximum allowed number of runs, defined by flows.max.iterations, the flow ends with a catastrophic error. The maximum number of iterations for a looping flow can be configured by using the property flows.max.iterations. To increase this limit beyond the default value, contact your IBM Sales representative or IBM support contact. |