{"templateId":"api_docs","sharedDataIds":{"apiDocsStore":"api-docs-authorizer-api/openapi.yaml","sidebar":"sidebar-authorizer-api/sidebars.yaml"},"props":{"definitionId":"authorizer-api/openapi.yaml","settings":{"baseUrlPath":"/authorizer-api/openapi"},"disableAutoScroll":true,"seo":{"title":"Authorizer API"},"dynamicMarkdocComponents":[],"metadata":{"type":"openapi","title":"Authorizer API","version":"1.0.0","description":"The EchoSync Authorizer API is the authentication service for the EchoSync\nplatform. It validates your application credentials and issues OAuth 2.0\nBearer tokens that grant access to EchoSync APIs.\n\nNot every EchoSync API uses the Authorizer, and not every one requires a\nBearer token. The Carrier API requires a Bearer token from this service. The\nPricing API accepts either a Bearer token or Basic Authentication. The\nShipper API uses Basic Authentication only and does not use this service.\n\nWhere a Bearer token is required, send it in the `Authorization` header:\n```\nAuthorization: Bearer {your_token}\n```\n\n## Token Lifecycle\n\n> **Important**\n> **Reuse your token until it expires.** Do not request a new token on every API call. \n> Cache the token and use it for its full validity period. \n> Requesting new tokens repeatedly within the same validity window may trigger rate limiting.\n\n- Access tokens are valid for **86400 seconds** (24 hours) from the time they are issued.\n- The endpoint `/token` response includes:\n  - `expires_in` — token lifetime in **seconds** (used to determine when the token should be refreshed)\n  - `scope` — the permissions granted to the token, defining which APIs it can access\n- A `401 Unauthorized` response from any EchoSync API indicates the token is expired or invalid. \n  In this case, request a new token and retry the request.\n\n## Rate Limiting\n\nTo ensure fair usage, maintain service availability, and protect system performance, requests may be subject to rate limiting. \nWhen usage exceeds allowed thresholds, requests can be temporarily throttled or rejected until the limit window resets.\n"},"compilationErrors":[],"markdown":{"partials":{},"variables":{"rbac":{"teams":["anonymous"]},"user":{},"remoteAddr":{"hostname":"echo-api.redocly.app","port":4000,"ipAddress":"216.73.216.150"},"lang":"default_locale","env":{"PUBLIC_REDOCLY_BRANCH_NAME":"main"}}},"pagePropGetterError":{"message":"","name":""}},"slug":"/authorizer-api/openapi","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}