From 4328718f62904ef9bf3e28d49325b599af128f3d Mon Sep 17 00:00:00 2001 From: Javier Cicchelli Date: Mon, 13 Oct 2025 15:00:24 +0200 Subject: [PATCH] Added the X-Discogs-RateLimiting headers to the existing endpoints for the Open API specification document in the library target. --- Sources/DiscogsService/openapi.yaml | 86 ++++++++++++++++++++++++++++- 1 file changed, 83 insertions(+), 3 deletions(-) diff --git a/Sources/DiscogsService/openapi.yaml b/Sources/DiscogsService/openapi.yaml index 3d1e82d4c..e387b62eb 100644 --- a/Sources/DiscogsService/openapi.yaml +++ b/Sources/DiscogsService/openapi.yaml @@ -253,6 +253,13 @@ paths: responses: '200': description: Service information returned successfully. + headers: + X-Discogs-RateLimit: + $ref: '#/components/headers/RateLimit' + X-Discogs-RateLimit-Used: + $ref: '#/components/headers/RateLimitUsed' + X-Discogs-RateLimit-Remaining: + $ref: '#/components/headers/RateLimitRemaining' content: application/json: schema: @@ -271,6 +278,13 @@ paths: responses: '200': description: Successfully retrieved artist details. + headers: + X-Discogs-RateLimit: + $ref: '#/components/headers/RateLimit' + X-Discogs-RateLimit-Used: + $ref: '#/components/headers/RateLimitUsed' + X-Discogs-RateLimit-Remaining: + $ref: '#/components/headers/RateLimitRemaining' content: application/json: schema: @@ -299,6 +313,12 @@ paths: headers: Link: $ref: '#/components/headers/Link' + X-Discogs-RateLimit: + $ref: '#/components/headers/RateLimit' + X-Discogs-RateLimit-Used: + $ref: '#/components/headers/RateLimitUsed' + X-Discogs-RateLimit-Remaining: + $ref: '#/components/headers/RateLimitRemaining' content: application/json: schema: @@ -324,6 +344,13 @@ paths: responses: '200': description: Successfully retrieved label details. + headers: + X-Discogs-RateLimit: + $ref: '#/components/headers/RateLimit' + X-Discogs-RateLimit-Used: + $ref: '#/components/headers/RateLimitUsed' + X-Discogs-RateLimit-Remaining: + $ref: '#/components/headers/RateLimitRemaining' content: application/json: schema: @@ -347,9 +374,15 @@ paths: responses: '200': description: A paginated list of the label's releases. - headers: - Link: - $ref: '#/components/headers/Link' + headers: + Link: + $ref: '#/components/headers/Link' + X-Discogs-RateLimit: + $ref: '#/components/headers/RateLimit' + X-Discogs-RateLimit-Used: + $ref: '#/components/headers/RateLimitUsed' + X-Discogs-RateLimit-Remaining: + $ref: '#/components/headers/RateLimitRemaining' content: application/json: schema: @@ -378,6 +411,13 @@ paths: responses: '200': description: Successfully retrieved master release details. + headers: + X-Discogs-RateLimit: + $ref: '#/components/headers/RateLimit' + X-Discogs-RateLimit-Used: + $ref: '#/components/headers/RateLimitUsed' + X-Discogs-RateLimit-Remaining: + $ref: '#/components/headers/RateLimitRemaining' content: application/json: schema: @@ -410,6 +450,12 @@ paths: headers: Link: $ref: '#/components/headers/Link' + X-Discogs-RateLimit: + $ref: '#/components/headers/RateLimit' + X-Discogs-RateLimit-Used: + $ref: '#/components/headers/RateLimitUsed' + X-Discogs-RateLimit-Remaining: + $ref: '#/components/headers/RateLimitRemaining' content: application/json: schema: @@ -436,6 +482,13 @@ paths: responses: '200': description: Successfully retrieved release details. + headers: + X-Discogs-RateLimit: + $ref: '#/components/headers/RateLimit' + X-Discogs-RateLimit-Used: + $ref: '#/components/headers/RateLimitUsed' + X-Discogs-RateLimit-Remaining: + $ref: '#/components/headers/RateLimitRemaining' content: application/json: schema: @@ -454,6 +507,13 @@ paths: responses: '200': description: Successfully retrieved release rating details. + headers: + X-Discogs-RateLimit: + $ref: '#/components/headers/RateLimit' + X-Discogs-RateLimit-Used: + $ref: '#/components/headers/RateLimitUsed' + X-Discogs-RateLimit-Remaining: + $ref: '#/components/headers/RateLimitRemaining' content: application/json: schema: @@ -473,6 +533,13 @@ paths: responses: '200': description: Successfully retrieved release rating details by a given user. + headers: + X-Discogs-RateLimit: + $ref: '#/components/headers/RateLimit' + X-Discogs-RateLimit-Used: + $ref: '#/components/headers/RateLimitUsed' + X-Discogs-RateLimit-Remaining: + $ref: '#/components/headers/RateLimitRemaining' content: application/json: schema: @@ -494,6 +561,13 @@ paths: Successfully retrieved release rating details by a given user. > warning: There is a discrepancy about this response between was is documented and what the endpoints actually responds. In the [documentation](https://www.discogs.com/developers#page:database,header:database-release-stats), it is defined that a type containing a statistical data would be returned but the actual response returns an object that contains a boolean flag instead. + headers: + X-Discogs-RateLimit: + $ref: '#/components/headers/RateLimit' + X-Discogs-RateLimit-Used: + $ref: '#/components/headers/RateLimitUsed' + X-Discogs-RateLimit-Remaining: + $ref: '#/components/headers/RateLimitRemaining' content: application/json: schema: @@ -628,6 +702,12 @@ paths: headers: Link: $ref: '#/components/headers/Link' + X-Discogs-RateLimit: + $ref: '#/components/headers/RateLimit' + X-Discogs-RateLimit-Used: + $ref: '#/components/headers/RateLimitUsed' + X-Discogs-RateLimit-Remaining: + $ref: '#/components/headers/RateLimitRemaining' content: application/json: schema: