List Available Lotteries
GET /v1/lotteries/availableReturns a paginated list of all active lotteries. Use this to display available lotteries to your users or to find lottery slugs for entering users.
Authentication
Section titled “Authentication”| Header | Required | Value |
|---|---|---|
X-API-Secret | Yes | Your secret key |
Query Parameters
Section titled “Query Parameters”| Parameter | Type | Default | Description |
|---|---|---|---|
page | integer | 1 | Page number |
limit | integer | 20 | Results per page (max 100) |
Request Examples
Section titled “Request Examples”curl -X GET "https://api.gamifyhost.com/v1/lotteries/available?page=1&limit=10" \ -H "X-API-Secret: sk_live_your_secret_key"const response = await fetch( 'https://api.gamifyhost.com/v1/lotteries/available?page=1&limit=10', { headers: { 'X-API-Secret': 'sk_live_your_secret_key', }, });
const { data, total, page, limit } = await response.json();console.log(`Found ${total} active lotteries`);data.forEach(lottery => { console.log(`${lottery.name} (${lottery.slug}) — ${lottery.drawFrequency}`);});import requests
response = requests.get( "https://api.gamifyhost.com/v1/lotteries/available", headers={"X-API-Secret": "sk_live_your_secret_key"}, params={"page": 1, "limit": 10},)
result = response.json()for lottery in result["data"]: print(f"{lottery['name']} ({lottery['slug']}) — {lottery['drawFrequency']}")req, _ := http.NewRequest("GET", "https://api.gamifyhost.com/v1/lotteries/available?page=1&limit=10", nil)req.Header.Set("X-API-Secret", "sk_live_your_secret_key")
resp, err := http.DefaultClient.Do(req)if err != nil { log.Fatal(err)}defer resp.Body.Close()
var result map[string]interface{}json.NewDecoder(resp.Body).Decode(&result)fmt.Printf("Found %v active lotteries\n", result["total"])$ch = curl_init('https://api.gamifyhost.com/v1/lotteries/available?page=1&limit=10');curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => [ 'X-API-Secret: sk_live_your_secret_key', ],]);
$response = curl_exec($ch);curl_close($ch);
$data = json_decode($response, true);echo "Found {$data['total']} active lotteries\n";import 'dart:convert';import 'package:http/http.dart' as http;
final response = await http.get( Uri.parse('https://api.gamifyhost.com/v1/lotteries/available?page=1&limit=10'), headers: {'X-API-Secret': 'sk_live_your_secret_key'},);
final result = jsonDecode(response.body);print('Found ${result['total']} active lotteries');Response
Section titled “Response”Status: 200 OK
{ "status": "success", "data": [ { "id": "f47ac10b-58cc-4372-a567-0e02b2c3d479", "partnerId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890", "name": "Mega Millions Weekly", "slug": "mega-millions-weekly", "description": "Weekly jackpot draw with 6 main numbers and 1 bonus ball", "lotteryType": "STANDARD_DRAW", "status": "ACTIVE", "primaryColor": "#6366f1", "logoUrl": "https://example.com/logo.png", "drawFrequency": "WEEKLY", "requiresTicketPurchase": true, "ticketPriceUsdCents": 500, "currency": "USD", "maxTicketsPerUser": 10, "totalTicketsSold": 15420, "totalDrawsHeld": 12, "nextDrawAt": "2026-03-12T20:00:00Z", "createdAt": "2026-01-01T00:00:00Z", "updatedAt": "2026-03-05T10:30:00Z" } ], "total": 5, "page": 1, "limit": 10}Response Fields
Section titled “Response Fields”| Field | Type | Description |
|---|---|---|
data | array | List of active lottery objects |
total | integer | Total number of active lotteries |
page | integer | Current page number |
limit | integer | Results per page |
Lottery Object
Section titled “Lottery Object”| Field | Type | Description |
|---|---|---|
id | string | Lottery UUID |
name | string | Display name |
slug | string | Unique slug — use this when entering users |
description | string | Lottery description |
lotteryType | string | One of: STANDARD_DRAW, SKILL_LUCK, POPULATION_BASED, CHARITY_NATION, GLOBAL_CIVIC |
status | string | Always ACTIVE in this endpoint |
drawFrequency | string | DAILY, WEEKLY, MONTHLY, or CUSTOM |
requiresTicketPurchase | boolean | Whether entry requires payment |
ticketPriceUsdCents | integer | Ticket price in cents (0 if free) |
currency | string | Price currency code |
maxTicketsPerUser | integer | Max tickets allowed per user per draw |
totalTicketsSold | integer | Lifetime tickets sold |
totalDrawsHeld | integer | Number of completed draws |
nextDrawAt | string | ISO 8601 timestamp of next scheduled draw |