Security and Rate Limits
Authentication for API Endpoints
All endpoints of the APIs require an X-API-Key
in the header. This API key will be provided to you by Jay. Please contact our support team to obtain your API key.
Example: Playout API Request with X-API-Key
curl -X GET "https://api.jayplatform.com/playout" \
-H "X-API-Key: your_api_key_here"
Basket API Authentication
All endpoints are protected with a standard Authentication Bearer JWT token. We provide two mechanisms for authentication:
1. Partner-Provided JWT Token
A JWT token provided through a identity provider of the streaming platform. The API server needs to be able to verify the signature of the JWT token with the identity provider.
This allows comfort functions like:
- A customer ID - to prevent users from re-entering their data multiple times.
- A payment token - to enable checkout with a single click.
Requirements:
- The JWT token must be validated on the partner's side.
- The user ID must be specified in the
sub
field of the payload. - Optionally, a static issuer can be specified in the
iss
field of the payload. - Optionally, a static audience can be specified in the
aud
field of the payload.
Example: Basket API Request with Partner-Provided JWT Token
curl -X POST "https://api.jayplatform.com/basket/add" \
-H "X-API-Key: your_api_key_here" \
-H "Authorization: Bearer your_jwt_token_here" \
-H "Content-Type: application/json" \
-d '{
"productId": "12345",
"quantity": 1
}'
2. Guest User JWT Token
A JWT token and a user ID are generated on an endpoint in the Basket API for guest users. In such cases, the basket has some limitations:
- The basket is a fresh one (filled only with the products specified).
- No comfort functions are available.
- The JWT token expires after 30 days.
Example: Generate Guest User JWT Token
curl -X POST "https://api.jayplatform.com/basket/guest-token" \
-H "X-API-Key: your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"userId": "guest_user_123"
}'
Example: Basket API Request with Guest User JWT Token
curl -X POST "https://api.jayplatform.com/basket/add" \
-H "X-API-Key: your_api_key_here" \
-H "Authorization: Bearer guest_jwt_token_here" \
-H "Content-Type: application/json" \
-d '{
"productId": "67890",
"quantity": 2
}'
Rate Limits
The Playout and Basket API has a rate limit of requests per minute per user. This is to ensure fair usage and prevent abuse of the API. If you exceed this limit, you will receive a 429: Too Many Requests
response.