Concepts

Usage Limits

Per-user Flywheel write limits and how to handle rate-limit responses.

Flywheel limits high-volume writes per user so one runaway job cannot degrade the service for everyone else.

Current Write Limits

Write typeLimitCounts toward it
Node creation120 per minuteCreating a new node or branching a node
Node creation2,000 per 24 hoursCreating a new node or branching a node
Graph writes120 per minuteEditing, deleting, merging, tagging, sharing, edge changes
Graph writes2,000 per 24 hoursEditing, deleting, merging, tagging, sharing, edge changes
Artifact changes120 per minuteFinalizing artifacts, deleting artifacts, editing notes

Artifact changes count as graph writes. Hook runs created after artifact finalization do not have a separate user-facing quota.

Examples

Creating 100 nodes in one minute is within the node creation limit. Creating 130 nodes in one minute can return a rate-limit response. Creating 2,500 nodes over one day can also return a rate-limit response even if each minute stays under 120 creates.

Editing 80 existing nodes and finalizing 30 artifact batches in one minute is 110 graph writes. That is within the graph-write limit. Doing 130 such writes in one minute can return a rate-limit response. Doing 2,500 graph writes over one day can also return a rate-limit response even if each minute stays under 120 graph writes.

Handling A Limit

When a write is limited, Flywheel returns HTTP 429 with a Retry-After header. The response body includes:

  • scope: node_create or graph_write
  • period: minute or 24h
  • limit: the matching limit
  • retry_after_seconds: how long to wait before retrying

Clients and scripts should wait for Retry-After, then retry the same idempotent request. For large imports or generated graph work, pace writes in small batches instead of sending thousands of writes at once.