Products API
To enable lane purchasing, you must provide an API that returns products for display on the lane UI.
Endpoint Requirements
We will query your API with a product type filter:
GET https://yourdomain.com/products?type=time
GET https://yourdomain.com/products?type=targets
GET https://yourdomain.com/products?type=ammo
GET https://yourdomain.com/products?type=rentals
We include a session-id header on each request so you can customize results per session or location.
Product Limits
| Type | Limit |
|---|---|
time | Exactly 1 product. Additional items are ignored. |
targets | Maximum 8 products |
ammo | Maximum 8 products |
rentals | Maximum 8 products |
Response Format
Unit-based Products (targets, ammo, rentals)
[
{
"id": "SOME-TARGET-ID",
"max_qty": 3,
"display_name": "Freddy Elm St",
"price": 2.00,
"picture_url": "https://yourdomain.com/image.webp"
}
]
Note: For unit products,
increment_byandmin_qtyare assumed to be 1.
Time Product
[
{
"id": "time",
"max_qty": 240,
"display_name": "Range Time",
"price": 15.25,
"min_qty": 15,
"increment_by": 15
}
]
| Field | Description |
|---|---|
id | Your product identifier |
max_qty | Maximum quantity a customer can purchase |
min_qty | Minimum quantity (time products only) |
increment_by | Quantity increment step (time products only) |
display_name | Name shown to customer |
price | Unit price |
picture_url | Product image URL (optional for time) |
Note: For time products,
max_qtyshould be divisible byincrement_by.
Image Guidelines
- Use lossy JPEG/WebP compression
- Keep file sizes under 96KB
- If images are unavailable, omit
picture_urlor return an empty string - Recommended aspect ratio: 1:1
- Minimum resolution: 512x512