navan-rate-limits

Featured

Implement adaptive rate-limiting for the Navan REST API with exponential backoff and request queuing. Use when building bulk data operations or encountering 429 errors from Navan. Trigger with "navan rate limits", "navan throttling", "navan 429".

AI & Automation 2,266 stars 315 forks Updated today MIT

Install

View on GitHub

Quality Score: 99/100

Stars 20%
100
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# Navan Rate Limits ## Overview Navan does not publicly document its API rate limits. Developers typically discover thresholds empirically when bulk data pulls or batch operations begin returning HTTP 429 responses. This skill implements defensive rate-limiting patterns that adapt to server responses rather than relying on fixed quotas — inspecting response headers, applying exponential backoff with jitter, and queuing requests to prevent flooding. ## Prerequisites - Active Navan OAuth 2.0 credentials (see `navan-install-auth`) - Node.js 18+ (examples use native fetch) - Understanding of HTTP 429 status code and Retry-After header semantics ## Instructions ### Step 1: Build an Adaptive Retry Wrapper ```typescript interface RetryOptions { maxRetries: number; baseDelayMs: number; maxDelayMs: number; } async function navanFetch( url: string, options: RequestInit, retry: RetryOptions = { maxRetries: 5, baseDelayMs: 1000, maxDelayMs: 30000 } ): Promise<Response> { let lastError: Error | null = null; for (let attempt = 0; attempt <= retry.maxRetries; attempt++) { const response = await fetch(url, options); // Log rate limit headers when present (undocumented but sometimes returned) const remaining = response.headers.get('X-RateLimit-Remaining'); const limit = response.headers.get('X-RateLimit-Limit'); if (remaining !== null) { console.log(`Rate limit: ${remaining}/${limit} remaining`); } if (response.status !== 429) return r...

Details

Author
jeremylongshore
Repository
jeremylongshore/claude-code-plugins-plus-skills
Created
7 months ago
Last Updated
today
Language
Python
License
MIT

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

AI & Automation Featured

navan-performance-tuning

Use when optimizing Navan API call patterns for high-volume integrations — caching, batching, connection pooling, and pagination strategies. Trigger with "navan performance tuning" or "navan api optimization" or "navan caching".

2,266 Updated today
jeremylongshore
AI & Automation Featured

navan-common-errors

Diagnose and fix common Navan API errors with targeted fix procedures. Use when an API call returns an unexpected HTTP error or when debugging production failures. Trigger with "navan error", "fix navan", "debug navan", "navan 401", "navan 403", "navan 429".

2,266 Updated today
jeremylongshore
AI & Automation Featured

navan-observability

Use when setting up monitoring, logging, and alerting for Navan API integrations in production environments. Trigger with "navan observability" or "navan monitoring" or "navan api dashboards".

2,266 Updated today
jeremylongshore
Data & Documents Featured

navan-data-handling

Extract and transform Navan booking and transaction data using pagination, filtering, and data pipeline connectors. Use when building data warehouses, analytics dashboards, or debugging data quality issues with Navan data. Trigger with "navan data handling", "navan data extraction", "navan pagination".

2,266 Updated today
jeremylongshore
AI & Automation Featured

navan-install-auth

Set up OAuth 2.0 authentication for the Navan REST API. Use when configuring a new Navan integration or rotating API credentials. Trigger with "install navan", "setup navan auth", "navan credentials", "navan oauth".

2,266 Updated today
jeremylongshore