Images
Description
This section covers the image routing functionality within the API, detailing how to access images, the parameters required, and the access controls in place.
Reachable URLs
This section describes the routes available for accessing images through the API. All routes are versioned dynamically using placeholders like /{version}
or explicitly specified versions like /2024-06-05/
. The public endpoints follow the format:
- Base URL:
https://api.prodb.eslgaming.com/
Image Routes
Route: /{version}/images/{imageId}/{resolution}
Description: Alternative versioned route to retrieve the URL of an image based on its ID and resolution, using a specific version of the API.
- Parameters:
- version (String): API version used to access the image endpoint, more deeply described in API Versioning Documentation.
- imageId (String): Unique identifier of the image, corresponding to the
id
field of the Image GraphQL Type. This ID uniquely identifies the image within the system. - resolution (String): Desired resolution. Refer to the
resolutions
field in the Image GraphQL Type for the exact resolutions available for a specific image.
Example URL:
https://api.prodb.eslgaming.com/2024-06-05/images/0f1237f8-cdfe-4526-96dd-2adf7d6c9f18/THUMB`
Key Information
Rate Limiting Effects
Image access is subject to rate limiting, which imposes temporary blocks when limits are exceeded. Access is automatically resumed once the quota refills, typically every few seconds, ensuring fair usage among all customers.
Image URL Access
The API provides a link to the image, not the image itself. When accessing the image route, a redirection occurs, leading to the separate actual image location.
Real-Case Redirection Example
-
Initial Request:
GET https://api.prodb.eslgaming.com/2024-06-05/images/6389fd40-d1b3-4bd3-9a64-6ede7e24bd38/THUMB
- Request Method: GET
- Status Code: 302 Found
-
Response Header (Location):
The server responds with a 302 status code and a
Location
header pointing to the actual image URL. This URL is a temporary link to the image stored on cloud storage and includes security tokens.Example Location Header Value:
Location: https://eds-production-prodb-fixturedata-euw1.s3.eu-west-1.amazonaws.com/images/584b8e66-c99f-4d15-845f-7582aedaed4b?X-Amz-Security-Token=IQoJb3JpZ2...zUoLN0CRc....3D&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20240913T105505Z&X-Amz-SignedHeaders=host&X-Amz-Credential=ASI...913%2Feu-west-1%2Fs3%2Faws4_request&X-Amz-Expires=600&X-Amz-Signature=c4917c...8f102
-
Accessing the Real Image URL:
The customer must follow the redirected URL to view or download the image. This URL may have an expiration time, and access tokens are included for security.
Authentication and IP Whitelisting
Access to image routes requires valid authentication tokens and is restricted to requests originating from whitelisted IP addresses. Ensure your requests meet these criteria to avoid access issues.
For more information on authentication, token management and rate limiting, see:
Error Handling and Response Codes
Scenario | Status Code | Description |
---|---|---|
Image URL is present | 302 | Image found, redirect to image URL. |
Image URL is not present | 404 | Image found, but URL is empty. |
Image is not present | 404 | No image found with the given ID and resolution. |
Image URL is invalid | 500 | Invalid URL format; check the URL correctness. |
Internal error | 500 | Internal server error due to gRPC service failure. |
Rate limit exceeded | 429 | Too many requests; wait before retrying. |
Unauthorized due to IP restriction | 403 | IP not allowed; access restricted by IP whitelisting. |
Authentication required but not provided or invalid token | 401 | Authentication failed; valid token required. |
Practical Usage Examples
Example 1: Accessing an Image URL
GET https://api.prodb.eslgaming.com/2024-06-05/images/0f1237f8-cdfe-4526-96dd-2adf7d6c9f18/THUMB
Response headers:
Status Code: 302 Found
Location: https://eds-production-prodb-fixturedata-euw1.s3.eu-west-1.amazonaws.com/images/0f1237f8-cdfe-4526-96dd-2adf7d6c9f18?X-Amz-Security-Token=...
Example 2: Accessing an Image with Multiple Resolutions
GET https://api.prodb.eslgaming.com/2024-06-05/images/ac9533c1-821d-4f1d-b8e0-4035577b95f9/400x400
Response headers:
Status Code: 302 Found
Location: https://eds-production-prodb-fixturedata-euw1.s3.eu-west-1.amazonaws.com/images/ac9533c1-821d-4f1d-b8e0-4035577b95f9?X-Amz-Security-Token=...
Example 3: Rate Limit Response
GET https://api.prodb.eslgaming.com/2024-06-05/images/cd448f9e-265f-434f-99f4-bfd628d48db5/ORIGINAL
Response header:
Status Code: 429 Too Many Requests
Response body:
Too Many Requests. Please wait before retrying.
Known Issues
No currently known issues.