Revvly
Docs
Reference

Limits and defaults.

Every number you can hit, grouped by area: the value, where it is enforced, and whether you can change it. Each row was read from the product, not estimated.

00How to read the tables

Workspace setting
An admin changes it in the dashboard.
Per key, per request
You choose it on the key or the call, inside the ceiling shown.
Platform configuration
Set by Revvly for the whole platform. A workspace admin cannot change it.
Fixed
Part of the product. It changes only with a release.

01API keys and request rates

A key is counted in fixed windows: one clock second and one clock minute. Either window can refuse a request, and the message names which one.

Ordinary key, per second
10
Enforced: Every request made with a key: REST, public GraphQL, MCP. Change: Per key, by a tenant admin in Settings, API Keys.
Ordinary key, per minute
100
Enforced: Same. Change: Per key, by a tenant admin in Settings, API Keys.
Support sign-in key, per second
50
Enforced: Keys that carry the support sign-in capability. Change: Per key, by a tenant admin in Settings, API Keys.
Support sign-in key, per minute
3,000
Enforced: Same. Change: Per key, by a tenant admin in Settings, API Keys.
Highest limit a key can be given
500 per second, 30,000 per minute
Enforced: When you save a key’s limits. Whole numbers of 1 or more, and the minute limit cannot be below the second limit. Change: Fixed.
MCP with sign-in instead of a key
10 per second, 300 per minute per person
Enforced: The MCP endpoint. Change: Platform configuration, not a workspace setting.
Dashboard and other requests
300 per minute per network address and signed-in user
Enforced: The shared request limiter. Change: Platform configuration, not a workspace setting.
Sign-in attempts
10 per minute per address, then blocked for 15 minutes
Enforced: The sign-in endpoints. Change: Platform configuration, not a workspace setting.
Public GraphQL query depth
8 levels, refused with QUERY_DEPTH_EXCEEDED
Enforced: Before the query runs. Change: Fixed.
Public GraphQL invoices on a client
Default 100, at most 1,000 per call
Enforced: The invoices field. Change: Per request, through the limit argument.

Over the limit, REST routes answer with a 429 and a Retry-After header in seconds. The public GraphQL API answers with the same status and the code RATE_LIMITED.

HTTP/1.1 429 Too Many Requests
Retry-After: 1

{
  "statusCode": 429,
  "message": "Rate limit exceeded (second window)",
  "retryAfterSeconds": 1
}
HTTP/1.1 429 Too Many Requests
Retry-After: 1

{ "errors": [ {
  "message": "Rate limit exceeded (second window)",
  "extensions": { "code": "RATE_LIMITED" }
} ] }

Wait for the Retry-After value, then retry with the same idempotency key. See API keys for integrators and Event ingestion.

02Product events

These apply to usage events sent to /api/v1/product-events, from your servers or, with a token, from a browser. See Send product events for the request shape.

Browser requests per person
10 per second, 300 per minute
Enforced: The browser route, counted per person, or per client when no person is named. Change: Platform configuration, not a workspace setting.
Event names per workspace
2,000 that are not ignored, 10,000 in all, ignored ones included
Enforced: When an event name arrives for the first time. Change: Fixed.
New event names from a browser
5 per request, and none while 100 wait to be organised
Enforced: The browser route only. Change: Fixed.
Product events kept
13 months from receipt
Enforced: Storage. Change: Fixed.
Mapping suggestions per run
15 events, and not the same event again within a week
Enforced: Suggest from documentation. Change: Fixed.
Sites allowed to send from a browser
Only those listed in Settings, Product events, Browser tracking
Enforced: The browser route. Change: Workspace setting, by an admin.

03Usage and event ingestion

Events per request
1,000
Enforced: POST /api/v1/events. More is refused with a 400. Change: Fixed.
Event timestamp, future
Not more than 15 minutes ahead of now
Enforced: Per event. A later one is rejected. Change: Fixed.
Event timestamp, past
Not more than 7 days old
Enforced: Per event. An older one is rejected as stale. Change: Fixed.
Duplicate event ids
Ignored for 24 hours in the fast check; a stored event also blocks a repeat id
Enforced: Per workspace, per eventId. Change: Fixed.
Items per usage batch
100
Enforced: The usage batch endpoint, which also requires an Idempotency-Key header. Change: Fixed.
Usage history page
Default 100, at most 1,000 entries
Enforced: The usage history endpoint. Change: Per request, through the limit parameter.
Raw usage events kept
90 days
Enforced: Storage. Change: Fixed.
Seal delay for a closed period
24 hours before a reading seals, checked hourly
Enforced: The usage period sweep. Change: Platform configuration, not a workspace setting.

04Outbound webhooks

Settings, Webhooks sends lead.created, lead.updated and lead.deleted to your web addresses. A webhook.test event is sent only by Send test event.

Endpoints per workspace
25
Enforced: When you add one. Change: Fixed.
Attempts per delivery
7 in total, first included
Enforced: The delivery sweep. Change: Fixed.
Wait before each retry
30 seconds, 2 minutes, 10 minutes, 1 hour, 6 hours, 12 hours
Enforced: The delivery sweep. Change: Fixed.
Answers that stop retrying
Any 4xx other than 408, 425 and 429, any redirect, and an address Revvly refuses to call. 5xx answers and network errors are retried
Enforced: The delivery sweep. Change: Fixed.
Receiver Retry-After
Honoured up to 6 hours
Enforced: The delivery sweep. Change: Fixed.
Switch-off after failures
25 failed deliveries in a row turn the endpoint off
Enforced: The endpoint. Change: Fixed.
Deliveries held for a switched-off endpoint
7 days, then given up
Enforced: The delivery sweep. Change: Fixed.
Pace
Checked every 5 seconds, at most 25 sends per endpoint per pass
Enforced: The delivery sweep. Change: Fixed.

05Forms

Field types
16: Short text, Long text, Formatted text, Email, Phone, Website, Number, Date, Single choice, Multiple choice, Dropdown, Consent checkbox, Hidden value, File upload, Heading, Paragraph
Enforced: The form builder. Change: Fixed.
Fields, actions, options
At most 100 fields, 20 actions, 100 options per field
Enforced: The form builder. Change: Fixed.
Text lengths
Label 500 characters, description 2,000, email body 20,000
Enforced: The form builder. Change: Fixed.
Honeypot
A text input named website. Any value is treated as a bot and answered with the normal success
Enforced: The public submit route. Change: Fixed.
Submissions per form, public
1,000 per UTC day
Enforced: Link, embed and your own site. Change: Fixed.
Submissions per form, API
10,000 per UTC day, a separate budget
Enforced: The submitForm mutation and the API route. Change: Fixed.
Public form view
120 per minute per visitor
Enforced: GET /api/v1/forms/{publicId}. Change: Platform configuration, not a workspace setting.
Public submit and upload
30 per minute per visitor
Enforced: The submit and upload routes. Change: Platform configuration, not a workspace setting.
Upload slots per form
3,000 per UTC day
Enforced: The upload route. Change: Fixed.
Files per upload field
1 to 5, at most 30 MB each
Enforced: The form builder and the upload route. Change: Per field, within those ceilings.
Upload link life
15 minutes. An unclaimed upload is cleaned up after 24 hours
Enforced: Storage. Change: Fixed.
Retries of one action step
5 attempts
Enforced: The form action runner. Change: Fixed.
Submission export
The newest 10,000 rows
Enforced: Export to CSV. Change: Fixed.

06Files and attachments

Document library file
100 MB
Enforced: Upload to Library. Change: Fixed.
Library file attached to an email
10 MB. Larger files go as a link
Enforced: The composer. Change: Fixed.
Library name, description, tags
120 characters, 500 characters, 20 tags of 40 characters
Enforced: Library. Change: Fixed.
Library list
The 500 most recently updated documents
Enforced: Library. Change: Fixed.
Document links per email
5
Enforced: The composer. Change: Fixed.
Document link life
Default 180 days, at most 730
Enforced: When you send. Change: Per link, within the ceiling.
Email attachments
5 files, 10 MB each, 20 MB in total
Enforced: The composer and the server. Change: Fixed.
Email recipients
50 each in To, Cc and Bcc
Enforced: Send. Change: Fixed.
Support attachment
20 MB per file, 10 files per message
Enforced: Support replies and the chat upload. Change: Fixed.
Library upload link life
1 hour. An unclaimed upload is cleaned up after 24 hours
Enforced: Storage. Change: Fixed.

07Email tracking

Open cooldown
15 minutes per recipient: repeat loads inside it count as one open
Enforced: Open tracking. Change: Fixed.
Document view cooldown
15 minutes per link and viewer
Enforced: Shared document links. Change: Fixed.
Opens shown per email
Up to 500
Enforced: The email detail. Change: Fixed.
Open events kept
1 year
Enforced: Storage. Change: Fixed.
Document view events kept
1 year
Enforced: Storage. Change: Fixed.
Document view alerts
The sender is told about a link’s first 5 counted views
Enforced: Shared document links. Change: Fixed.
Stored email body text
24 months by default
Enforced: Email storage. Change: Platform configuration, not a workspace setting.

08Support

AI resolution list price
0.35 USD per resolution
Enforced: Billing of AI resolutions. Change: Platform configuration, not a workspace setting.
Assumed resolution
An AI answer the customer leaves unanswered for 24 hours, unless a person acted. Tickets older than 14 days are not back-filled
Enforced: The 5-minute billing sweep. Change: Fixed.
Daily AI spend cap
No cap until you set one. 0 to 100,000 USD per day
Enforced: Settings, Support, General. Change: Workspace setting.
Support sandbox cap
2 USD per day
Enforced: The sandbox. Change: Fixed.
Auto-close
Waiting tickets close after 48 hours without a client reply by default. 1 to 720 hours, or off
Enforced: Settings, Support, General. Change: Workspace setting.
Email to clients who are away
Default 5 minutes unread. 1 to 1,440
Enforced: Settings, Support, General. Change: Workspace setting.
Knowledge articles per push
50 per call. Deleting takes up to 200 externalIds per call
Enforced: The knowledge API. Change: Fixed.
End-user token
Valid 60 seconds to 1 hour, 1 hour by default
Enforced: The support sign-in mutation. Change: Per request, through ttlSeconds, within the range.
Chat API, per person
10 per second, 120 per minute
Enforced: The Support chat API. Change: Platform configuration, not a workspace setting.
Chat API, per workspace
200 per second, 6,000 per minute
Enforced: The Support chat API. Change: Platform configuration, not a workspace setting.
Chat uploads, per person
2 per second, 20 per minute, in addition to the chat limit
Enforced: The Support chat upload route. Change: Platform configuration, not a workspace setting.
Chat query depth
8 levels
Enforced: The Support chat API. Change: Fixed.

09Revvly Assistant

Proposal expiry
15 minutes. An unanswered confirmation card expires and nothing runs
Enforced: Confirmation cards. Change: Fixed.
Message length
4,000 characters
Enforced: Sending a message. Change: Fixed.
Attachments
4 per message, 20 per conversation, 22 MB in total
Enforced: Sending a message. Change: Fixed.
Per attachment
About 3.75 MB for an image, 20 MB for a PDF, 256 KB for text, 512 KB of text across a conversation
Enforced: Sending a message. Change: Fixed.
Tool steps per reply
8 rounds, then it answers in text
Enforced: The assistant loop. Change: Fixed.
Model
claude-sonnet-5-5 unless the platform overrides it
Enforced: The assistant. Change: Platform configuration, not a workspace setting.

10Tasks and list sizes

Tasks list page
50 tasks, then Load more
Enforced: The Tasks page. Change: Fixed.
Work queue
100 per page, up to 10 pages (1,000 tasks), then it says the list is incomplete
Enforced: The Work queue. Change: Fixed.
Account tasks panel
The first 50 open tasks
Enforced: The Work queue account column. Change: Fixed.
Client Tasks tab
The first 100 tasks
Enforced: A client or company. Change: Fixed.
Task relation picker
200 companies and 200 contacts at a time; search reaches the rest of the companies
Enforced: New task. Change: Fixed.
Follow-up delay
Default 3 business days, 1 to 90
Enforced: The composer, and Account, Email follow-up. Change: Per person and per send.
Snooze
1 to 365 days. Undo window 6 seconds
Enforced: The Work queue. Change: Fixed.
Task reminders
Swept every minute. Nothing is sent to a person
Enforced: The reminder job. Change: Platform configuration, not a workspace setting.
Repeating tasks
Next task created by a sweep every 30 minutes
Enforced: The recurrence job. Change: Platform configuration, not a workspace setting.
Notification feed
Items kept 90 days
Enforced: The bell. Change: Fixed.

11Sessions and tokens

Dashboard access token
15 minutes
Enforced: Sign-in. Change: Platform configuration, not a workspace setting.
Sign-in session
7 days
Enforced: Sign-in. Change: Platform configuration, not a workspace setting.

12Workspace defaults

Where a setting has a screen, it is on Settings, General unless noted.

Default payment terms
30 days, 1 to 365, or due on receipt
Enforced: New invoices. Change: Workspace setting; a client or invoice can override.
Churn grace period
30 days, 1 to 365
Enforced: Analytics. Change: Workspace setting.
Reactivation window
90 days, never below the churn grace period
Enforced: Analytics. Change: Stored per workspace; no screen yet.
Renewal invoice lead time
0 days for monthly, quarterly and yearly, up to 365
Enforced: Renewal invoicing. Change: Workspace setting; a client can override.
Prepaid-term commitment
Binding
Enforced: New prepaid-term schedules. Change: Stored per workspace; no screen yet.
Deferred-activation gap
60 days
Enforced: The daily schedule sweep. Change: Stored per workspace; no screen yet.
Working days
Monday to Friday, in the workspace timezone (UTC by default)
Enforced: Business-day counts. Change: Workspace setting, tenant admins only.
Booking intake daily limit
100 companies per UTC day, at most 10,000
Enforced: Settings, Booking intake. Change: Workspace setting, tenant admins only.

13Scheduled windows

Daily jobs run on the platform clock. They are not workspace settings.

Overdue detection, daily snapshots
1:00 and 2:00
Enforced: Invoices and analytics. Change: Platform configuration, not a workspace setting.
Exchange rates
2:00
Enforced: Reporting currency conversion. Change: Platform configuration, not a workspace setting.
Renewals
6:00
Enforced: Renewal invoicing. Change: Platform configuration, not a workspace setting.
Usage periods closed
4:00
Enforced: Metered usage. Change: Platform configuration, not a workspace setting.
Payment reminders
9:00
Enforced: Skipped when Automatically send emails is off. Change: Platform configuration, not a workspace setting.
Support auto-close
Every 5 minutes
Enforced: Support. Change: Platform configuration, not a workspace setting.