Skip to main content

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​

TypeLimit
timeExactly 1 product. Additional items are ignored.
targetsMaximum 8 products
ammoMaximum 8 products
rentalsMaximum 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_by and min_qty are assumed to be 1.

Time Product​

[
{
"id": "time",
"max_qty": 240,
"display_name": "Range Time",
"price": 15.25,
"min_qty": 15,
"increment_by": 15
}
]
FieldDescription
idYour product identifier
max_qtyMaximum quantity a customer can purchase
min_qtyMinimum quantity (time products only)
increment_byQuantity increment step (time products only)
display_nameName shown to customer
priceUnit price
picture_urlProduct image URL (optional for time)

Note: For time products, max_qty should be divisible by increment_by.


Image Guidelines​

  • Use lossy JPEG/WebP compression
  • Keep file sizes under 96KB
  • If images are unavailable, omit picture_url or return an empty string
  • Recommended aspect ratio: 1:1
  • Minimum resolution: 512x512