QuotaStatusSource
Describes the endpoint from which a token's current rate limit quota status can be fetched.
- type:
object - required:
["type","url"]
type
- Required: Yes
- type:
string - enum:
["QuotaStatusSource"]
url
The full URL of the quota status endpoint.
- Required: Yes
- type:
string - Available variables:
config
Examples:
https://api.github.com/rate_limit
{{ config.get('api_url', 'https://api.github.com') }}/rate_limit
http_method
The HTTP method used to fetch the quota status.
- Required: No
- type:
string - default:
GET - enum:
["GET","POST"]
request_headers
Additional headers to send with the quota status request.
-
Required: No
-
type:
object -
additionalProperties:
- type:
string
- type:
unavailable_status_codes
Status codes from the quota status endpoint that mean quota tracking is unavailable rather than broken, such as a self-hosted deployment with rate limiting turned off. Every pool of the token whose request returned that status is then treated as untracked, so the authenticator stops waiting for quota resets, stops throttling proactively and stops rotating on exhaustion for it, while still signing requests. A token untracked this way stays untracked for the rest of the sync, because the endpoint is never consulted for it again, so a status the endpoint can also return transiently costs quota tracking for the whole run. If only some tokens return that status the others stay tracked, but they are no longer refreshed either, because the authenticator stops waiting for quota resets as soon as one token is untracked; once their counters are locally spent all traffic moves onto the untracked tokens. Rate limiting reported by ordinary responses is still handled by the stream's error handler, so one that retries 429 or 403 keeps working, and a retry rotates onto the next token; it pays the backoff the response asks for rather than the shortened one a tracked pool would get, since an untracked pool has no counters with which to argue the rejection was about that credential. Any status not listed still fails the connection, and this field never excuses a quota path missing from a response the endpoint did answer, so list only the codes the endpoint uses to report that rate limiting is not enabled. Do not list authentication or authorization statuses, since a 401 or 403 from a revoked credential would then be read as quota tracking being unavailable rather than as a credentials failure.
- Required: No
- type:
array - uniqueItems:
true
Examples:
- 404
-
items:
- type:
integer
- type:
$parameters
- Required: No
- type:
object