diff --git a/src/content/docs/realtime/realtimekit/legal/index.mdx b/src/content/docs/realtime/realtimekit/legal/index.mdx index 559b122042c..a0a9c09ff20 100644 --- a/src/content/docs/realtime/realtimekit/legal/index.mdx +++ b/src/content/docs/realtime/realtimekit/legal/index.mdx @@ -4,7 +4,7 @@ title: Legal description: Privacy policy, terms of service, and third-party licenses for RealtimeKit. hideChildren: true sidebar: - order: 22 + order: 23 --- - [Privacy Policy](https://www.cloudflare.com/application/privacypolicy/) diff --git a/src/content/docs/realtime/realtimekit/limits.mdx b/src/content/docs/realtime/realtimekit/limits.mdx new file mode 100644 index 00000000000..7bf00982d80 --- /dev/null +++ b/src/content/docs/realtime/realtimekit/limits.mdx @@ -0,0 +1,45 @@ +--- +title: Limits +description: Review RealtimeKit API and SDK limits. +pcx_content_type: reference +sidebar: + order: 22 +products: + - realtime +--- + +RealtimeKit applies limits to API requests and SDK operations. Use these values when designing your application. + +## API rate limits + +RealtimeKit API requests count toward the global Cloudflare API limit, which +applies across all `api.cloudflare.com` API requests. Recording APIs are +subject to a separate limit. + +| API | Limit | +| -------------------- | ------------------------------- | +| All RealtimeKit APIs | 3,500 requests per five minutes | +| Recording APIs | 1,000 requests per 50 seconds | + +## SDK rate limits + +Each participant has a separate limit for SDK operations during an active session. +Limits are not shared across participants or applied to your app as a whole. For +example, in a two-participant meeting, each participant can send up to 180 text +messages per minute. + +| Operation | Limit | +| -------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | +| Write to a [Collaborative Store](/realtime/realtimekit/collaborative-stores/) (`set()`, `update()`, `delete()`, `bulkSet()`, `bulkDelete()`) | 5 invocations per second | +| Broadcast a message (`broadcastMessage()`) | 5 invocations per second | +| Send a text message (`sendTextMessage()`) | 180 invocations per minute | +| Send a message (`sendMessage()`) | 180 invocations per minute | +| Send an image (`sendImageMessage()`) | 20 invocations per minute | +| Send a file (`sendFileMessage()`) | 20 invocations per minute | +| Fetch connected meetings (`getConnectedMeetings()`) | 60 invocations per minute | +| Fetch meeting participants (`getAllJoinedPeers()`) | 10 invocations per minute | +| Update participant permissions (`updatePermissions()`) | 1,000 invocations per minute | + +## Data retention + +For the retention periods for recordings, chat, transcripts, analytics, and webhook logs, refer to [Data retention](/realtime/realtimekit/data-retention/).