Skip to main content
POST
/
api
/
v1
/
bancas
Create Banca
curl --request POST \
  --url https://api.example.com/api/v1/bancas \
  --header 'Content-Type: application/json' \
  --data '
{
  "name": "<string>",
  "code": "<string>",
  "email": "<string>",
  "address": "<string>",
  "phone": "<string>",
  "isActive": true,
  "defaultMinBet": 123,
  "globalMaxPerNumber": 123,
  "salesCutoffMinutes": 123
}
'
{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Banca Central",
    "code": "BC001",
    "email": "[email protected]",
    "address": "123 Main Street",
    "phone": "+1-234-567-8900",
    "isActive": true,
    "defaultMinBet": 100,
    "globalMaxPerNumber": 5000,
    "salesCutoffMinutes": 1,
    "deletedAt": null,
    "deletedBy": null,
    "deletedReason": null,
    "createdAt": "2024-03-15T10:30:00Z",
    "updatedAt": "2024-03-15T10:30:00Z"
  }
}

Overview

Creates a new banca in the system. A banca is the top-level entity in the hierarchy: Banca → Ventana → Vendedor.

Authorization

Required role: ADMIN
This endpoint requires:
  • Valid JWT token in Authorization header
  • User must have ADMIN role

Request Body

name
string
required
Banca name (2-100 characters, must be unique)
code
string
required
Unique banca code (2-20 characters, must be unique)
email
string
Contact email address (must be valid email format)
address
string
Physical address (max 200 characters)
phone
string
Contact phone number (max 20 characters)
isActive
boolean
default:"true"
Whether the banca is active
defaultMinBet
number
Minimum bet amount (must be positive, min 1)
globalMaxPerNumber
number
Global maximum amount per number (must be positive, min 1)
salesCutoffMinutes
number
Minutes before sorteo to cut off sales (must be positive integer)

Response

success
boolean
Indicates if the request was successful
data
object
The created banca object
{
  "success": true,
  "data": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Banca Central",
    "code": "BC001",
    "email": "[email protected]",
    "address": "123 Main Street",
    "phone": "+1-234-567-8900",
    "isActive": true,
    "defaultMinBet": 100,
    "globalMaxPerNumber": 5000,
    "salesCutoffMinutes": 1,
    "deletedAt": null,
    "deletedBy": null,
    "deletedReason": null,
    "createdAt": "2024-03-15T10:30:00Z",
    "updatedAt": "2024-03-15T10:30:00Z"
  }
}

Notes

  • Banca name and code must be unique across the system
  • Email field is validated for proper email format
  • Activity is logged for audit purposes (see src/api/v1/controllers/banca.controller.ts:7)
  • Supports soft delete functionality

Build docs developers (and LLMs) love