Channel Services limits
The table below lists several limits applying to Channel Services
|Account||1 per reseller domain|
|Channel Partner Links||Unlimited|
Google Workspace limits
|Maximum number of seats||50,000 (contact Support to increase)|
|Maximum trial duration||30 days (for applicable SKUs)|
Limits specific to Test Partner Sales Console
|Maximum number of seats||10|
|Maximum trial duration||1 day|
There are additional considerations when using a Test Partner Sales Console:
- Customers need to follow the test domain naming convention.
- Google Workspace entitlements are marked for deletion 3 days after creation, and deleted weekly.
Cloud Channel API rate limits
API rate limits define the number of requests that can be made to the Cloud Channel API. Limits exist on a per-project basis and all API requests, including invalid requests, incur a quota cost.
Rate limits are enforced at 60 second (1 minute) intervals. If you reach your limit within 60 seconds, you need to wait for your quotas to refresh to make more requests.
We have different quota buckets for different groups of endpoints. Quota usages in each bucket are evaluated independently. The following table lists the specific and default per-project Cloud Channel API quota limits, and the methods to which they apply.
|API Method||Limit (requests/minute)|
|all other endpoints||120|
If you need a higher rate limit for API requests, you can request an increase via the Google Cloud console.
Here are some best practices to help you with the API rate limits on Cloud Channel API.
Use a client-side rate limiter to set an artificial rate limit. This can keep one client from using all of your quotas.
Use exponential backoff to progressively space out requests once you reach your quota. This gives the server time to refill your buckets.
Follow polling recommendations described for all methods returning an Operation when calling
If you receive a 403 error with the message
rateLimitExceeded, wait a few seconds and try your request again. Quotas are refilled every 60 seconds, so your request should succeed after waiting for the next refresh.