{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-@l10n/fr/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Rate Limits","llmstxt":{"hide":false,"sections":[{"title":"Table of contents","includeFiles":["**/*"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"rate-limits","__idx":0},"children":["Rate Limits"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Trace One APIs apply rate limits to ensure fair and stable usage of our platform. This guide explains how rate limiting works, how to detect it, and how to handle it gracefully in your applications."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"-token-based-rate-limiting","__idx":1},"children":["🔐 Token-Based Rate Limiting"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rate limits are enforced ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["per authentication token"]},". Currently, Trace One APIs support only the ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["OAuth2 Client Credentials flow"]},", and all limits are applied based on the client identity associated with the token."]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"-rate-limit-time-windows","__idx":2},"children":["🕒 Rate Limit Time Windows"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Rate limits may be defined across multiple time windows, such as:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["15-minute window"]}," – Short bursts of activity"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["1-hour window"]}," – Sustained usage over time"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["24-hour window"]}," – Overall daily API consumption"]}]},{"$$mdtype":"Tag","name":"blockquote","attributes":{},"children":[{"$$mdtype":"Tag","name":"p","attributes":{},"children":["⚠️ ",{"$$mdtype":"Tag","name":"strong","attributes":{},"children":["Note:"]}," Specific thresholds and limits are subject to change. Please refer to the latest documentation or your integration agreement for exact values."]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"-what-happens-when-you-exceed-a-limit","__idx":3},"children":["🔁 What Happens When You Exceed a Limit?"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["If a client exceeds the allowed rate for any time window, the API will respond with:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["429 Too Many Requests"]}," status code"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["A ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Retry-After"]}," header indicating how long to wait before retrying"]}]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["Example response:"]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"http","header":{"controls":{"copy":{}}},"source":"HTTP/1.1 429 Too Many Requests\nRetry-After: 120\nContent-Type: application/json\n","lang":"http"},"children":[]},{"$$mdtype":"Tag","name":"CodeBlock","attributes":{"data-language":"json","header":{"controls":{"copy":{}}},"source":"{\n  \"status\": 429,\n  \"title\": \"Too Many Requests\",\n  \"type\": \"https://tools.ietf.org/html/rfc6585#section-4\",\n  \"detail\": \"Rate limit exceeded. Please wait before retrying.\"\n}\n","lang":"json"},"children":[]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"-best-practices-for-handling-rate-limits","__idx":4},"children":["🧭 Best Practices for Handling Rate Limits"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To stay within rate limits and ensure smooth integration:"]},{"$$mdtype":"Tag","name":"ul","attributes":{},"children":[{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Implement exponential backoff or retry delays based on ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["Retry-After"]}]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Avoid unnecessary polling or high-frequency API calls"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Use caching where appropriate to reduce repeated requests"]},{"$$mdtype":"Tag","name":"li","attributes":{},"children":["Monitor your usage and error responses"]}]},{"$$mdtype":"Tag","name":"hr","attributes":{},"children":[]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["For any questions about rate limits or to request a higher quota, please contact ",{"$$mdtype":"Tag","name":"MarkdownLink","attributes":{"href":"mailto:devsupport@traceone.com"},"children":["devsupport@traceone.com"]},"."]}]},"headings":[{"value":"Rate Limits","id":"rate-limits","depth":1},{"value":"🔐 Token-Based Rate Limiting","id":"-token-based-rate-limiting","depth":2},{"value":"🕒 Rate Limit Time Windows","id":"-rate-limit-time-windows","depth":2},{"value":"🔁 What Happens When You Exceed a Limit?","id":"-what-happens-when-you-exceed-a-limit","depth":2},{"value":"🧭 Best Practices for Handling Rate Limits","id":"-best-practices-for-handling-rate-limits","depth":2}],"frontmatter":{"seo":{"title":"Rate Limits"}},"lastModified":"2026-06-19T11:16:46.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/fr/getting-started/rate-limits","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}