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: Agave providerId: agave created: '2026-05-04' modified: '2026-08-30' generated: '2026-08-30' method: searched source: https://docs.agaveapi.com/agave-api/rate-limits docs: - https://docs.agaveapi.com/agave-api/rate-limits - https://docs.agaveapi.com/agave-api/headers reconciled: true tags: - Accounting - Construction - Integration - Rate Limiting description: >- Agave publishes numeric rate limits and returns runtime rate-limit headers. This artifact replaces an earlier generated one that stated "Agave does not publish numeric rate limits" — that was wrong: https://docs.agaveapi.com/agave-api/rate-limits has carried both an Agave-imposed ceiling and a per-source-system table. Agave layers its own limits on top of each connected source system's, and surfaces BOTH in the response headers, which is the useful part for an agent: a caller can read its remaining Agave budget and its remaining Procore/QuickBooks/Intacct budget from the same response. limit_count: 4 responseCodes: throttled: 429 serviceUnavailable: 503 headers: - name: Agave-RateLimit-Total description: The number of requests allowed in a 60-second window. - name: Agave-RateLimit-Remaining description: The number of requests remaining in the 60-second window before a 429 is returned. - name: '{SourceSystem}-RateLimit-Total' description: >- Total requests allowed against the underlying source system until its limits reset (typically 60 seconds). Example observed in the docs - Procore-RateLimit-Total. - name: '{SourceSystem}-RateLimit-Remaining' description: Remaining requests against the source system until its limits reset. - name: '{SourceSystem}-RateLimit-ResetsAtTimestamp' description: UNIX timestamp at which the source-system rate limits reset. retry_after_header: false retry_after_note: >- Agave does not document a Retry-After header. The documented client guidance is exponential backoff on 429. limits: - name: Agave per-linked-account request rate scope: linked-account window: 60s limit: 150 unit: requests metric: requests per minute per Linked Account applies_to: all source systems source: https://docs.agaveapi.com/agave-api/rate-limits - name: Agave global concurrency scope: client limit: 15 unit: concurrent requests metric: concurrent requests across all Linked Accounts applies_to: >- Foundation, QuickBooks Desktop, Sage 100 Contractor, Sage 300 CRE, Viewpoint Spectrum, Viewpoint Vista source: https://docs.agaveapi.com/agave-api/rate-limits - name: Agave per-linked-account concurrency scope: linked-account limit: 10 unit: concurrent requests metric: concurrent requests per Linked Account applies_to: >- Foundation, QuickBooks Desktop, Sage 100 Contractor, Sage 300 CRE, Viewpoint Spectrum, Viewpoint Vista source: https://docs.agaveapi.com/agave-api/rate-limits - name: Serial-execution source systems scope: linked-account limit: 5 unit: queued requests metric: >- Requests are processed serially with a 90-second maximum execution time and a maximum of 5 queued requests applies_to: QuickBooks Desktop, Sage 100 Contractor, Sage 300 CRE source: https://docs.agaveapi.com/agave-api/rate-limits source_system_limits: - system: Acumatica limit: Varies by plan (License Monitoring Console) - system: Autodesk Build / BIM 360 limit: 50-1000 requests per minute depending on endpoint - system: CMiC limit: Not published by CMiC; defaults to Agave's 150/min per linked account - system: Foundation limit: Not applicable; defaults to Agave's 150/min per linked account concurrency: 10 per linked account / 15 total - system: Procore limit: 3,600 requests per hour, per user - system: QuickBooks Online limit: 500 requests per minute and 10 concurrent requests, per linked account - system: QuickBooks Desktop limit: Serial execution, 90s max execution, max 5 queued concurrency: 10 per linked account / 15 total - system: Sage 100 Contractor limit: Serial execution, 90s max execution, max 5 queued concurrency: 10 per linked account / 15 total - system: Sage 300 CRE limit: Serial execution, 90s max execution, max 5 queued concurrency: 10 per linked account / 15 total - system: Sage Intacct limit: 900 requests per 18 seconds (1,800 per minute) - system: Viewpoint Spectrum limit: 10,000 write requests per day concurrency: 10 per linked account / 15 total - system: Viewpoint Vista limit: Not applicable; defaults to Agave's 150/min per linked account concurrency: 10 per linked account / 15 total introspection: endpoint: /rate-limits description: >- Agave documents a rate limits endpoint that returns the CURRENT rate limits of a Linked Account, so a client can read its budget rather than infer it. source: https://docs.agaveapi.com/agave-api/rate-limits policies: - name: Exponential backoff description: >- Agave's published guidance - "We recommend adding an exponential backoff to your requests to ensure retry requests do not get rate-limited." maintainers: - FN: Kin Lane email: kin@apievangelist.com