> ## Documentation Index
> Fetch the complete documentation index at: https://docs.useshipd.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Usage and limits

> Understand current usage, plan quotas, rate limits, and what happens when your plan changes.

## Overview

Use this page to understand what counts toward your plan, when usage resets, and what happens at a limit. Usage charts can lag behind enforcement; short-window rate limits are separate from your monthly allowance.

## View usage

Open **Settings → Usage** to see your organization's current resource counts, daily activity, monthly SDK requests, plan limits, and the next UTC reset date. Counts include activity from the dashboard, CLI, management API, SDK keys, and service accounts.

Usage charts can lag by about one minute plus the scheduled aggregation interval. Monthly limits apply even while the chart catches up.

## What is counted

| Usage | Definition |
| - | - |
| Projects, flags, environments, audiences, entities, and teams | Live, non-archived resources in the organization |
| Members | Active members with editor, admin, or owner access; viewers do not consume a seat |
| SDK requests | One organization-wide pool: configuration requests plus accepted event batches during the UTC calendar month |
| Configuration requests | Authenticated snapshot, stream-ticket, and identity-read requests admitted by the SDK service; a cached snapshot response still counts |
| Event requests | Accepted SDK event batches; one batch counts as one request regardless of event count |
| Dropped event batches | Batches discarded by sampling or the monthly limit; excluded from the pool |
| Snapshot requests | Successful attempts to fetch a published configuration snapshot |
| Evaluation events | Evaluation records accepted from SDK event batches |
| WebSocket connections | Accepted connection attempts and connected seconds |
| Peak connections | Highest observed concurrent WebSocket count in the period, not a sum |

Application logs, errors, latency, and infrastructure metrics are operational telemetry. They are not added to product usage or billing totals.

## Quotas and rate limits

A product quota is part of your plan, such as a maximum number of projects or monthly SDK requests. Creating a resource at its limit returns the stable error code `quota_exceeded`.

A rate limit protects service availability over a short window. It is separate from plan usage and returns `rate_limited`. Reducing request bursts does not increase a product quota.

## Shared monthly SDK allowance

| Plan | Pooled requests per UTC month |
| - | - |
| Free | 1,000,000 |
| Pro | 10,000,000 |
| Teams | 50,000,000 |
| Enterprise | Custom agreement (unlimited by default) |

The allowance is shared across all projects, environments, and SDK keys in your organization. Configuration and event requests have separate usage meters within that single pool. Local flag evaluations and WebSocket update messages do not consume additional SDK requests.

You can continue fetching configuration even beyond 100% usage. You must still stay within the short-window abuse rate limits.

| Pooled usage | Event ingestion behavior |
| - | - |
| Below 80% | You can ingest every valid batch |
| 80% to below 100% | You ingest a random 50% sample of your batches |
| 100% or higher | You cannot ingest batches until reset or an allowance increase |

You receive sampling decisions for whole batches, including evaluation and identify events. When sampling or the monthly limit drops your batch, you receive HTTP `202` with `accepted: 0`, a dropped event count, and `reason: "sampled"` or `"quota"`. Do not retry these batches. Read the `X-Shipd-Event-Sample-Rate` response header for the acceptance rate: `1`, `0.5`, or `0`. During sampling, you collect incomplete analytics, and you lose any identify updates in dropped batches because shipd does not persist them.

**Settings → Usage** shows the pooled total, separate configuration and event totals, dropped batches, and reset date. Notices appear at 70%, 80%, 90%, and 100%. These reports can lag behind enforcement by about one minute plus hourly aggregation. Monthly allowances also reset monthly on annual plans. No automatic overage charge is configured; upgrade or contact support if you need a larger pool.

## Plan changes

Upgrades allow new activity after the entitlement refresh reaches the relevant service. Downgrades prevent new resources or premium mutations that exceed the new plan, but do not delete existing resources or make existing configuration, audit history, or approval history unreadable. Plan and entitlement changes appear in the audit log.

## Retries, outages, and corrections

Retries of the same usage event do not increase your recorded total.

Usage recording is isolated from flag evaluation. If usage ingestion is temporarily unavailable, evaluation and snapshot delivery continue and queued events retry. Raw events are retained for 35 days; daily and monthly totals remain until the organization is deleted. Contact support if you need a usage correction, particularly for activity older than that 35-day window.

Related: [Control-plane API](/reference/control-plane-api) · [Edge API](/reference/edge-api) · [Errors](/reference/errors).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.