specification: API Commons Rate Limits specificationVersion: '0.1' schema: https://raw.githubusercontent.com/api-evangelist/interface-research/main/schema/api-commons.yml#/$defs/RateLimits provider: Swapcard providerId: swapcard created: '2026-07-12' modified: '2026-07-12' reconciled: false tags: - Events - GraphQL - Rate Limiting - Quotas description: >- Swapcard's Content API applies a cost-based (query-complexity) rate limit rather than a simple requests-per-minute cap. Each request is assigned a point cost and accounts are limited by points consumed per minute. Additional structural guards cap query depth, aliases, tokens, directives, and request body size. Values below are documented on the Content API Limitations page; the Leads API documents its own limits separately (verify on its Limitations page). notes: >- Swapcard reserves the right to temporarily adjust limits per user to protect service and prevent abuse without advance notice. Cost weights: mutations 1,000 points, objects 2 points, scalars 1 point, with a 1.5x depth factor. sources: - https://swapcard.dev/content-api/limitations - https://swapcard.dev/leads-api/limitations responseCodes: throttled: 429 limits: - name: Points Per Minute scope: account metric: points limit: 60000 timeFrame: minute notes: Cost-based budget across all queries/mutations in a rolling minute. - name: Max Points Per Query scope: request metric: points limit: 10000 notes: A single query/mutation may not exceed 10,000 points of complexity. - name: Max Nesting Depth scope: request metric: levels limit: 20 notes: Up to 20 levels of nested objects per query. - name: Max Aliases scope: request metric: aliases limit: 50 notes: Up to 50 aliases per query. - name: Max Tokens scope: request metric: tokens limit: 2000 notes: Combined fields, arguments, and aliases capped at 2,000 tokens. - name: Max Directives scope: request metric: directives limit: 20 notes: Up to 20 directives per query. - name: Max Request Body Size scope: request metric: bytes limit: 1048576 notes: Request body may not exceed 1 megabyte. policies: - name: Cost-Based Budgeting description: Requests consume a point budget (mutations 1000, objects 2, scalars 1, depth factor 1.5x); throttling triggers when the per-minute budget is exhausted. - name: Dynamic Adjustment description: Swapcard may temporarily lower limits for an individual user to guarantee service and prevent abuse, without advance notification. - name: Backoff Strategy description: Clients should implement exponential backoff with jitter and honor 429 responses; keep queries shallow and request only needed fields to stay within the point budget. maintainers: - FN: Kin Lane email: kin@apievangelist.com