Skip to main content

Overview

List multipliers across the system with multi-dimensional filtering. Supports filtering by lottery, kind, active status, and sorteo.

Endpoint

GET /api/v1/multipliers
Authorization: ADMIN, VENTANA, VENDEDOR

Query Parameters

loteriaId
string
Filter by lottery UUID
kind
string
Filter by multiplier type:
  • NUMERO: Standard bet multipliers
  • REVENTADO: REVENTADO multipliers
isActive
boolean
Filter by active status:
  • true: Only active multipliers
  • false: Only inactive multipliers
  • Omit to see all
appliesToSorteoId
string
Filter by specific sorteo UUIDReturns multipliers that apply to this sorteo (including those with null appliesToSorteoId)
q
string
Search query (searches multiplier name)
page
number
default:"1"
Page number for pagination (min: 1)
pageSize
number
default:"20"
Items per page (min: 1, max: 100)

Response

success
boolean
Indicates if the request was successful
data
array
Array of multipliers
meta
object
Pagination metadata

Examples

curl -X GET "https://api.example.com/api/v1/multipliers?isActive=true" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response Example

{
  "success": true,
  "data": [
    {
      "id": "multiplier-uuid-1",
      "loteriaId": "loteria-uuid",
      "name": "Base",
      "valueX": 80,
      "kind": "NUMERO",
      "appliesToDate": null,
      "appliesToSorteoId": null,
      "isActive": true,
      "createdAt": "2025-01-01T00:00:00.000Z",
      "updatedAt": "2025-01-01T00:00:00.000Z",
      "loteria": {
        "id": "loteria-uuid",
        "name": "Lotto",
        "code": "LOTTO"
      }
    },
    {
      "id": "multiplier-uuid-2",
      "loteriaId": "loteria-uuid",
      "name": "REVENTADO Alto",
      "valueX": 500,
      "kind": "REVENTADO",
      "appliesToDate": null,
      "appliesToSorteoId": "sorteo-uuid",
      "isActive": true,
      "createdAt": "2025-02-15T00:00:00.000Z",
      "updatedAt": "2025-02-15T00:00:00.000Z",
      "loteria": {
        "id": "loteria-uuid",
        "name": "Lotto",
        "code": "LOTTO"
      }
    }
  ],
  "meta": {
    "page": 1,
    "pageSize": 20,
    "total": 2,
    "pages": 1
  }
}

Common Use Cases

When a user selects a lottery, fetch available multipliers:
const { data } = await fetch(
  `/api/v1/multipliers?loteriaId=${loteriaId}&kind=NUMERO&isActive=true`
);
// Show multipliers in dropdown
When evaluating a sorteo, get available REVENTADO multipliers:
const { data } = await fetch(
  `/api/v1/multipliers?loteriaId=${loteriaId}&kind=REVENTADO&isActive=true`
);
// Filter further by appliesToSorteoId matching or null
Find multipliers by name:
GET /api/v1/multipliers?q=REVENTADO&loteriaId=uuid

Implementation Details

From src/api/v1/controllers/multiplier.controller.ts:32-35:
async list(req: AuthenticatedRequest, res: Response) {
  const r = await MultiplierService.list(req.query);
  return res.json({ success: true, data: r.data, meta: r.meta });
}

Create Multiplier

Create new multiplier

Get Multiplier

Get single multiplier by ID

Update Multiplier

Modify existing multiplier

Build docs developers (and LLMs) love