Recent Announcements

  • 12/13/2021 - Permission enforcement for adherence notifications Description We will begin enforcing permissions for adherence notifications for the following topic v2.users.{id}.workforcemanagement.adherence Subscribing to the topic will not be permitted unless the user making the request has WFM:agentSchedule:View or WFM:agentAdherence:Notify or WFM:realtimeAdherence:View. See updated documentation for v2.users.{id}.workforcemanagement.adherence on the available topics page: https://developer.genesys.cloud/api/rest/v2/notifications/available_topics. Change Category API, Notifications Change Context Receiving adherence updates should require permissions. Change Impact If the user does not have one of the required permissions then the request will return a 403 error. Please be aware that if multiple topics are being subscribed to any permission failure will return a 403 error for the entire request and result in all subscriptions to not be fulfilled. Date of Change On or after March 08, 2022 Impacted APIs POST /api/v2/notifications/channels/{channelId}/subscriptions for topic v2.users.{id}.workforcemanagement.adherence References WEM-396, WEM-429
  • 12/9/2021 - Deprecation: "Get journey sessions by customer" action in Architect Description We plan to deprecate the "Get journey sessions by customer" action in Architect. This action was used to get all previous sessions for a given customer. As we continue to focus our efforts on identity stitching, we will be associating journey sessions with external contacts in the future. As part of this change, the services that supports the "Get journey sessions by customer" data action will be deprecated. This change does not affect the "Get journey session by ID" action, and we will also be adding a new action in the near future to get journey sessions for a given external contact. If you were planning to use this data action and want to learn about alternative options, please email darragh.kirwan@genesys.com. Change Category Informational Change Context We are deprecating this now because the service that it depends on will be removed sometime in the middle of next year (date TBD) and the action currently has no users using it. The risk of delaying this deprecation is that users would begin to use it and it would become more complex to remove it. Change Impact As we have no customers using it, we don't anticipate any adverse impact. We will be releasing a new data action in the future to provide the same functionality but using an external contact ID as the customer identifier. This has already been built and is currently behind a feature toggle. Date of Change Feb 09, 2022 Impacted APIs No APIs, just an architect data action. (The API that powers it is not public.) References AI-526
  • 12/3/2021 - SMS number provisioning change Description Genesys Cloud SMS number provisioning is moving over to an asynchronous operation, where these operations were previously done synchronously. This async process will be much more fault tolerant and give customers more stability when purchasing new numbers to use with SMS in Genesys Cloud. Change Category Informational API Change Context In order to allow our customers to interact with external vendors when doing provisioning operations on SMS numbers for Genesys Cloud, we are moving over to an async provisioning/de-provisioning process. This will allow longer running operations to complete successfully for our customers on a more consistent basis. This also allows us to move to other external vendors (which only support async provisioning) in the future. After the change date listed, the listed resources will only support Async provisioning operations going forward. The consumer impacted change is explained more below, and explanation of how they can appropriately change over to the async path. Change Impact When provisioning and de-provisioning SMS numbers there is now a new query parameter called "async" on these API resources. In the future Async will be required to be set to "true" for all provisioning operations. Today with the default path (async=false) these resources respond with a 200 OK response after the api call completes, and this means the operation is done. Going forward all consumers should be using the new path (async=true), and the resources will respond with a 202 Accepted response code, and this means the operation has been accepted, but is not finished yet. The new process, when this async parameter is set to "true", is that when the consumer gets the '202 Accepted' API response when making the request (POST/PUT/DELETE). The resources will respond with a 'provisioningStatus' object discussed below. The consumer can then use the GET /api/v2/routing/sms/phonenumbers/{addressId} to Poll for the operation's results. The GET response will contain the following '{"provisioningStatus":{"action":"Create,Update,Delete","state":"Running,Completed,Failed", "error":{}}}` Once the state transitions to "Completed" or "Failed" the Async operation is now finished. Date of Change Mar 01, 2022 Impacted APIs POST /api/v2/routing/sms/phonenumbers PUT /api/v2/routing/sms/phonenumbers/{addressId} DELETE /api/v2/routing/sms/phonenumbers/{addressId} References MSG-2921
  • 11/24/2021 - Removing endpoint for uploading WFM historical data file in JSON format Description Removing endpoint for uploading WFM historical data file in JSON format (POST /api/v2/uploads/workforcemanagement/historicaldata/json) Change Category API Change Context Due to the sunsetting of the WEM solution for hybrid orgs, we are removing the JSON upload endpoint that was designed to be used by hybrid customers to upload historical data into Genesys Cloud. Change Impact No Customer Impact. The APIs that are being removed are not currently in use by any end-user. No known apps consume this API outside of official Genesys apps. Date of Change Jan 24, 2022 Impacted APIs POST /api/v2/uploads/workforcemanagement/historicaldata/json References https://inindca.atlassian.net/browse/WFM-9262
  • 11/23/2021 - Change to comparisonperiods APICategory: Public API Summary: An API change is being made to the Genesys Predictive Routing GET comparisonperiods response contract. The following fields are being deprecated and will be revamped, please note these fields wont be removed until the dependant admin ui work is complete: kpiTotalOn kpiTotalOff interactionCountOn interactionCountOff They will be replaced but the following list, which will contain the above fields with associated media types: kpiResults Example of how kpiResults will look: "kpiResults": [ { "kpiTotalOn": 100800, "kpiTotalOff": 220800, "interactionCountOn": 1569999, "interactionCountOff": 1669999, "mediaType": "voice" }, { "kpiTotalOn": 12345, "kpiTotalOff": 54321, "interactionCountOn": 6789, "interactionCountOff": 9876, "mediaType": "email" } ] Context: This change is to allow Genesys Predictive Routing’s comparison periods to support multiple media type i.e voice, email, message. The following public and preview APIs will be affected: GET /api/v2/routing/comparisonperiods GET /api/v2/routing/queues/{queueId}/comparisonperiods GET/api/v2/routing/queues/{queueId}/comparisonperiods/{comparisonPeriodId} Impact: No customers use the API at this time. This will only impact admin-ui, in which the admin-ui work to cater for this API which is planned to completed the the Genesys Predictive Routing Team Date of Change: on competition of AP-10099
  • 11/17/2021 - Tidy up of the contract docs for GET journey session(s) APIsCategory: API Summary: An API documentation change is being made to GET journey session(s) API response contracts - the following nested fields will be removed: segmentAssignments.segment.segment outcomeAchievements.outcome.outcome Context: This is a fix for an API contract documentation bug. The nested fields being removed from the contract docs are not actually populated on the API responses. The following public and preview APIs will be affected: GET /api/v2/journey/sessions/{sessionId} GET /api/v2/journey/customers/{customerIdType}/{customerId}/sessions GET /api/v2/journey/externalcontacts/{externalContactId}/sessions Impact: This is a documentation update. The actual data returned on the APIs is unchanged. Date of Change: Imminent.
  • 11/16/2021 - Embedded Client Apps: Adding support for configurable PermissionsPolicyCategory: Embedded Client Apps (Developers, Vendors, and Administrators) Summary: Apps now supports configurable PermissionsPolicy. This is an emerging standard that is mostly being supported by Chrome but also has been implemented in certain circumstances in other browsers. For a while now, we’ve added a few of these by default for all apps to help ease browser inconsistencies. The spec and browser support is now to a place where we can make these configurable. So, we’ve toggled the behavior of adding these by default and are moving to opt-in. The available permissions are: camera, microphone, geolocation, clipboard-write, fullscreen, display-capture. developer.mozilla.org Feature-Policy - HTTP | MDN The HTTP Feature-Policy header provides a mechanism to allow and deny the use of browser features in its own frame, and in content within any Context: We have added the ability to manually opt into specific permissions on a per-app basis. As such, we will be removing the automatic insertion of the following permissions: camera, microphone, and geolocation. Additionally we are requiring that App vendors and Administrators manually opt into the minimum required permissions required by each app. The principle of least privilege should always be followed to ensure a balance among security, features, and privacy. These permissions will be added to the iframe's permissions policy for origins matching the app's url (i.e. the default behavior of allowlist). Impact: Upon removal of the automatic insertion of the default permissions, usage of the microphone, camera, and geolocation from within Embedded Client Applications will be blocked unless explicitly allowed. The new permissions you can also enable are clipboard-write, fullscreen, and display-capture. Ad-hoc Embedded Client App Developers/Administrators: Assess which permissions your Embedded Client App needs to support. If needed, go to Admin -> Integrations. Open your app definition, navigate to the Configuration tab, and add permissions to the Iframe Feature/Permissions Policy field. Premium App Vendor/Partners: Assess which permissions your Premium App needs to support. If needed, contact zachary.hinkle@genesys.com to have your static permissions options updated. Date of Change: On 1/19/2022, we will disable the automatic insertion of the camera, microphone, and geolocation permissions for all apps. At this point, apps will need to explicitly opt into these permissions, otherwise they will be blocked. Impacted APIs: This change primarily affects App configuration and is not an API change per se. If working with integrations dynamically, the permissions can be configured via the following endpoint: PUT /api/v2/integrations/{integrationId}/config/current References: ATEAM-398 developer.mozilla.org Feature-Policy - HTTP | MDN The HTTP Feature-Policy header provides a mechanism to allow and deny the use of browser features in its own frame, and in content within any
  • 11/15/2021 - Change to allowable values for sortBy field in /routing/queues/divisionviews/allCategory: API, Informational Summary: It has been discovered that a certain API endpoint has incorrect documentation. /api/v2/routing/queues/divisionviews/all indicates that id and divisionId are valid options for the sortBy field. however, this is incorrect. All results from this endpoint are sorted only by queue name. The change that will be made is that id and divisionId will be removed from the list of allowable values for the sortBy parameter. Impact: There will be no change to endpoint results. All results were already being sorted by name. SDK users may see changes to the sort options offered by this endpoint, which may result in previously-valid values no longer being accepted. Such changes would only be seen upon manually updating to a new SDK version. Date of Change: The change is expected to reach production within the next two weeks. Impacted APIs: /api/v2/routing/queues/divisionviews/all References: AS-2050
  • 11/10/2021 - NEW: Open messaging API enhancementsNew API enhancements for open messaging are available starting today. There are several enhancements bundled in there, along with a brand new API to retrieve conversation ID or inbound and outbound receipts. To retrieve a conversation ID given a message ID, use the new API GET /api/v2/conversations/messages/{messageId}/details. More details at https://developer.genesys.cloud/api/digital/openmessaging/gettingConversationId. For more information on inbound and outbound receipts, see https://developer.genesys.cloud/api/digital/openmessaging/receipts Open messaging API enhancements Developers can now take advantage of a variety of open messaging API enhancements, such as inbound and outbound delivery receipts and user-scoped authorization for inbound messaging. Developers can now also pass custom attributes when starting a new conversation or sending a reply, and retrieve a conversation ID using a message ID. For more information, see Open messaging in the Developer Center. This feature requires one of the following subscriptions: Genesys Cloud User 3, Genesys Cloud User 1 Digital Upgrade II, or Genesys Cloud User 2 Digital Upgrade I. See release notes for the full release announcement: November 10, 2021 - Genesys Cloud Resource Center Let us know what feedback you have and what other enhancements you'd like to see added.
  • 10/18/2021 - Removing invalid "total" property in GET all topics for in speech and text analyticsCategory: API, Informational Summary: The 'total' field in the get all topics APIs will be removed when they are invalid. Context: In early September, a total field was introduced to the get all topics API unintentionally. It will always return 0 and should be ignored. The change will update the total field to return the proper value if the feature is enabled, and remove the field if the feature is disabled. Impact: Before the date of the change, ignore the 'total' field returned from the get all topics API. Date of Change: On or after 1st of December 2021 Impacted APIs: GET: /api/v2/speechandtextanalytics/topics References: GIA-7995
  • 10/14/2021 - Removing external organization id property when creating a new outbound messaging conversationCategory: API, Informational Summary: The externalOrganizationId property on the request to create a new outbound messaging conversation is being removed Context: Although externalOrganizationId has been a valid property on the request since its creation, that property has never been utilized. As part of upcoming improvements to identity stitching and customer journey the request will be updated to make use of any included external contact information. The request already includes an externalContactId property, which will be used to specify the external contact involved, making externalOrganizationId unnecessary and potentially misleading given that the external organization is determined by the external contact. Impact: Since externalOrganizationId has never been utilized there should be no impact to API clients, however any clients including externalOrganizationId in the request should remove it to avoid any confusion. Date of Change: Immediate Impacted APIs: POST /api/v2/conversations/messages References: RELATE-2382
Home pageHomeAPIsPlatform APIAPI ResourcesOrganizationLimits

Limits

Limits define thresholds for specific areas of the API. They are designed to safeguard Genesys' services from abusive and unexpected traffic patterns, encourage efficient use of billable resources, and protect customers from unexpected usage. Note that not all limits are exposed externally. New limits are normally introduced and published regularly with new features, but Genesys reserves the right to leave limits undocumented when appropriate.

Counted Limits vs. Rate Limits

What is the structure and scope of a limit?

Each limit is a member of a namespace. A namespace is simply an arbitrary container for related limits. Think of a namespace as nothing more than an organizational unit roughly correlating to a service team or functional area. Namespace limits are scoped as specifically as a service team deems necessary and may overlap depending on API usage. For instance, API rate limits are generally scoped at a token or user level, queue limits are scoped at an organizational level, and request payload limits are scoped at an API level.

How are limits configured?

Every limit is assigned a default value that is selected to work well for most Genesys Cloud customers. The best way to avoid reaching a limit threshold is to take preventative steps during development. If all avenues to avoid limiting have been exhausted, Genesys Cloud customers can engage Customer Care to make a case for increasing a limit.

Take note of the table below. Some limits are hard limits; they are not configurable.

How do I view the limits for my organization?

In addition to the limit documentation below, the Platform API exposes a few APIs to fetch limits as they are currently configured for an organization.

Available Limits

Analytics

Key
Description
Limit
Resource(s)
Configurable
export.csv.rate.limitThe maximum number of rows permitted in csv export2500api/v2/analytics/reporting/exports/*true
export.interactions.row.count.limitThe maximum number of rows permitted in an interactions export1000000api/v2/analytics/reporting/exports/*false
export.operations.allowedThe maximum number of exports permitted to be requested per user10api/v2/analytics/reporting/exports/*true
export.pdf.rate.limitThe maximum number of rows permitted in pdf export2500api/v2/analytics/reporting/exports/*false
export.scheduled.callbacks.row.count.limitThe maximum number of rows permitted in a scheduled callbacks export10000api/v2/analytics/reporting/exports/*false
export.schedules.allowedThe maximum number of active export schedules per user20api/v2/analytics/reporting/exports/*false

Realtime Analytics

Key
Description
Limit
Resource(s)
Configurable
activity.query.predicates.maxThe maximum number of query predicates for activity/observations queries100api/v2/analytics/*/activity, observations/querytrue
aggregates.query.predicates.maxThe maximum number of query predicates for aggregate queries200api/v2/analytics/*/aggregates/querytrue
aggregates.query.user.predicates.maxThe maximum number of users allowed in filters for user status aggregate queries100api/v2/analytics/users/aggregates/queryfalse

Analytics Reporting Settings

Key
Description
Limit
Resource(s)
Configurable
insight.configuration.thresholds.maxThe maximum number of thresholds allowed for insight configurations20/api/v2/analytics/reporting/settings/insightsfalse
user.dashboard.configurations.maxThe maximum number of dashboard configurations allowed to be created for a user20/api/v2/analytics/reporting/settings/dashboards/*false
user.tab.configurations.maxThe max number of UI View tabs that a user is allowed to create20/api/v2/analytics/reporting/settings/tabconfigurations/*false
user.view.configurations.maxThe maximum number of views allowed to be created for a user1000/api/v2/analytics/reporting/settings/viewconfigurations/*false

Architect

Key
Description
Limit
Resource(s)
Configurable
find.acdskill.invocations.per.flow.maxThe maximum number of unique find skill operations that can be performed per flow instance. The invocation count includes any Find Skill action or function call.25false
find.externalcontact.invocations.per.flow.maxThe maximum number of unique find external contact operations that can be performed per flow instance. The invocation count includes usage of the Get External Contact action.25false
find.externalorganization.invocations.per.flow.maxThe maximum number of unique find external organization operations that can be performed per flow instance. The invocation count includes usage of the Get External Organization action.25false
find.group.invocations.per.flow.maxThe maximum number of unique find group operations that can be performed per flow instance. The invocation count includes any Find Group action or function call.25false
find.invocations.per.flow.maxThe total number of unique find operations of any object type that can be performed per flow instance. The invocation count includes any singleton or bulk Find action or function call.100true
find.journeyoutcome.invocations.per.flow.maxThe maximum number of unique find journey outcome operations that can be performed per flow instance. The invocation count includes usage of the Get Journey Outcome action.25false
find.journeysegment.invocations.per.flow.maxThe maximum number of unique find journey segment operations that can be performed per flow instance. The invocation count includes usage of the Get Journey Segment action.25false
find.journeysession.invocations.per.flow.maxThe maximum number of unique find journey session operations that can be performed per flow instance. The invocation count includes usage of the Get Journey Session action.25false
find.languageskill.invocations.per.flow.maxThe maximum number of unique find language skill operations that can be performed per flow instance. The invocation count includes any Find Language Skill action or function call.25false
find.queue.invocations.per.flow.maxThe maximum number of unique find queue operations that can be performed per flow instance. The invocation count includes any Find Queue action or function call.25false
find.systemprompt.invocations.per.flow.maxThe maximum number of unique find system prompt operations that can be performed per flow instance. The invocation count includes any Find System Prompt action or function call.25true
find.user.invocations.per.flow.maxThe maximum number of unique find user operations that can be performed per flow instance. The invocation count includes any singleton or bulk Find User action or function call.25false
find.userprompt.invocations.per.flow.maxThe maximum number of unique find user prompt operations that can be performed per flow instance. The invocation count includes any Find User Prompt action or function call.25true
find.users.bulk.items.maxThe maximum number of user IDs or email addresses that can be supplied to a bulk Find Users action or function.50false
find.wrapupcode.invocations.per.flow.maxThe maximum number of unique find wrapup code operations that can be performed per flow instance. The invocation count includes usage of the Set Wrapup Code action.25false
flow.milestones.maxThe maximum number of flow milestones that can be configured for an organization.1000false
flow.milestones.per.flow.maxThe maximum number of flow milestones per flow generated at runtime before truncation (starting with the oldest entries) occurs.100false
flow.milestones.per.flow.outcome.maxThe maximum number of flow milestones per flow outcome generated at runtime before truncation (starting with the oldest entries) occurs.20false
flow.outcomes.maxThe maximum number of flow outcomes that can be configured for an organization.100false
job.register.rate.per.minuteThe maximum number of requests per minute to the Architect Register Job endpoint.10api/v2/flows/jobsfalse
request.size.bytes.maxThe maximum content length of a request payload for an architect flow version6291456api/v2/flows/*/versionsfalse
send.response.per.message.flow.maxThe total number of Send Response actions that can be performed per flow instance. This affects Inbound Message and In-Queue Message flows.1000false

Audit

Key
Description
Limit
Resource(s)
Configurable
query.create.operationsThe maximum number of audit query execution creation requests per organization per minute10api/v2/audits/queryfalse
query.get.operationsThe maximum number of audit query get status and results requests per organization per minute300api/v2/audits/query/{transactionId}/*false

Auth API

Key
Description
Limit
Resource(s)
Configurable
max.certificates.per.providerThe maximum number of certificates for a SAML provider5false
max.clients.per.orgThe maximum number of clients allowed per organization100false
max.clones.per.org.trustThe maximum cloned users that can belong to an organization trust5false
max.groups.per.org.trustThe maximum groups that can belong to an organization trust25true
max.ip.whitelist.cidr.blocks.per.orgThe maximum number of CIDR blocks an org can use for IP whitelisting150true
max.redirect.uris.per.clientThe maximum number of redirect URIs per client125false
max.users.per.org.trustThe maximum users that can belong to an organization trust25true
token.creation.rate.per.minuteThe maximum number of tokens that can be created per minute300false

Authorization

Key
Description
Limit
Resource(s)
Configurable
max.divisions.per.orgThe maximum number of divisions an organization can have50true
org.roles.maxThe maximum number of roles for an organization400false
subject.roles.maxThe maximum number of roles a subject can be assigned100false

Voice Bots

Key
Description
Limit
Resource(s)
Configurable
dialogengine.botflows.concurrent.maxThe maximum number of concurrent Dialog Engine Bot Flows per organization100true
google.asr.limitThe maximum number of Google ASR calls per minute per organization100true

Conversation

Key
Description
Limit
Resource(s)
Configurable
recording.rate.per.minuteThe maximum number of conversation recording operations per token per minute120api/v2/conversations/{conversationId}/recordings/*false

Data Actions

Key
Description
Limit
Resource(s)
Configurable
actions.concurrent.executions.maxThe maximum number of concurrent action executions15true
actions.integration.maxThe maximum number of actions per integration100false
actions.total.maxThe maximum number of actions400false
requests.volume.maxThe maximum number of requests per minute900true

Architect Datatables

Key
Description
Limit
Resource(s)
Configurable
rows.max.per.table.allowedThe maximum number of rows allowed per Datatable5000true
rows.rate.per.minuteThe maximum number of Datatable operations per organization per minute5000/api/v2/flows/datatables/{datatableId}/rows/*true
tables.max.allowedThe maximum number of Datatables allowed in your organization50true

User Directory

Key
Description
Limit
Resource(s)
Configurable
dynamicgroup.preview.rate.per.minuteThe maximum number of dynamic group preview requests per token per minute30api/v2/groups/dynamicsettings/previewfalse
user.rate.per.minuteThe maximum number of user requests per token per minute180api/v2/users/*false

General Data Protection Regulation

Key
Description
Limit
Resource(s)
Configurable
request.rate.per.minuteThe maximum number of GDPR operations per organization per minute5api/v2/gdpr/*false

Intent Miner

Key
Description
Limit
Resource(s)
Configurable
miners.active.maxThe maximum number of active miners for an organization5api/v2/languageunderstanding/miners, miners/{minerId}/executefalse
miners.maxThe maximum number of miners for an organization100api/v2/languageunderstanding/minersfalse

Journey

Key
Description
Limit
Resource(s)
Configurable
actionmap.event.condition.triggers.maxThe maximum number of event conditions triggers allowed per action map15/api/v2/journey/actionmaps*false
actionmap.maxThe maximum number of action maps allowed200/api/v2/journey/actionmaps*false
actionmap.segment.triggers.maxThe maximum number of segment triggers allowed per action map75/api/v2/journey/actionmaps*false
actiontemplate.contentoffer.maxThe maximum number of content offer action templates allowed400/api/v2/journey/actiontemplates*false
beacon.rate.per.minuteThe maximum number of beacon operations allowed per website per minute60000api/v2/journey/websites/{websiteId}/customers/{customerId}/beaconsfalse
customevent.attributes.maxThe maximum number of attributes plus attribute lists allowed per custom event20/api/v2/journey/customeventsfalse
customevent.per.sessionThe maximum number of custom events allowed per session50/api/v2/journey/customeventsfalse
deployment.beacons.rate.per.minuteThe maximum number of beacon operations allowed per deployment per minute45000api/v2/journey/deployments/{deploymentId}/customers/{customerId}/beaconsfalse
deployment.ping.rate.per.minuteThe maximum number of ping operations allowed per deployment per minute180000api/v2/journey/deployments/{deploymentId}/customers/{customerId}/pingfalse
deployment.rate.per.minuteThe maximum number of journey deployment operations allowed per path per minute60api/v2/journey/deployments/*false
eventtype.attributes.maxThe maximum number of attributes allowed per event type50/api/v2/journey/eventtypes*false
outcome.context.conditions.maxThe maximum number of context conditions allowed per outcome15/api/v2/journey/outcomes*false
outcome.event.conditions.criteria.maxThe maximum number of event attributes allowed per event condition per outcome15/api/v2/journey/outcomes*false
outcome.event.conditions.maxThe maximum number of event conditions allowed per outcome10/api/v2/journey/outcomes*false
outcome.maxThe maximum number of outcomes allowed10/api/v2/journey/outcomes*true
ping.rate.per.minuteThe maximum number of ping operations allowed per website per minute420000api/v2/journey/websites/{websiteId}/customers/{customerId}/pingfalse
segment.context.conditions.maxThe maximum number of context conditions allowed per segment15/api/v2/journey/segments*false
segment.event.conditions.criteria.maxThe maximum number of event attributes allowed per event condition per segment15/api/v2/journey/segments*false
segment.event.conditions.maxThe maximum number of event conditions allowed per segment10/api/v2/journey/segments*false
segment.maxThe maximum number of segments allowed500/api/v2/journey/segments*false
sessiontype.attributes.maxThe maximum number of attributes allowed per session type25/api/v2/journey/sessiontypes*false
sessiontype.attributes.projections.maxThe maximum number of projections allowed per attribute per session type50/api/v2/journey/sessiontype*false
sessiontype.eventtypes.maxThe maximum number of event types allowed per session type100/api/v2/journey/eventtypes*false
sessiontype.maxThe maximum number of session types allowed50/api/v2/journey/sessiontypes*false
settings.clickstream.alloweddomains.maxThe maximum number of approved domains allowed for clickstream settings50/api/v2/journey/settings/clickstreamfalse
settings.clickstream.excludedqueryparameters.maxThe maximum number of excluded query parameters allowed for clickstream settings50/api/v2/journey/settings/clickstreamfalse
settings.clickstream.ipaddressfilters.maxThe maximum number of IP address filters allowed for clickstream settings10/api/v2/journey/settings/clickstreamfalse
settings.clickstream.searchqueryparameters.maxThe maximum number of URL search parameters allowed for clickstream settings50/api/v2/journey/settings/clickstreamfalse
webevent.attributes.maxThe maximum number of custom attributes allowed per web event25false
webevent.per.sessionThe maximum number of web events allowed per session500false
website.rate.per.minuteThe maximum number of journey websites operations allowed per path per minute60api/v2/journey/websites/*false

Knowledge

Limits for knowledge services

Key
Description
Limit
Resource(s)
Configurable
article.kilobytes.maxMaximum size of article content i.e uploaded fileSize in kilobytes300false
articles.maxThe maximum number of articles in one knowledge base15000false
categories.children.maxThe maximum count of children subcategories under the category10false
categories.depth.maxThe maximum depth of category tree10false
categories.maxThe maximum number of categories in one knowledge base1000false
document.alternatives.maxThe maximum acceptable number of alternative questions for given document5false
documents.bulk.maxThe maximum number of documents that may be send in one bulk request50false
documents.maxThe maximum number of documents in one knowledge base15500false
faqs.maxThe maximum number of FAQs in one knowledge base500false
knowledgebase.megabytes.maxMax size per Knowledge base in megabytes1500false
knowledgebases.maxThe maximum number of knowledge bases in organization500false
uploads.per.dayMax number of uploads per organization in one day20true
uploads.per.monthMax number of uploads per organization in one month150true

Language Understanding

Key
Description
Limit
Resource(s)
Configurable
domain.version.intents.maxThe maximum number of intents per domain version for an organization50true
domain.version.training.rate.per.minuteThe maximum number of domain version training operations per token per minute20/api/v2/languageunderstanding/domains/{domainId}/versions/{domainVersionId}/trainfalse
domain.version.utterances.maxThe maximum number of utterances per domain version for an organization15000false
domain.versions.maxThe maximum number of domain versions for an organization99true
domains.maxThe maximum number of domains for an organization50true

Messaging

Key
Description
Limit
Resource(s)
Configurable
agentless.outbound.open.message.rate.per.minuteThe maximum number of agentless outbound open messages per organization per minute300api/v2/conversations/messages/agentlessfalse
agentless.outbound.whatsapp.message.rate.per.minuteThe maximum number of agentless outbound whatsapp messages per organization per minute300api/v2/conversations/messages/agentlessfalse
conversation.outbound.message.rate.per.minuteThe maximum number of conversation outbound meessages per organization per minute1200api/v2/conversations/messages/{conversationId}/communications/{communicationId}/messages,api/v2/textbots/bots/execute,/api/v2/textbots/botflows/sessions/{sessionId}/turns,api/v2/textbots/botflows/sessionsfalse
open.inbound.message.metadata.custom.attributes.bytes.maxThe maximum size in bytes of the message.channel.metadata.customAttributes field in the Open Inbound message2000api/v2/conversations/messages/inbound/open, api/v2/messaging/messages/inbound/opentrue
open.inbound.message.rate.per.minuteThe maximum number of inbound open messages per organization per minute300false
sms.outbound.international.long.code.rate.per.minuteThe maximum number of outbound SMS messages, per minute, an organization can send from each long code address to a non-US destination address within the overall limits allowed within an Org700api/v2/conversations/messages/agentless, api/v2/outbound/campaigns/{campaignId}false
sms.outbound.message.rate.per.minuteThe overall maximum number of outbound SMS messages, per minute, an organization can send from any address to any destination address. This provides an overall aggregate number of messages an organization can send regardless of from address type and to address destination. For example, given sms.outbound.message.rate.per.minute = 1200 and sms.outbound.us.long.code.rate.per.minute = 70, sending 70 messages per minute for 17 US long codes would fit within the default 1200 limit.1200api/v2/conversations/messages/agentless, api/v2/outbound/campaigns/{campaignId}true
sms.outbound.short.code.rate.per.minuteThe maximum number of outbound SMS messages, per minute, an organization can send from each short code address to any address, specific to the short code's country, within the overall limits allowed within an Org1200api/v2/conversations/messages/agentless, api/v2/outbound/campaigns/{campaignId}true
sms.outbound.toll.free.rate.per.minuteThe maximum number of outbound SMS messages, per minute, an organization can send from each toll free address to any destination address within the overall limits allowed within an Org180api/v2/conversations/messages/agentless, api/v2/outbound/campaigns/{campaignId}false
sms.outbound.us.long.code.rate.per.minuteThe maximum number of outbound SMS messages, per minute, an organization can send from each long code address to a US destination address within the overall limits allowed within an Org70api/v2/conversations/messages/agentless, api/v2/outbound/campaigns/{campaignId}false

Notifications

Key
Description
Limit
Resource(s)
Configurable
app.user.channels.maxThe maximum number of active channels per OAuth client per user.20false
channel.topics.maxThe maximum number of topic subscriptions per channel.1000false
notification.rate.per.minuteThe maximum number of notification operations per token per minute60api/v2/notifications/*false
websocket.rate.per.secondThe maximum number of bytes per second allowed on a WebSocket session300000false

Outbound

Key
Description
Limit
Resource(s)
Configurable
active.messaging.campaigns.maxThe maximum number of messaging campaigns that can be active at once25/api/v2/outbound/messagingcampaigns/*true
agent.owned.active.agents.maxThe maximum agents assigned to a queue associated with an agent owned campaign200true
bulk.get.contact.operationsThe maximum number of bulk outbound contact list operations per token per minute60api/v2/outbound/contactlists/{contactListId}/contacts/bulkfalse
contact.list.exports.operationsThe maximum number of bulk outbound contact list export operations per token per minute30api/v2/outbound/contactlists/{contactListId}/exportfalse
sms.international.long.code.messages.per.minuteThe maximum messages per minute allowed for an SMS campaign using an international long code600false
sms.messages.per.minuteThe maximum messages per minute allowed across all running SMS campaigns1200/api/v2/outbound/messagingcampaigns/*true
sms.short.code.messages.per.minuteThe maximum messages per minute allowed for an SMS campaign using a short code1200true

Platform API

Key
Description
Limit
Resource(s)
Configurable
client.credentials.token.rate.per.minuteThe maximum number of requests per client credentials grant token per minute300api/v2/*true
org.app.user.rate.per.minuteThe maximum number of requests per organization per OAuth client per user per minute3000api/v2/*false
request.bytes.maxThe maximum content length of a request payload3145728api/v2/*false
token.rate.per.minuteThe maximum number of requests per token per minute300api/v2/*false

System for Cross-domain Identity Management

Key
Description
Limit
Resource(s)
Configurable
group.members.maxThe maximum number of members allowed in a SCIM Group.500api/v2/scim/v2/groups/*true
request.rate.per.minuteThe maximum number of SCIM operations per token per minute200api/v2/scim/*false
update.operations.per.groupThe maximum number of SCIM Groups PUT or POST operations per token per GROUP per minute50api/v2/scim/v2/groups/*false

Speech And Text Analytics

Limits for Speech And Text Analytics services

Key
Description
Limit
Resource(s)
Configurable
program.transcriptionengine.dialects.maxThe maximum number of dialects permitted to be assigned to a transcription engine per program15false
sentiment.feedback.maxThe maximum number of Sentiment feedback statements for an organization.2000api/v2/speechandtextanalytics/sentimentfeedback/*false
sentiment.feedback.phrase.length.maxThe maximum number of characters permitted per phrase500false
sentiment.feedback.phrase.words.maxThe maximum number of words permitted per phrase20false
sentiment.feedback.phrase.words.minThe minimal number of words permitted per phrase3false

Telephony Configuration

Key
Description
Limit
Resource(s)
Configurable
numberplans.per.site.maxThe maximum number of number plans allowed per site200api/v2/telephony/providers/edges/sites/{siteId}/numberplansfalse

Web Deployments

Key
Description
Limit
Resource(s)
Configurable
configuration.journey.excludedqueryparameters.maxThe maximum number of excluded query parameters allowed for Journey settings in your organization.50api/v2/webdeployments/configurationsfalse
configuration.journey.searchqueryparameters.maxThe maximum number of URL search parameters allowed for Journey settings in your organization.50api/v2/webdeployments/configurationsfalse
configuration.maxThe maximum number of Configurations allowed in your organization.50api/v2/webdeployments/configurationsfalse
deployments.alloweddomains.maxThe maximum number of approved domains allowed in your organization.50api/v2/webdeployments/deploymentsfalse
deployments.maxThe maximum number of Deployments allowed in your organization.50api/v2/webdeployments/deploymentsfalse

Web Messaging

Key
Description
Limit
Resource(s)
Configurable
get.history.rate.per.minuteThe maximum number of get history requests per session per minute10api/v2/webmessaging/*messagestrue

Workforce Management

Key
Description
Limit
Resource(s)
Configurable
business.units.maxThe maximum number of business units allowed50true
forecasts.per.week.per.business.unit.maxThe maximum number of forecasts allowed per week per business unit50true
schedules.per.week.per.business.unit.maxThe maximum number of schedules allowed per week per business unit50true
users.get.business.units.rate.per.minuteThe default maximum number of requests to get business units per user per endpoint per minute120false
users.get.forecast.source.data.by.key.rate.per.minuteThe default maximum number of requests to get forecast source by key per user per endpoint per minute180false
users.get.management.units.rate.per.minuteThe default maximum number of requests to get management units per user per endpoint per minute120false
users.rate.per.minuteThe default maximum number of requests per user per endpoint per minute60false
users.sync.agent.details.rate.per.minuteThe default maximum number of requests to sync agent details per user per endpoint per minute5false
work.plan.rotations.per.management.unit.maxThe maximum number of work plan rotations allowed per management unit100true
work.plan.rotations.positions.maxThe maximum number of positions allowed per work plan rotation20true

Was this page helpful?👍👎