From 51b26a317f730f4e4759b57886fc8e9d3fd15911 Mon Sep 17 00:00:00 2001 From: Thomas Paulmyer Date: Tue, 8 Apr 2025 16:10:36 +0200 Subject: [PATCH 1/2] docs(personalization): add rate limit information for personalization API --- specs/personalization/spec.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/specs/personalization/spec.yml b/specs/personalization/spec.yml index 6069d691240..e4fc642e029 100644 --- a/specs/personalization/spec.yml +++ b/specs/personalization/spec.yml @@ -37,6 +37,18 @@ info: Successful responses return a `2xx` status. Client errors return a `4xx` status. Server errors are indicated by a `5xx` status. Error responses have a `message` property with more information. + ## Rate limiting + + When making requests to the Personalization API, you are limited to 40 API calls per second per application. + + The following headers provide information about your current limit: + + - `x-ratelimit-limit`: The number of requests allowed every second. + - `x-ratelimit-remaining`: The number of requests remaining in the current + second period. + - `x-ratelimit-reset`: [Unix timestamp](https://www.unixtimestamp.com/) of + the next time period. + ## Version The current version of the Personalization API is version 1, as indicated by the `/1/` in each endpoint's URL. From 326b12c326387970d85e54009b7199c00709d08c Mon Sep 17 00:00:00 2001 From: Thomas Paulmyer Date: Tue, 8 Apr 2025 17:16:41 +0200 Subject: [PATCH 2/2] feat: add rate limit headers description --- specs/personalization/paths/deleteUserProfile.yml | 7 +++++++ specs/personalization/paths/getUserTokenProfile.yml | 7 +++++++ specs/personalization/paths/personalizationStrategy.yml | 7 +++++++ 3 files changed, 21 insertions(+) diff --git a/specs/personalization/paths/deleteUserProfile.yml b/specs/personalization/paths/deleteUserProfile.yml index 109b74b346c..e05c96724b1 100644 --- a/specs/personalization/paths/deleteUserProfile.yml +++ b/specs/personalization/paths/deleteUserProfile.yml @@ -14,6 +14,13 @@ delete: responses: '200': description: OK + headers: + x-ratelimit-limit: + $ref: '../../common/responses/rateLimit.yml#/x-ratelimit-limit' + x-ratelimit-remaining: + $ref: '../../common/responses/rateLimit.yml#/x-ratelimit-remaining' + x-ratelimit-reset: + $ref: '../../common/responses/rateLimit.yml#/x-ratelimit-reset' content: application/json: schema: diff --git a/specs/personalization/paths/getUserTokenProfile.yml b/specs/personalization/paths/getUserTokenProfile.yml index ae9f45eceb3..0ee52c0c574 100644 --- a/specs/personalization/paths/getUserTokenProfile.yml +++ b/specs/personalization/paths/getUserTokenProfile.yml @@ -11,6 +11,13 @@ get: responses: '200': description: OK + headers: + x-ratelimit-limit: + $ref: '../../common/responses/rateLimit.yml#/x-ratelimit-limit' + x-ratelimit-remaining: + $ref: '../../common/responses/rateLimit.yml#/x-ratelimit-remaining' + x-ratelimit-reset: + $ref: '../../common/responses/rateLimit.yml#/x-ratelimit-reset' content: application/json: schema: diff --git a/specs/personalization/paths/personalizationStrategy.yml b/specs/personalization/paths/personalizationStrategy.yml index 14e5ed42eb8..f64fd044447 100644 --- a/specs/personalization/paths/personalizationStrategy.yml +++ b/specs/personalization/paths/personalizationStrategy.yml @@ -9,6 +9,13 @@ get: responses: '200': description: OK + headers: + x-ratelimit-limit: + $ref: '../../common/responses/rateLimit.yml#/x-ratelimit-limit' + x-ratelimit-remaining: + $ref: '../../common/responses/rateLimit.yml#/x-ratelimit-remaining' + x-ratelimit-reset: + $ref: '../../common/responses/rateLimit.yml#/x-ratelimit-reset' content: application/json: schema: