Skip to content

ebit-api api — REST API reference

Auto-generated from openapi/api.openapi.json (OpenAPI 3.0.0, Evospin API v1.0). For exhaustive parameter details — including every nested DTO field — open the live Swagger at http://localhost:4000/swagger.

317 endpoints across 59 tags.

Tags

Conventions

  • Base URL (local): http://localhost:4000
  • Auth: bearer security scheme — JWT presented as Authorization: Bearer <token> or as the access_token HTTP-only cookie set by POST /auth/sign-in. The legacy admin-fe also reads jwt_access_token; see auth-flow.md.
  • Captcha bypass (local only): any endpoint guarded by RecaptchaGuard accepts x-captcha-token: pass when the API runs with NODE_ENV=local (apps/api/src/captcha/google/recaptcha.service.ts:28). The bypass is silently rejected in staging/prod.
  • Schema rendering: request/response bodies link to the schema name (e.g. SignInDto). For nested fields and validation rules, use live Swagger.
  • Tracing context (api.md only): auto HTTP spans come from @opentelemetry/instrumentation-nestjs-core; per-endpoint notes call out manual tracer.startActiveSpan wraps and known blind spots from docs/audits/perf-trace-coverage-audit.md.

Accounting API

GET /accounting/balances

Accounting_getBalances

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: array of

field type required description
currencyId string req
amount string req
usdAmount string req
updatedAt string req

Sample curl

curl -X GET http://localhost:4000/accounting/balances \
  -H 'Cookie: access_token=<JWT>'

Tracing context: Auto HTTP + Prisma single-row read. Continuous trace.

POST /accounting/from-vault

Accounting_fromVault

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
amount string req

Response 201:

field type required description
currencyId string req
amount string req
usdAmount string req
vaultAmount string req
beforeBalance string req
afterBalance string req
beforeVaultBalance string req
afterVaultBalance string req
updatedAt string req

Sample curl

curl -X POST http://localhost:4000/accounting/from-vault \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /accounting/to-vault

Accounting_toVault

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
amount string req

Response 201:

field type required description
currencyId string req
amount string req
usdAmount string req
vaultAmount string req
beforeBalance string req
afterBalance string req
beforeVaultBalance string req
afterVaultBalance string req
updatedAt string req

Sample curl

curl -X POST http://localhost:4000/accounting/to-vault \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /accounting/vault-balances

Accounting_getVaultBalances

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: array of

field type required description
currencyId string req
vaultAmount string req
usdAmount string opt
updatedAt string req

Sample curl

curl -X GET http://localhost:4000/accounting/vault-balances \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Accounting API

GET /admin/accounting/balances

(Permission) Returns balances for a user

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId query req number

Response 200: array of

field type required description
currencyId string req
amount string req
usdAmount string req
updatedAt string req

Sample curl

curl -X GET http://localhost:4000/admin/accounting/balances \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/accounting/transactions

(Permission)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
sortBy string req
sortOrder string req
where ref→TransactionFilterDto opt
page number req
take number req

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/admin/accounting/transactions \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/accounting/usd-balance/{userId}

(Permission) Returns USD balance for a user

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Response 200:

field type required description
usdAmount string req

Sample curl

curl -X GET http://localhost:4000/admin/accounting/usd-balance/{userId} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/accounting/vault-balances

(Permission) Returns vault balances for a user

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId query req number

Response 200: array of

field type required description
currencyId string req
vaultAmount string req
usdAmount string opt
updatedAt string req

Sample curl

curl -X GET http://localhost:4000/admin/accounting/vault-balances \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Affiliate API

POST /admin/affiliate

(Permission) Find many affiliates

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
sortBy string req
sortOrder string req
where ref→FindManyAffiliateWhere opt
page number req
take number req

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/admin/affiliate \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

DELETE /admin/affiliate/code

(Permission) Delete an affiliate code

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
id string req The code of the affiliate code

Response 200: (no body)

Sample curl

curl -X DELETE http://localhost:4000/admin/affiliate/code \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/affiliate/code

(Permission) Create an affiliate code

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
id string req The code of the affiliate code
userId number req The id of the user to create the affiliate code for

Response 201:

field type required description
id string req
usersCount number opt

Sample curl

curl -X POST http://localhost:4000/admin/affiliate/code \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/affiliate/find-one

(Permission) Get affiliate (short)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
where ref→FindOneAffiliateWhere req

Response 201:

field type required description
usersWageredUsdAmount string req
referralCount number req
activeReferrals number req
canClaim boolean req
currentLevel ref→AffiliateLevelDto req
nextLevel ? req

Sample curl

curl -X POST http://localhost:4000/admin/affiliate/find-one \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/affiliate/find-one-extended

(Permission) Get affiliate

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
where ref→FindOneAffiliateWhere req

Response 201:

field type required description
earnedCommissions string req
unclaimedCommissions string req
userId number req
level ref→AffiliateLevel req
referrals ref→AdminAffiliateUsersAggregatedStatsDto req
user ref→UserDto req

Sample curl

curl -X POST http://localhost:4000/admin/affiliate/find-one-extended \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/affiliate/find-one-stats

(Permission) Get affiliate stats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
where ref→FindOneAffiliateWhere req

Response 201:

field type required description
totalClaimedUsdAmount string req
claimableUsdAmount string req
totalWageredUsdAmount string req
referrals number req

Sample curl

curl -X POST http://localhost:4000/admin/affiliate/find-one-stats \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/affiliate/levels

(Permission) Get affiliate levels

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: array of

field type required description
minWageredUsdAmount string req
id number req
name string req
commission string req
minReferralCountForClaim number req

Sample curl

curl -X GET http://localhost:4000/admin/affiliate/levels \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/affiliate/users

(Permission) Get affiliate users

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
sortBy string req
sortOrder string req
where ref→FindManyAffiliateUsersWhere req
page number req
take number req

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/admin/affiliate/users \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Affiliate Streamer API

POST /admin/affiliate/streamer

(Permission) Find many streamer affiliates

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
sortBy string req
sortOrder string req
page number req
take number req

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Response 201:

field type required description
data array req
take number req
page number req
total number req
totalPages number req

Sample curl

curl -X POST http://localhost:4000/admin/affiliate/streamer \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/affiliate/streamer/referrals

(Permission) Find many referrals of a streamer affiliate

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
sortBy string req
sortOrder string req
where ref→AffiliateStreamerReferralWhere opt
page number req
take number req

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Response 201:

field type required description
data array req
take number req
page number req
total number req
totalPages number req

Sample curl

curl -X POST http://localhost:4000/admin/affiliate/streamer/referrals \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/affiliate/streamer/{id}

(Permission) Find one streamer affiliate

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Response 200:

field type required description
level ref→AffiliateLevel req
codes array req

Sample curl

curl -X GET http://localhost:4000/admin/affiliate/streamer/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Bets API

POST /admin/bets

(Permission) View user bets

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
sortBy string req
sortOrder string req
where ref→BetsFilterDto opt
page number req
take number req

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/admin/bets \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Casino API

GET /admin/casino/games/all

GamesAdmin_findManyGames

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id query opt number
category query opt string
type query opt string
providerId query opt number
sortOrder query req string
sortBy query req string
enabled query opt boolean
withInfo query opt boolean
slug query opt string
name query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/casino/games/all \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

DELETE /admin/casino/games/commission

GamesAdmin_deleteProviderGameGgrCommission

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
category string req
providerId number req
gameId number req

Response 200: (no body)

Sample curl

curl -X DELETE http://localhost:4000/admin/casino/games/commission \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/casino/games/commission

GamesAdmin_findManyProviderGameGgrCommission

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
providerId query opt number
category query opt string
gameId query opt number
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/casino/games/commission \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/casino/games/commission

Update ggr commission rule. providerId, category, gameId are used instead of Id. If rule not found - 404 will be returned. For creating use PUT method

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
category string req
ggrPercent string req GGR commission rate % for each bet by provider
providerId number req
gameId number req
payload ? req

Response 200:

field type required description
ggrPercent string req
category string req
id string req
createdAt string req
updatedAt string req
providerId number req
gameId number req
payload ? req

Sample curl

curl -X PATCH http://localhost:4000/admin/casino/games/commission \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /admin/casino/games/commission

Create ggr commission rule

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
category string req
ggrPercent string req GGR commission rate % for each bet by provider
providerId number req
gameId number req
payload ? req

Response 200:

field type required description
ggrPercent string req
category string req
id string req
createdAt string req
updatedAt string req
providerId number req
gameId number req
payload ? req

Sample curl

curl -X PUT http://localhost:4000/admin/casino/games/commission \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/casino/games/commission/{id}

GamesAdmin_findUniqueProviderGameGgrCommissionByGameId

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Response 200:

field type required description
ggrPercent string req
category string req
id string req
createdAt string req
updatedAt string req
providerId number req
gameId number req
payload ? req

Sample curl

curl -X GET http://localhost:4000/admin/casino/games/commission/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/casino/games/house/settings

Get house game settings

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: object (schema: GameIdentitySettingsDto)

Sample curl

curl -X GET http://localhost:4000/admin/casino/games/house/settings \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/casino/games/house/settings

Update house game settings. Only for house games. Not set games will be ignored

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
plinko ref→PlinkoGameConfigDto opt
dice ref→DiceGameConfigDto opt
mines ref→MinesGameConfigDto opt
monkey-run ref→MonkeyRunGameConfigDto opt
limbo ref→LimboGameConfigDto opt
roulette ref→RouletteGameConfigDto opt
keno ref→KenoGameConfigDto opt
blackjack ref→RouletteGameConfigDto opt
speed-roulette ref→SpeedRouletteGameConfigDto opt

Response 201: object (schema: GameIdentitySettingsDto)

Sample curl

curl -X POST http://localhost:4000/admin/casino/games/house/settings \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/casino/games/hydrate

(Obsolete) Fetch slot games from CDN. Only adds new games. Existing will be skipped

Hydrates is executed automatically every 12 hours

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/admin/casino/games/hydrate \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/casino/games/main

Update one category on main page. Up to 20 games per category

Each slug should be unique and existing.

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
category string req
slugs array req

Response 201:

field type required description
success boolean req

Sample curl

curl -X POST http://localhost:4000/admin/casino/games/main \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/casino/games/providers

GamesAdmin_findManyProviders

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortOrder query req string
sortBy query req string
enabled query opt boolean
gameCategory query opt string
name query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/casino/games/providers \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/casino/games/providers/{slug}

GamesAdmin_findUniqueProvider

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
slug path req string

Response 200:

field type required description
id number req
name string req
originName string req
createdAt string req
slug string req
prefix string req
enabled boolean req
gamesCount number opt
images ? req
customImages ? req

Sample curl

curl -X GET http://localhost:4000/admin/casino/games/providers/{slug} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/casino/games/providers/{slug}/images

GamesAdmin_updateProviderImage

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
slug path req string

Request body (multipart/form-data):

field type required description
image file opt

Response 201:

field type required description
id number req
name string req
originName string req
createdAt string req
slug string req
prefix string req
enabled boolean req
gamesCount number opt
images ? req
customImages ? req

Sample curl

curl -X POST http://localhost:4000/admin/casino/games/providers/{slug}/images \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/casino/games/{slug}

GamesAdmin_findUniqueGame

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
slug path req string

Response 200:

field type required description
type string req
categories array req
id number req
createdAt string req
addedAt string req
lastPlayedAt string req
slug string req
name string req
providerId number req
walletId string req
provider ref→GameProviderDto req
enabled boolean req
tags array req
originalSlug string req
info ? req
settings ? req
images ? req
customImages ? req
promoGameWhitelist array req

Sample curl

curl -X GET http://localhost:4000/admin/casino/games/{slug} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/casino/games/{slug}

Update provider image. Will never delete original image

Public API will return custom image if available. Otherwise original will be used

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
slug path req string

Request body (application/json):

field type required description
category string opt
rtp number opt
enabled boolean opt

Response 201:

field type required description
type string req
categories array req
id number req
createdAt string req
addedAt string req
lastPlayedAt string req
slug string req
name string req
providerId number req
walletId string req
provider ref→GameProviderDto req
enabled boolean req
tags array req
originalSlug string req
info ? req
settings ? req
images ? req
customImages ? req
promoGameWhitelist array req

Sample curl

curl -X POST http://localhost:4000/admin/casino/games/{slug} \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/casino/games/{slug}/images

Update game image. Will never delete original image

Public API will return custom image if available. Otherwise original will be used

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
slug path req string

Request body (multipart/form-data):

field type required description
image file opt

Response 201:

field type required description
type string req
categories array req
id number req
createdAt string req
addedAt string req
lastPlayedAt string req
slug string req
name string req
providerId number req
walletId string req
provider ref→GameProviderDto req
enabled boolean req
tags array req
originalSlug string req
info ? req
settings ? req
images ? req
customImages ? req
promoGameWhitelist array req

Sample curl

curl -X POST http://localhost:4000/admin/casino/games/{slug}/images \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Challenge API

GET /admin/challenge

AdminChallenge_findManyChallenges

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
isFinished query opt boolean
winnerSearch query opt string Search for a winner by id, slug
isHidden query opt boolean
gameSlug query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/challenge \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /admin/challenge

Create a new challenge. Default gameImage will be used by default

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
minBetAmountUsd string req
rewardCurrency string req
rewardAmount string req
gameSlug string req
minBetMultiplier number req
isHidden boolean req

Response 200:

field type required description
minBetAmountUsd string req
rewardCurrency string req
rewardAmount string req
rewardUsdAmount string opt Challenge reward amount converted to USDT
validBetsCount number opt Number of valid bets for the challenge (Not implemented)
id string req
createdAt string req
updatedAt string req
defaultTitle string req
title string req
imageUrl string req
creator ref→UserShortPrivateDto req
targetGame ref→GameIdentityShortDto req
isHidden boolean req
minBetMultiplier number req
winner ? req
winnerSelectedAt string req
winnerConfirmedBy ? req
betId string req

Sample curl

curl -X PUT http://localhost:4000/admin/challenge \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

DELETE /admin/challenge/{id}

Deletes a challenge only if it's not finished

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Response 200:

field type required description
minBetAmountUsd string req
rewardCurrency string req
rewardAmount string req
rewardUsdAmount string opt Challenge reward amount converted to USDT
validBetsCount number opt Number of valid bets for the challenge (Not implemented)
id string req
createdAt string req
updatedAt string req
defaultTitle string req
title string req
imageUrl string req
creator ref→UserShortPrivateDto req
targetGame ref→GameIdentityShortDto req
isHidden boolean req
minBetMultiplier number req
winner ? req
winnerSelectedAt string req
winnerConfirmedBy ? req
betId string req

Sample curl

curl -X DELETE http://localhost:4000/admin/challenge/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/challenge/{id}

AdminChallenge_findUniqueChallenge

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Response 200:

field type required description
minBetAmountUsd string req
rewardCurrency string req
rewardAmount string req
rewardUsdAmount string opt Challenge reward amount converted to USDT
validBetsCount number opt Number of valid bets for the challenge (Not implemented)
id string req
createdAt string req
updatedAt string req
defaultTitle string req
title string req
imageUrl string req
creator ref→UserShortPrivateDto req
targetGame ref→GameIdentityShortDto req
isHidden boolean req
minBetMultiplier number req
winner ? req
winnerSelectedAt string req
winnerConfirmedBy ? req
betId string req

Sample curl

curl -X GET http://localhost:4000/admin/challenge/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/challenge/{id}

AdminChallenge_updateChallenge

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Request body (application/json):

field type required description
gameSlug string opt Game slug to identify the target game
minBetAmountUsd string opt Minimum bet amount in USD required to enter the challenge
minBetMultiplier number opt Minimum bet multiplier required to enter the challenge
rewardCurrency string opt Currency symbol for the challenge reward
rewardAmount string opt Amount of reward for the challenge in the specified currency
isHidden boolean opt Whether the challenge is hidden from public listings

Response 200:

field type required description
minBetAmountUsd string req
rewardCurrency string req
rewardAmount string req
rewardUsdAmount string opt Challenge reward amount converted to USDT
validBetsCount number opt Number of valid bets for the challenge (Not implemented)
id string req
createdAt string req
updatedAt string req
defaultTitle string req
title string req
imageUrl string req
creator ref→UserShortPrivateDto req
targetGame ref→GameIdentityShortDto req
isHidden boolean req
minBetMultiplier number req
winner ? req
winnerSelectedAt string req
winnerConfirmedBy ? req
betId string req

Sample curl

curl -X PATCH http://localhost:4000/admin/challenge/{id} \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/challenge/{id}/award

Choose a winner for challenge by BetId

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Request body (application/json):

field type required description
betId string req
sendNotification boolean req

Response 201:

field type required description
minBetAmountUsd string req
rewardCurrency string req
rewardAmount string req
rewardUsdAmount string opt Challenge reward amount converted to USDT
validBetsCount number opt Number of valid bets for the challenge (Not implemented)
id string req
createdAt string req
updatedAt string req
defaultTitle string req
title string req
imageUrl string req
creator ref→UserShortPrivateDto req
targetGame ref→GameIdentityShortDto req
isHidden boolean req
minBetMultiplier number req
winner ? req
winnerSelectedAt string req
winnerConfirmedBy ? req
betId string req

Sample curl

curl -X POST http://localhost:4000/admin/challenge/{id}/award \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/challenge/{id}/bets

Returns eligible bets for the challenge. Default search by "bet.settledAt ASC". Old first

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string
sortBy query req string
sortOrder query req string
userId query opt string
betId query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/challenge/{id}/bets \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/challenge/{id}/image

AdminChallenge_updateChallengeImage

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Request body (multipart/form-data):

field type required description
image file opt

Response 201:

field type required description
minBetAmountUsd string req
rewardCurrency string req
rewardAmount string req
rewardUsdAmount string opt Challenge reward amount converted to USDT
validBetsCount number opt Number of valid bets for the challenge (Not implemented)
id string req
createdAt string req
updatedAt string req
defaultTitle string req
title string req
imageUrl string req
creator ref→UserShortPrivateDto req
targetGame ref→GameIdentityShortDto req
isHidden boolean req
minBetMultiplier number req
winner ? req
winnerSelectedAt string req
winnerConfirmedBy ? req
betId string req

Sample curl

curl -X POST http://localhost:4000/admin/challenge/{id}/image \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/challenge/{id}/rollback

Remove a winner for challenge. Withdraw awarded amount from the user balance

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Request body (application/json):

field type required description
reason string req
withdrawLessIfNotEnoughBalance boolean req
sendNotification boolean req

Response 201:

field type required description
minBetAmountUsd string req
rewardCurrency string req
rewardAmount string req
rewardUsdAmount string opt Challenge reward amount converted to USDT
validBetsCount number opt Number of valid bets for the challenge (Not implemented)
id string req
createdAt string req
updatedAt string req
defaultTitle string req
title string req
imageUrl string req
creator ref→UserShortPrivateDto req
targetGame ref→GameIdentityShortDto req
isHidden boolean req
minBetMultiplier number req
winner ? req
winnerSelectedAt string req
winnerConfirmedBy ? req
betId string req

Sample curl

curl -X POST http://localhost:4000/admin/challenge/{id}/rollback \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Core API

PATCH /admin/config/{code}

(SuperAdmin) Update site config by code

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
code path req string COMMON, BATTLES, AFFILIATES, WITHDRAWALS

Request body (application/json): object (schema: Object)

Response 200: object

Sample curl

curl -X PATCH http://localhost:4000/admin/config/{code} \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/logger

Logger_getLogLevel

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
level object req
expiresAt string req

Sample curl

curl -X GET http://localhost:4000/admin/logger \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /admin/logger

Logger_setLogLevel

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
level object req
ttlSeconds number opt

Response 200:

field type required description
level object req
expiresAt string req

Sample curl

curl -X PUT http://localhost:4000/admin/logger \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Country API

GET /admin/country

Get country restrictions list

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
status query opt string
search query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/country \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/country/stats

Get country restrictions stats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
total number req
blocked number req
allowed number req

Sample curl

curl -X GET http://localhost:4000/admin/country/stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/country/{code}

Update country restriction status

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
code path req string

Request body (application/json):

field type required description
isBlocked boolean req

Response 200:

field type required description
name string req
code string req
dialCode string req
isBlocked boolean req

Sample curl

curl -X PATCH http://localhost:4000/admin/country/{code} \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Dashboard API

GET /admin/dashboard/affiliate-stats

AdminDashboard_affiliateQuickStats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
startDate query req string
endDate query req string
query query opt string Array of values: ReferralsGgr, ReferralsWagger, ReferralsDeposits, ReferralsFTD,
adminTipsTags query opt string Array of values: STREAM_FILL, VIDEO_FILL, PRIVATE_LB_PAYOUT, LOSSBACK, TWITTER_G
affiliateId query opt number
isStreamer query opt boolean

Response 200: array of

field type required description
result ref→TStatData req
query string req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard/affiliate-stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard/finance-tab

AdminDashboard_getFinanceStats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
startDate query req string
endDate query req string
query query opt string Array of values: Ggr, Ngr, ProfitLoss, RakeBack, LeaderBoard, AffiliateClamed, A
isStreamer query opt boolean
excludeAdmin query opt string
excludeTest query opt string
excludeStaff query opt string
excludeStreamer query opt string

Response 200: array of

field type required description
result ref→TStatData req
query string req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard/finance-tab \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard/games-charts

AdminDashboard_gameChartsStats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
startDate query req string
endDate query req string
games query opt string Array of values:

Response 200: array of object

Sample curl

curl -X GET http://localhost:4000/admin/dashboard/games-charts \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard/games-stats

AdminDashboard_gameQuickStats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
startDate query req string
endDate query req string
query query opt string Array of values: Ggr, TotalCountAverageBet
games query opt string Array of values:

Response 200: array of

field type required description
result ref→TStatData req
query string req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard/games-stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard/providers-stats

AdminDashboard_getProvidersStats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
startDate query req string
endDate query req string
providers query opt string Array of values:
excludeAdmin query opt string
excludeTest query opt string
excludeStaff query opt string
excludeStreamer query opt string

Response 200: array of

field type required description
provider string req
sumAmount string req
countAmount integer req
ggrAmount string req
average string req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard/providers-stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard/quick-stats

AdminDashboard_getQuickStats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
startDate query req string
endDate query req string
query query opt string Array of values: Ggr, Ngr, ProfitLoss, RakeBack, LeaderBoard, AffiliateClamed, A

Response 200: array of

field type required description
result ref→TStatData req
query string req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard/quick-stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard/users-stats

AdminDashboard_getUsersStats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
startDate query req string
endDate query req string

Response 200:

field type required description
newUsers ref→TStatData req
totalUsers ref→TStatData req
onlineUsers number req
restrictedUsers number req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard/users-stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Dashboard API V2

GET /admin/dashboard-v2/game/stats

AdminDashboardCombined_getGameStats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
timeRange query opt string
startDate query opt string
endDate query opt string
timeGroup query req string
orderBy query opt string
orderDirection query opt string
gameCategory query opt string
providerSlugs query opt string Array of values:
take query opt number
page query opt number
gameSlug query opt string
gameName query opt string

Response 200:

field type required description
activePlayersTimeSeries array req
turnoverTimeSeries array req
arpuTimeSeries array req
atpuTimeSeries array req
ggrTimeSeries array req
ngrTimeSeries array req
gameTypeMarginPie array req
gameTypeTurnoverPie array req
ggrTopGameSlugAnalytics array req
ggrWorstGameSlugAnalytics array req
gameSlugAnalytics array req
activePlayers number req
turnover number req
atpu number req
ggr number req
arpu number req
margin number req
betCount number req
abcpu number req
averageBetSum number req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard-v2/game/stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard-v2/main/options

AdminDashboardCombined_getTimeOptions

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: array of

field type required description
timeRange string req
timeGroups array req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard-v2/main/options \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard-v2/main/stats

AdminDashboardCombined_getGeneralStats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
timeRange query req string
timeGroup query req string
debug query opt boolean

Response 200:

field type required description
activePlayersMetrics ref→ActivePlayersMetrics req
depositMetrics ref→DepositMetrics req
registrationMetrics ref→RegistrationMetrics req
turnoverMetrics ref→TurnoverMetrics req
ggrMetrics ref→GgrMetrics req
ngrMetrics ref→NgrMetrics req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard-v2/main/stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard-v2/query/bets-by-type

AdminDashboardSeparated_getBetsByType

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
timeRange query opt string
startDate query opt string
endDate query opt string
timeGroup query req string
orderBy query opt string
orderDirection query opt string
gameCategory query opt string
providerSlugs query opt string Array of values:
take query opt number
page query opt number
gameSlug query opt string
gameName query opt string

Response 200:

field type required description
activePlayersTimeSeries array req
turnoverTimeSeries array req
arpuTimeSeries array req
atpuTimeSeries array req
ggrTimeSeries array req
ngrTimeSeries array req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard-v2/query/bets-by-type \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard-v2/query/games-by-slug

AdminDashboardSeparated_getGamesBySlug

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
timeRange query opt string
startDate query opt string
endDate query opt string
timeGroup query req string
orderBy query opt string
orderDirection query opt string
gameCategory query opt string
providerSlugs query opt string Array of values:
take query opt number
page query opt number
gameSlug query opt string
gameName query opt string

Response 200: (no body)

Sample curl

curl -X GET http://localhost:4000/admin/dashboard-v2/query/games-by-slug \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard-v2/query/games-by-type

AdminDashboardSeparated_getGamesByType

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
timeRange query opt string
startDate query opt string
endDate query opt string
timeGroup query req string
orderBy query opt string
orderDirection query opt string
gameCategory query opt string
providerSlugs query opt string Array of values:
take query opt number
page query opt number
gameSlug query opt string
gameName query opt string

Response 200:

field type required description
gameTypeMarginPie array req
gameTypeTurnoverPie array req
activePlayers number req
turnover number req
atpu number req
ggr number req
arpu number req
margin number req
betCount number req
abcpu number req
averageBetSum number req
ngr number req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard-v2/query/games-by-type \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard-v2/query/payments

AdminDashboardSeparated_getPayments

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
timeRange query opt string
startDate query opt string
endDate query opt string
timeGroup query req string
orderBy query opt string
orderDirection query opt string
gameCategory query opt string
providerSlugs query opt string Array of values:
take query opt number
page query opt number
gameSlug query opt string
gameName query opt string

Response 200:

field type required description
depositAmount number req
depositAmountTimeSeries array req
ratio number req
ratioTimeSeries array req
withdrawalAmount number req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard-v2/query/payments \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/dashboard-v2/query/registrations

AdminDashboardSeparated_getRegistrations

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
timeRange query opt string
startDate query opt string
endDate query opt string
timeGroup query req string
orderBy query opt string
orderDirection query opt string
gameCategory query opt string
providerSlugs query opt string Array of values:
take query opt number
page query opt number
gameSlug query opt string
gameName query opt string

Response 200:

field type required description
registrationCount number req
registrationTimeSeries array req
firstTimeDepositCount number req
firstTimeDepositTimeSeries array req
firstTimeDepositPercent number req
firstTimeDepositPercentTimeSeries array req

Sample curl

curl -X GET http://localhost:4000/admin/dashboard-v2/query/registrations \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin FAQ API

DELETE /admin/faq

AdminFaq_removeFaq

Auth: public

Request body (application/json):

field type required description
id number req

Response 200: (no body)

Sample curl

curl -X DELETE http://localhost:4000/admin/faq \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/faq

AdminFaq_createFaq

Auth: public

Request body (application/json):

field type required description
title string req
text string req

Response 201:

field type required description
id number req
title string req
text string req
order number req
createdAt string req
updatedAt string req

Sample curl

curl -X POST http://localhost:4000/admin/faq \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /admin/faq

AdminFaq_updateFaq

Auth: public

Request body (application/json):

field type required description
id number req
title string opt
text string opt
order number opt

Response 200:

field type required description
id number req
title string req
text string req
order number req
createdAt string req
updatedAt string req

Sample curl

curl -X PUT http://localhost:4000/admin/faq \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Key API

POST /admin/api-keys

AdminApiKey_createApiKey

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
userId number req

Response 201:

field type required description
id string req
key string req
userId number req
createdAt string req
updatedAt string req

Sample curl

curl -X POST http://localhost:4000/admin/api-keys \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

DELETE /admin/api-keys/{userId}

AdminApiKey_disableApiKey

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Response 204: (no body)

Sample curl

curl -X DELETE http://localhost:4000/admin/api-keys/{userId} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/api-keys/{userId}

AdminApiKey_getApiKey

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Response 200:

field type required description
id string req
key string req
userId number req
createdAt string req
updatedAt string req

Sample curl

curl -X GET http://localhost:4000/admin/api-keys/{userId} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Leaderboard API

GET /admin/leaderboards

AdminLeaderboard_getLeaderboards

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
withUsers query opt boolean Adds 50 users to response
withSchedule query opt boolean Adds schedule config to dto
type query opt string
status query opt string
sortOrder query opt string
sortBy query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/leaderboards \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/leaderboards/give-prize

AdminLeaderboard_givePrize

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
usdAmount string opt
currency string req Choose wallet for giving prize. usdAmount will be converted
fullUsdAmount boolean opt
leaderboardId string req
userId number req

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/admin/leaderboards/give-prize \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/leaderboards/schedule

AdminLeaderboard_getLeaderboardSchedules

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: array of

field type required description
id string req
createdAt string req
updatedAt string req
enabled boolean req
config ref→LeaderboardScheduleConfigDto req
leaderboards array req

Sample curl

curl -X GET http://localhost:4000/admin/leaderboards/schedule \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/leaderboards/schedule/{id}

AdminLeaderboard_getLeaderboardSchedule

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Response 200: object

Sample curl

curl -X GET http://localhost:4000/admin/leaderboards/schedule/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/leaderboards/schedule/{id}

AdminLeaderboard_updateLeaderboardSchedule

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Request body (application/json):

field type required description
enabled boolean req
name string req
description string req
prizes array req

Response 201:

field type required description
id string req
createdAt string req
updatedAt string req
enabled boolean req
config ref→LeaderboardScheduleConfigDto req
leaderboards array req

Sample curl

curl -X POST http://localhost:4000/admin/leaderboards/schedule/{id} \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/leaderboards/{leaderboardId}

AdminLeaderboard_getLeaderboard

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
leaderboardId path req string

Response 200:

field type required description
type string req
status string req
id string req
name string req
createdAt string req
updatedAt string req
description string req
config object req
startDate string req
endDate string req
scheduleId string req
leaderboardUsers array opt

Sample curl

curl -X GET http://localhost:4000/admin/leaderboards/{leaderboardId} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/leaderboards/{leaderboardId}/users

AdminLeaderboard_getLeaderboardUsers

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
leaderboardId path req string
search query opt string Search by user id, name or email
isWinner query opt boolean
isWaitingForPrice query opt boolean
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/leaderboards/{leaderboardId}/users \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/leaderboards/{leaderboardId}/users/{userId}

AdminLeaderboard_getLeaderboardUser

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
leaderboardId path req string
userId path req number

Response 200: object

Sample curl

curl -X GET http://localhost:4000/admin/leaderboards/{leaderboardId}/users/{userId} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Payments API

GET /admin/payments/deposit

(Permission) Get deposits

Auth: public

Parameters

name in required type description
sortBy query req string
sortOrder query req string
status query opt string
userId query opt number
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/payments/deposit

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/payments/deposit/{id}

AdminDeposit_getOne

Auth: public

Parameters

name in required type description
id path req string

Response 200:

field type required description
amount string req
currencyId string req
status string req
usdAmount string req
networkId string req
affiliateAmount string req
depositBonus string req
id string req
txHash string req
createdAt string req
userId number req
payAddress string req
payMemo string req
user ref→UserShortPrivateDto opt
affiliateCodeId string req
externalId string req
providerId object req
transactionId string req

Sample curl

curl -X GET http://localhost:4000/admin/payments/deposit/{id}

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/payments/withdraw

(Permission) Get withdrawals

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
status query opt string
userId query opt number
username query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/payments/withdraw \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/payments/withdraw/approve

AdminWithdraw_approve

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
id string req

Response 201:

field type required description
amount string req
currencyId string req
status string req
usdAmount string req
networkId string req
providerId string req
recipientAddress string req
recipientMemo string req
confirmedAt string req
confirmations number req
rejectReason string req
updatedAt string req
transactionId string req
id string req
txHash string req
createdAt string req
user object opt
confirmedByUser ? req
failedReason string req
confirmedByUserId number req

Sample curl

curl -X POST http://localhost:4000/admin/payments/withdraw/approve \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/payments/withdraw/fetch/{id}

AdminWithdraw_getOneWithUpdate

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Response 200:

field type required description
amount string req
currencyId string req
status string req
usdAmount string req
networkId string req
providerId string req
recipientAddress string req
recipientMemo string req
confirmedAt string req
confirmations number req
rejectReason string req
updatedAt string req
transactionId string req
id string req
txHash string req
createdAt string req
user object opt
confirmedByUser ? req
failedReason string req
confirmedByUserId number req

Sample curl

curl -X GET http://localhost:4000/admin/payments/withdraw/fetch/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/payments/withdraw/reject

AdminWithdraw_reject

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
id string req
rejectReason string req

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/admin/payments/withdraw/reject \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/payments/withdraw/retry

AdminWithdraw_retry

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
id string req

Response 201:

field type required description
amount string req
currencyId string req
status string req
usdAmount string req
networkId string req
providerId string req
recipientAddress string req
recipientMemo string req
confirmedAt string req
confirmations number req
rejectReason string req
updatedAt string req
transactionId string req
id string req
txHash string req
createdAt string req
user object opt
confirmedByUser ? req
failedReason string req
confirmedByUserId number req

Sample curl

curl -X POST http://localhost:4000/admin/payments/withdraw/retry \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/payments/withdraw/stats

AdminWithdraw_stats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
total number req
waitingForApproval number req
approved number req
rejected number req
failed number req

Sample curl

curl -X GET http://localhost:4000/admin/payments/withdraw/stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/payments/withdraw/stats/{userId}

AdminWithdraw_statsByUserId

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Response 200:

field type required description
total number req
waitingForApproval number req
approved number req
rejected number req
failed number req

Sample curl

curl -X GET http://localhost:4000/admin/payments/withdraw/stats/{userId} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/payments/withdraw/{id}

AdminWithdraw_getOne

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Response 200:

field type required description
amount string req
currencyId string req
status string req
usdAmount string req
networkId string req
providerId string req
recipientAddress string req
recipientMemo string req
confirmedAt string req
confirmations number req
rejectReason string req
updatedAt string req
transactionId string req
id string req
txHash string req
createdAt string req
user object opt
confirmedByUser ? req
failedReason string req
confirmedByUserId number req

Sample curl

curl -X GET http://localhost:4000/admin/payments/withdraw/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Rakeback API

POST /admin/rakeback/find-many

(Permission) Get rakebacks

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
where ref→FindManyRakebackWhere req

Response 201: array of

field type required description
instantClaimable string req
instantTotalClaimed string req
dailyClaimable string req
dailyTotalClaimed string req
dailyAccumulated string req
weeklyClaimable string req
weeklyTotalClaimed string req
weeklyAccumulated string req
monthlyClaimable string req
monthlyTotalClaimed string req
monthlyAccumulated string req
userId number req
currencyId object req
updatedAt string req

Sample curl

curl -X POST http://localhost:4000/admin/rakeback/find-many \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/rakeback/find-one-claimable-usd

(Permission) Get rakebacks

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId query req number

Response 200:

field type required description
instant string req
daily string req
weekly string req
monthly string req
userId number req

Sample curl

curl -X GET http://localhost:4000/admin/rakeback/find-one-claimable-usd \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Registration Info API

GET /admin/registration-info/{userId}

(SuperAdmin) Get registration info by userId

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Response 200:

field type required description
type string req
ipAddress string req
createdAt string req
userId number req
device string req
countryCode string req
language string req
browser string req
os string req
deviceType string req
userAgent string req
referrer string req
user ref→RegistrationInfoUserDto req

Sample curl

curl -X GET http://localhost:4000/admin/registration-info/{userId} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin Tips API

GET /admin-tips

AdminTips_findMany

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin-tips \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/admin-tips

(Permission) Get admin tips history

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
senderUserId query opt number
recipientUserId query opt number
senderOrRecipientUserId query opt number
search query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/admin-tips \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/admin-tips

(Permission) Tip user

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
amount string req
currencyId string req
tag string opt
recipientUserId number req
notes string req

Response 200:

field type required description
success boolean req

Sample curl

curl -X POST http://localhost:4000/admin/admin-tips \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/admin-tips/deduct-balance

(Permission) Deduct balance from user

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
amount string req
currencyId string req
tag string opt
recipientUserId number req
notes string req

Response 200:

field type required description
success boolean req

Sample curl

curl -X POST http://localhost:4000/admin/admin-tips/deduct-balance \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin User API

GET /admin/user-notes

AdminNotes_findManyNotes

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
search query opt string You can search by note text, username, user ID, and user email
userId query opt number User ID to filter notes by
riskLevel query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/user-notes \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/user-notes

AdminNotes_updateNote

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
riskLevel string opt
id number req
note string opt

Response 200:

field type required description
riskLevel string req
id number req
note string req
createdAt string req
updatedAt string req
createdBy ref→UserShortPrivateDto req
user ref→UserShortPrivateDto req

Sample curl

curl -X PATCH http://localhost:4000/admin/user-notes \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/user-notes

AdminNotes_createNote

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
riskLevel string opt
note string req
userId number req

Response 201:

field type required description
riskLevel string req
id number req
note string req
createdAt string req
updatedAt string req
createdBy ref→UserShortPrivateDto req
user ref→UserShortPrivateDto req

Sample curl

curl -X POST http://localhost:4000/admin/user-notes \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

DELETE /admin/user-notes/{id}

AdminNotes_deleteNote

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Response 200:

field type required description
riskLevel string req
id number req
note string req
createdAt string req
updatedAt string req
createdBy ref→UserShortPrivateDto req
user ref→UserShortPrivateDto req

Sample curl

curl -X DELETE http://localhost:4000/admin/user-notes/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/user-notes/{id}

AdminNotes_findNote

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Response 200:

field type required description
riskLevel string req
id number req
note string req
createdAt string req
updatedAt string req
createdBy ref→UserShortPrivateDto req
user ref→UserShortPrivateDto req

Sample curl

curl -X GET http://localhost:4000/admin/user-notes/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /admin/user/add-single-role

(SuperAdmin)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
username string req
role object req

Response 200:

field type required description
exp string req
permissions array req
id number req
createdAt string req
updatedAt string req
username string req
isPrivate boolean req
email string req
emailVerified boolean req
lastLoginAt string req
avatar string req
mfaSecret string req
vipLevel number req
steamId string req
steamTradeLink string req
googleEmail string req
isStreamer boolean req
isStreamerMode boolean req
isStaff boolean req
isYoutuber boolean req

Sample curl

curl -X PUT http://localhost:4000/admin/user/add-single-role \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/user/admin-audit

(Permission)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
reqType query opt string Array of values: Informational, Successful, Redirection, Client_Error, Server_Er
userId query opt number
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/user/admin-audit \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/user/admin-user

(Permission)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
username string req
password string req
email string opt
permissions array req

Response 201:

field type required description
exp string req
permissions array req
id number req
createdAt string req
updatedAt string req
username string req
isPrivate boolean req
email string req
emailVerified boolean req
lastLoginAt string req
avatar string req
mfaSecret string req
vipLevel number req
steamId string req
steamTradeLink string req
googleEmail string req
isStreamer boolean req
isStreamerMode boolean req
isStaff boolean req
isYoutuber boolean req

Sample curl

curl -X POST http://localhost:4000/admin/user/admin-user \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/user/all

(Permission)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
sortBy string req
sortOrder string req
isBanned boolean opt
withPermissions boolean req
withRoles boolean req
withNotes boolean req
role string opt
withBalance boolean req
withStatsUsd boolean req
search string opt
where ref→UserFilterDto opt
page number req
take number req

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/admin/user/all \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/user/all-permissions

(Permission)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: (no body)

Sample curl

curl -X GET http://localhost:4000/admin/user/all-permissions \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/user/get-admins-with-roles

(Permission)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/user/get-admins-with-roles \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/user/get-all-roles-with-users

(Permission)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: (no body)

Sample curl

curl -X GET http://localhost:4000/admin/user/get-all-roles-with-users \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /admin/user/revoke-single-role

(SuperAdmin)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
username string req
role object req

Response 200:

field type required description
exp string req
permissions array req
id number req
createdAt string req
updatedAt string req
username string req
isPrivate boolean req
email string req
emailVerified boolean req
lastLoginAt string req
avatar string req
mfaSecret string req
vipLevel number req
steamId string req
steamTradeLink string req
googleEmail string req
isStreamer boolean req
isStreamerMode boolean req
isStaff boolean req
isYoutuber boolean req

Sample curl

curl -X PUT http://localhost:4000/admin/user/revoke-single-role \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/user/stats/migrate

(SuperAdmin)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 201:

field type required description
success boolean req

Sample curl

curl -X POST http://localhost:4000/admin/user/stats/migrate \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/user/stats/transactions

(Permission)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
transactionType query req string
dataRange query opt string
sortBy query opt string
sortOrder query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/user/stats/transactions \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/user/{id}

(Permission)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Response 200:

field type required description
exp string req
permissions array req
id number req
createdAt string req
updatedAt string req
username string req
isPrivate boolean req
email string req
emailVerified boolean req
lastLoginAt string req
avatar string req
mfaSecret string req
vipLevel number req
steamId string req
steamTradeLink string req
googleEmail string req
isStreamer boolean req
isStreamerMode boolean req
isStaff boolean req
isYoutuber boolean req

Sample curl

curl -X GET http://localhost:4000/admin/user/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/user/{id}

(Permission)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Request body (application/json):

field type required description
username string opt
isStaff boolean opt
isYoutuber boolean opt
customMinAffiliateLevel number opt
isTest boolean opt
isStreamer boolean opt
canUseChat boolean opt
isPrivate boolean opt
isStreamerMode boolean opt
isEmailNotificationsEnabled boolean opt
steamTradeLink string opt

Response 200:

field type required description
exp string req
permissions array req
id number req
createdAt string req
updatedAt string req
username string req
isPrivate boolean req
email string req
emailVerified boolean req
lastLoginAt string req
avatar string req
mfaSecret string req
vipLevel number req
steamId string req
steamTradeLink string req
googleEmail string req
isStreamer boolean req
isStreamerMode boolean req
isStaff boolean req
isYoutuber boolean req

Sample curl

curl -X PATCH http://localhost:4000/admin/user/{id} \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/user/{id}/avatar/reset

(Auth) Replace user avatar with a random one

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Response 200: string

Sample curl

curl -X PATCH http://localhost:4000/admin/user/{id}/avatar/reset \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /admin/user/{id}/balance

(SuperAdmin)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Request body (application/json):

field type required description
balance string req
currencyId string req

Response 200: (no body)

Sample curl

curl -X PUT http://localhost:4000/admin/user/{id}/balance \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/user/{id}/ban

(Permission) Ban user

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Request body (application/json):

field type required description
banReason string req

Response 200:

field type required description
exp string req
permissions array req
id number req
createdAt string req
updatedAt string req
username string req
isPrivate boolean req
email string req
emailVerified boolean req
lastLoginAt string req
avatar string req
mfaSecret string req
vipLevel number req
steamId string req
steamTradeLink string req
googleEmail string req
isStreamer boolean req
isStreamerMode boolean req
isStaff boolean req
isYoutuber boolean req

Sample curl

curl -X PATCH http://localhost:4000/admin/user/{id}/ban \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/user/{id}/full/stats

(Permission)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Response 200:

field type required description
totalWagered string req
totalPayouts string req
totalDeposits string req
totalWithdraws string req
ltv string req
ggr string req
avgBet string req
netDeposit string req
totalLoss string req
totalBets number req
rtp number req
winRate number req

Sample curl

curl -X GET http://localhost:4000/admin/user/{id}/full/stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /admin/user/{id}/permissions

(Permission)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Request body (application/json):

field type required description
permissions string req

Response 200:

field type required description
success boolean req

Sample curl

curl -X PUT http://localhost:4000/admin/user/{id}/permissions \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /admin/user/{id}/roles

(SuperAdmin)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Request body (application/json):

field type required description
roles string req

Response 200:

field type required description
success boolean req

Sample curl

curl -X PUT http://localhost:4000/admin/user/{id}/roles \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/user/{id}/unban

(Permission) Unban user

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Request body (application/json):

field type required description
banReason string req

Response 200:

field type required description
exp string req
permissions array req
id number req
createdAt string req
updatedAt string req
username string req
isPrivate boolean req
email string req
emailVerified boolean req
lastLoginAt string req
avatar string req
mfaSecret string req
vipLevel number req
steamId string req
steamTradeLink string req
googleEmail string req
isStreamer boolean req
isStreamerMode boolean req
isStaff boolean req
isYoutuber boolean req

Sample curl

curl -X PATCH http://localhost:4000/admin/user/{id}/unban \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin User Limits API

POST /admin/user-limits/gambling-limits

Set admin gambling limits

Auth: public

Request body (application/json):

field type required description
betLimit string req
userId number req

Response 201:

field type required description
betLimit string req
userId number req
id number req
createdAt string req
updatedAt string req

Sample curl

curl -X POST http://localhost:4000/admin/user-limits/gambling-limits \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/user-limits/gambling-limits/{id}

Get admin gambling limits

Auth: public

Parameters

name in required type description
id path req number

Response 200: object

Sample curl

curl -X GET http://localhost:4000/admin/user-limits/gambling-limits/{id}

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

DELETE /admin/user-limits/user-exclusion

Delete admin user-self-exclusion

Auth: public

Request body (application/json):

field type required description
userId number req

Response 200:

field type required description
id number req
userId number req
expiresAt string req
createdAt string req
updatedAt string req

Sample curl

curl -X DELETE http://localhost:4000/admin/user-limits/user-exclusion \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/user-limits/user-exclusion

Create admin user-self-exclusion

Auth: public

Request body (application/json):

field type required description
excludeUntil string req
userId number req

Response 201:

field type required description
id number req
userId number req
expiresAt string req
createdAt string req
updatedAt string req

Sample curl

curl -X POST http://localhost:4000/admin/user-limits/user-exclusion \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/user-limits/user-exclusion/{id}

Get admin active self-exclusion

Auth: public

Parameters

name in required type description
id path req number

Response 200: object

Sample curl

curl -X GET http://localhost:4000/admin/user-limits/user-exclusion/{id}

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Admin withdrawals block API

DELETE /admin/withdrawals-block/{userId}

(Permission) Unblock user withdrawals

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Response 200:

field type required description
userId number req
reason string opt
reasonPublic string opt
blockUntil string opt
createdAt string opt
updatedAt string opt

Sample curl

curl -X DELETE http://localhost:4000/admin/withdrawals-block/{userId} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/withdrawals-block/{userId}

(Permission) Get active user block

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Response 200:

field type required description
userId number req
reason string opt
reasonPublic string opt
blockUntil string opt
createdAt string opt
updatedAt string opt

Sample curl

curl -X GET http://localhost:4000/admin/withdrawals-block/{userId} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/withdrawals-block/{userId}

(Permission) Block user withdrawals

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Request body (application/json):

field type required description
reason string opt
reasonPublic string opt
blockUntil string opt

Response 201:

field type required description
userId number req
reason string opt
reasonPublic string opt
blockUntil string opt
createdAt string opt
updatedAt string opt

Sample curl

curl -X POST http://localhost:4000/admin/withdrawals-block/{userId} \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

AdminBetQueue

POST /admin/bet-queue/retry

AdminBetQueue_retry

Auth: public

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/admin/bet-queue/retry

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Affiliate API

POST /affiliate/claim

Affiliate_claim

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/affiliate/claim \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /affiliate/claims

Affiliate_findManyClaims

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
page query req number
take query req number

Response 200: (no body)

Sample curl

curl -X GET http://localhost:4000/affiliate/claims \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /affiliate/code

AffiliateCode_findMany

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: array of

field type required description
id string req
usersCount number opt

Sample curl

curl -X GET http://localhost:4000/affiliate/code \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /affiliate/code

AffiliateCode_create

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
id string req The code of the affiliate code

Response 201:

field type required description
id string req
usersCount number opt

Sample curl

curl -X POST http://localhost:4000/affiliate/code \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /affiliate/levels

Affiliate_getLevels

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: array of

field type required description
minWageredUsdAmount string req
id number req
name string req
commission string req
minReferralCountForClaim number req

Sample curl

curl -X GET http://localhost:4000/affiliate/levels \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /affiliate/me

Affiliate_findOne

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
usersWageredUsdAmount string req
referralCount number req
activeReferrals number req
canClaim boolean req
currentLevel ref→AffiliateLevelDto req
nextLevel ? req

Sample curl

curl -X GET http://localhost:4000/affiliate/me \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /affiliate/overview

Affiliate_findStats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
totalClaimedUsdAmount string req
claimableUsdAmount string req
totalWageredUsdAmount string req
referrals number req

Sample curl

curl -X GET http://localhost:4000/affiliate/overview \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /affiliate/users

Affiliate_findManyUsers

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
page query req number
take query req number

Response 200:

field type required description
data array req
take number req
page number req
total number req
totalPages number req

Sample curl

curl -X GET http://localhost:4000/affiliate/users \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Affiliates External API

GET /external/affiliates

AffiliateExternal_getExternalReferralInfo

Auth: public

Parameters

name in required type description
codes query req array
startDate query opt string
endDate query opt string
x-api-key header req string API Key in the format:

Response 200: array of

field type required description
wagered string req
deposited string req
id number req
username string req
avatar string req

Sample curl

curl -X GET http://localhost:4000/external/affiliates

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Authorization API

GET /auth/google

Google auth (No validation)

Auth: public

Response 200: (no body)

Sample curl

curl -X GET http://localhost:4000/auth/google

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /auth/google/callback

Google auth callback endpoint (No validation)

Auth: public

Response 200:

field type required description
url string req Redirect URL

Sample curl

curl -X GET http://localhost:4000/auth/google/callback

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /auth/refresh

Refresh token

Auth: public

Parameters

name in required type description
refresh-token header req string Refresh token

Response 201:

field type required description
accessToken ref→AuthSessionTokenDto req
refreshToken ref→AuthSessionTokenDto req
socketToken ref→AuthSessionTokenDto req

Sample curl

curl -X POST http://localhost:4000/auth/refresh

Tracing context: Auto HTTP + Prisma + ioredis. No manual span.

POST /auth/setup-username

Endpoint for setting up username for users signed up via OAuth

Auth: public

Parameters

name in required type description
setupUsernameToken query req string

Request body (application/json):

field type required description
username string req
email string req
language string opt
affiliateCode string opt
referrer string opt

Response 201:

field type required description
accessToken ref→AuthSessionTokenDto req
refreshToken ref→AuthSessionTokenDto req
socketToken ref→AuthSessionTokenDto req

Sample curl

curl -X POST http://localhost:4000/auth/setup-username \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /auth/sign-in

Sign in. (No validation)

Auth: public

Request body (application/json):

field type required description
email string req email
password string req

Response 201:

field type required description
accessToken ? opt If MFA passed or not enabled
refreshToken ? opt If MFA passed or not enabled
socketToken ? opt If MFA passed or not enabled
token string opt If MFA is required, this is the temporary user token for com
requireMfa boolean opt If MFA is required -> true. Otherwise undefined
provider string opt If MFA required
state string opt If MFA required

Sample curl

curl -X POST http://localhost:4000/auth/sign-in \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: Manual spans: AuthService.login (auth.service.ts:150), UserService.authenticate (user.service.ts:718). Full coverage: HTTP → service → Prisma → BullMQ enqueue (EVALSHA). Continuous trace.

POST /auth/sign-up

Sign up

Auth: public

Request body (application/json):

field type required description
username string req
password string req
email string req
isEmailNotificationsEnabled boolean opt
affiliateCode string opt The code of the affiliate code
language string opt
referrer string opt

Response 200:

field type required description
accessToken ref→AuthSessionTokenDto req
refreshToken ref→AuthSessionTokenDto req
socketToken ref→AuthSessionTokenDto req

Sample curl

curl -X POST http://localhost:4000/auth/sign-up \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: Auto HTTP + Prisma. No manual span — RNG/captcha/welcome-bonus side effects attributed to the controller span.

GET /auth/steam

Steam auth (No validation)

Auth: public

Response 200: (no body)

Sample curl

curl -X GET http://localhost:4000/auth/steam

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /auth/steam/return

Steam auth callback endpoint (No validation)

Auth: public

Response 200:

field type required description
url string req Redirect URL

Sample curl

curl -X GET http://localhost:4000/auth/steam/return

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /auth/verify-2fa

Verify 2FA and complete sign in (No validation)

Auth: public

Request body (application/json):

field type required description
token string req Temporary user token for completing the MFA verification
mfaCode string req MFA code of the user
provider string opt
state string opt

Response 200:

field type required description
accessToken ref→AuthSessionTokenDto req
refreshToken ref→AuthSessionTokenDto req
socketToken ref→AuthSessionTokenDto req

Sample curl

curl -X POST http://localhost:4000/auth/verify-2fa \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: Auto HTTP + Prisma. Captcha lookup hits Redis (auto-spanned).

Bets API

GET /bets

Bet_findMany

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
status query req string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/bets \
  -H 'Cookie: access_token=<JWT>'

Tracing context: Auto HTTP + Prisma. Read-only, no Redis/queue. Continuous trace.

GET /bets/house-games/info/{betId}

Bet_getBetInfo

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
betId path req string

Response 200:

field type required description
currencyId string req
amount string req
payout string req
betId string req
settledAt string req
game ref→ExtendedHouseGameBet req
user ref→UserShortPublicDto req

Sample curl

curl -X GET http://localhost:4000/bets/house-games/info/{betId} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /bets/slots/info/{betId}

Bet_getSlotBetInfo

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
betId path req string

Response 200:

field type required description
currencyId string req
amount string req
payout string req
betId string req
settledAt string req
game ref→BasicSlotGameBet req
user ref→UserShortPublicDto req

Sample curl

curl -X GET http://localhost:4000/bets/slots/info/{betId} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /live-bets

LiveBets_getMany

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
type query req string
count query req number

Response 200: array of

field type required description
usdAmount string req
usdPayout string req
currencyId string req
amount string req
payout string req
status string req
id string req
createdAt string req
updatedAt string req
user ref→UserShortPublicDto opt
gameIdentity ref→GameIdentityShortDto req
game ref→GameIdentityShortDto opt
multiplier number req

Response default: array of

field type required description
usdAmount string req
usdPayout string req
currencyId string req
amount string req
payout string req
status string req
id string req
createdAt string req
updatedAt string req
user ref→UserShortPublicDto opt
gameIdentity ref→GameIdentityShortDto req
game ref→GameIdentityShortDto opt
multiplier number req

Sample curl

curl -X GET http://localhost:4000/live-bets \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /live-bets/my

LiveBets_getManyMyBets

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
status query opt string
count query req number

Response 200: array of

field type required description
usdAmount string req
usdPayout string req
currencyId string req
amount string req
payout string req
status string req
id string req
createdAt string req
updatedAt string req
user ref→UserShortPublicDto opt
gameIdentity ref→GameIdentityShortDto req
game ref→GameIdentityShortDto opt
multiplier number req

Sample curl

curl -X GET http://localhost:4000/live-bets/my \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

BotActivity

GET /admin/bot-activity/all

BotActivity_getAllBot

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
type query req string
behavior query req string
playDays query req string Array of values: MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY, SUNDAY
username query opt string
fromTime query opt string
toTime query opt string
isActive query req string
page query req number
take query req number

Response 200: (no body)

Sample curl

curl -X GET http://localhost:4000/admin/bot-activity/all \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/bot-activity/bot-toggle

BotActivity_botToggle

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
isBot boolean req
userId number req

Response 200: (no body)

Sample curl

curl -X PATCH http://localhost:4000/admin/bot-activity/bot-toggle \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/bot-activity/manage

BotActivity_updateBot

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
type string opt
behavior string opt
playDays string opt
userId number req
isActive boolean opt
games array opt
startTime string opt

Response 200: (no body)

Sample curl

curl -X PATCH http://localhost:4000/admin/bot-activity/manage \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/bot-activity/manage

BotActivity_createBot

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
type string req
behavior string req
playDays string req
isActive boolean req
games array req
userId number req
startTime string req

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/admin/bot-activity/manage \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/bot-activity/one/{id}

BotActivity_getOneBot

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Response 200: object

Sample curl

curl -X GET http://localhost:4000/admin/bot-activity/one/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Casino API

GET /casino/games

Games_findManyGamesPublic

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
category query opt string
type query opt string
providerId query opt number
sortOrder query req string
sortBy query req string
name query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/casino/games \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/favorite

Get list of favorite games

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortOrder query req string
sortBy query req string
category query opt string
name query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/casino/games/favorite \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

DELETE /casino/games/favorite/{slug}

Remove a game from favorites

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
slug path req string

Response 200:

field type required description
success boolean req

Sample curl

curl -X DELETE http://localhost:4000/casino/games/favorite/{slug} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/favorite/{slug}

Add a game to favorites

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
slug path req string

Response 201:

field type required description
success boolean req

Sample curl

curl -X POST http://localhost:4000/casino/games/favorite/{slug} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/house/blackjack/config

Blackjack_getConfig

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
minBet number req In USD
maxBet number req In USD
maxProfit number req In USD

Sample curl

curl -X GET http://localhost:4000/casino/games/house/blackjack/config \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/house/blackjack/getActiveState

Blackjack_tryGetActiveGameState

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
data ? req

Sample curl

curl -X GET http://localhost:4000/casino/games/house/blackjack/getActiveState \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/blackjack/handleAction

Blackjack_handleBlackjackAction

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
action string req
windowId string opt

Response 201:

field type required description
data ? req

Sample curl

curl -X POST http://localhost:4000/casino/games/house/blackjack/handleAction \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/blackjack/init

Blackjack_initGame

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
betAmount string req Bet amount in
sideBetAmount string opt Side bet amount for Perfect Pair in
windowId string opt

Response 201:

field type required description
data ? req

Sample curl

curl -X POST http://localhost:4000/casino/games/house/blackjack/init \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/blackjack/initDebug

Blackjack_initGameDebug

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
betAmount string req Bet amount in
sideBetAmount string opt Side bet amount for Perfect Pair in
deck array req Deck of cards. Array of unique numbers 1 - 52.
windowId string opt

Response 201:

field type required description
data ? req

Sample curl

curl -X POST http://localhost:4000/casino/games/house/blackjack/initDebug \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/dice/bet

Dice_bet

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
betAmount string req Bet amount in
threshold number req
above boolean req
windowId string opt

Response 201:

field type required description
currencyId string req
betAmount string req
payout string req
createdAt string req
multiplier number req
above boolean req
randomValue number req
threshold number req
didWin boolean req
betId string req

Sample curl

curl -X POST http://localhost:4000/casino/games/house/dice/bet \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: Blind spot (medium). DiceService.play and BetService.createAndSettleBet have no manual span. Trace jumps HTTP → Prisma $transaction. Bet-settled BullMQ consumer starts an orphan trace (no traceparent propagation through job data). See perf-trace-coverage-audit.md §dice.

GET /casino/games/house/dice/config

Dice_getConfig

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
maxMultiplier number req
rtp number req
minBet number req
maxProfit number req
maxBet number req

Sample curl

curl -X GET http://localhost:4000/casino/games/house/dice/config \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/keno/bet

Keno_bet

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
betAmount string req Bet amount in
risk string req
selected array req List of numbers
windowId string opt

Response 201:

field type required description
currencyId string req
betAmount string req
payout string req
createdAt string req
multiplier number req
results array req
betId string req

Sample curl

curl -X POST http://localhost:4000/casino/games/house/keno/bet \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/house/keno/config

Keno_getConfig

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
multipliers object req
minBet number req
maxProfit number req
maxBet number req

Sample curl

curl -X GET http://localhost:4000/casino/games/house/keno/config \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/limbo/bet

Limbo_bet

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
betAmount string req Bet amount in
multiplier number req
windowId string opt

Response 201:

field type required description
currencyId string req
betAmount string req
payout string req
createdAt string req
multiplier number req
randomMultiplier number req
betId string req

Sample curl

curl -X POST http://localhost:4000/casino/games/house/limbo/bet \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: Same blind spot pattern as dice — no service span, BullMQ consumer orphaned.

GET /casino/games/house/limbo/config

Limbo_getConfig

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
maxMultiplier number req
minMultiplier number req
rtp number req
minBet number req
maxProfit number req
maxBet number req

Sample curl

curl -X GET http://localhost:4000/casino/games/house/limbo/config \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/mines/auto-spin

Mines_autoSpin

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
betAmount string req Bet amount in
gridCellsCount number req
bombsCount number req
windowId string opt
cellIndices array req

Response 201:

field type required description
currencyId string req
betAmount string req
payout string req
finishedAt string req
multiplier number req
board object req
betId string req

Sample curl

curl -X POST http://localhost:4000/casino/games/house/mines/auto-spin \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/house/mines/board

Mines_board

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
currentMultiplier number req
nextMultiplier number req
cells object req
openedCellsCount number req
gridCellsCount number req
bombsCount number req
betInfo ref→HouseGameMinesBetInfo req

Sample curl

curl -X GET http://localhost:4000/casino/games/house/mines/board \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/mines/cash-out

Mines_cashOut

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
windowId string opt

Response 201:

field type required description
currencyId string req
betAmount string req
payout string req
finishedAt string req
multiplier number req
board object req
betId string req

Sample curl

curl -X POST http://localhost:4000/casino/games/house/mines/cash-out \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/house/mines/config

Mines_getConfig

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
minBet number req
maxProfit number req
maxBet number req

Sample curl

curl -X GET http://localhost:4000/casino/games/house/mines/config \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/mines/open

Mines_open

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
cellIndex number req
windowId string opt

Response 201:

field type required description
proceed ref→OpenCellMinesResponseDto opt
finished ref→MinesGameResponseDto opt

Sample curl

curl -X POST http://localhost:4000/casino/games/house/mines/open \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/mines/play

Mines_play

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
betAmount string req Bet amount in
gridCellsCount number req
bombsCount number req
windowId string opt

Response 201:

field type required description
currentMultiplier number req
nextMultiplier number req
cells object req
openedCellsCount number req
gridCellsCount number req
bombsCount number req
betInfo ref→HouseGameMinesBetInfo req

Sample curl

curl -X POST http://localhost:4000/casino/games/house/mines/play \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/monkey-run/bet

MonkeyRun_bet

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
betAmount string req Bet amount in
difficulty string req
windowId string opt

Response 201:

field type required description
difficulty string req
currencyId string req
betAmount string req
cashOut string req
nextStepProfit string req
isFinished boolean req
canCashOut boolean req
multipliers array req
step number req
deadPoint number opt

Sample curl

curl -X POST http://localhost:4000/casino/games/house/monkey-run/bet \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /casino/games/house/monkey-run/cash-out

MonkeyRun_cashOut

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
windowId string opt

Response 200:

field type required description
difficulty string req
currencyId string req
betAmount string req
cashOut string req
nextStepProfit string req
isFinished boolean req
canCashOut boolean req
multipliers array req
step number req
deadPoint number opt

Sample curl

curl -X PUT http://localhost:4000/casino/games/house/monkey-run/cash-out \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/house/monkey-run/config

MonkeyRun_getConfig

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
minBet number req In USD
maxBet number req In USD
maxProfit number req In USD
difficulties object req
rtp number req
maxMultiplier number req

Sample curl

curl -X GET http://localhost:4000/casino/games/house/monkey-run/config \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/house/monkey-run/game

MonkeyRun_board

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
difficulty string req
currencyId string req
betAmount string req
cashOut string req
nextStepProfit string req
isFinished boolean req
canCashOut boolean req
multipliers array req
step number req
deadPoint number opt

Sample curl

curl -X GET http://localhost:4000/casino/games/house/monkey-run/game \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/monkey-run/play

MonkeyRun_play

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
windowId string opt
makeStep number req

Response 201:

field type required description
difficulty string req
currencyId string req
betAmount string req
cashOut string req
nextStepProfit string req
isFinished boolean req
canCashOut boolean req
multipliers array req
step number req
deadPoint number opt

Sample curl

curl -X POST http://localhost:4000/casino/games/house/monkey-run/play \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/plinko/bet

Plinko_bet

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
betAmount string req Bet amount in
risk string req
rowsCount number req
windowId string opt

Response 201:

field type required description
currencyId string req
betAmount string req
payout string req
createdAt string req
multiplier number req
results array req
betId string req

Sample curl

curl -X POST http://localhost:4000/casino/games/house/plinko/bet \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/house/plinko/config

Plinko_getConfig

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
manualMs number req
autoMs number req
minBet number req
maxProfit number req
maxBet number req

Sample curl

curl -X GET http://localhost:4000/casino/games/house/plinko/config \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/roulette/bet

Roulette_bet

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
betAmount string req Bet amount in
params object req The parameters for placing a roulette bet
windowId string opt

Response 201:

field type required description
currencyId string req
betAmount string req
payout string req
createdAt string req
randomPosition number req
multiplier number req
betId string req

Sample curl

curl -X POST http://localhost:4000/casino/games/house/roulette/bet \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/house/roulette/config

Roulette_getConfig

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
minBet number req
maxProfit number req
maxBet number req

Sample curl

curl -X GET http://localhost:4000/casino/games/house/roulette/config \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /casino/games/house/speed-roulette/bet

SpeedRouletteApi_placeBet

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
betAmount string req
color string req
windowId string opt

Response 201:

field type required description
currencyId string req
betAmount string req
color string req

Sample curl

curl -X POST http://localhost:4000/casino/games/house/speed-roulette/bet \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/house/speed-roulette/config

SpeedRouletteApi_getConfig

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
minBet number req In USD
maxBet number req In USD
maxProfit number req In USD
timeConfig ? req

Sample curl

curl -X GET http://localhost:4000/casino/games/house/speed-roulette/config \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/house/speed-roulette/info

SpeedRouletteApi_getInfo

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
game ref→SpeedRouletteGamePublicDto req
usersBets array req
latestStats array req
latestGames array req
timeToNextBlockMs number req

Sample curl

curl -X GET http://localhost:4000/casino/games/house/speed-roulette/info \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/main

Returns games for main page. Enabled only 4 categories (see examples)

Other game endpoints will keep sort order by default.Enabled categories for main page: Only: HOUSE_GAME, SLOTS, ROULETTE, GAME_SHOWS

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
HOUSE_GAME array opt
SLOTS array opt
LIVE_CASINO array opt
BLACKJACK array opt
ROULETTE array opt
GAME_SHOWS array opt
BACCARAT array opt
VIDEO_POKER array opt
CARD array opt
CASUAL array opt
LOTTERY array opt
LIVE array opt
POKER array opt
CRAPS array opt
FISHING array opt
CRASH array opt
VIRTUAL_SPORTS array opt
SCRATCH array opt
NEW_RELEASES array opt

Sample curl

curl -X GET http://localhost:4000/casino/games/main \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/providers

Games_findManyProviders

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
gameCategory query opt string
sortOrder query req string
sortBy query req string
name query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/casino/games/providers \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /casino/games/{slug}

Games_findGameExtended

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
slug path req string

Response 200:

field type required description
categories array req
id number req
addedAt string req
lastPlayedAt string req
type object req
slug string req
name string req
images ? req
info ? req
provider ref→GameProviderPublicDto req
isFavorite boolean opt

Sample curl

curl -X GET http://localhost:4000/casino/games/{slug} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Challenge API

GET /challenge

Challenge_findManyChallenges

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
status query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/challenge \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /challenge/my

Challenge_findMyChallenges

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
isFinished query opt boolean
winnerSearch query opt string Search for a winner by id, slug
isHidden query opt boolean
gameSlug query opt string
page query req number
take query req number

Response 200: (no body)

Sample curl

curl -X GET http://localhost:4000/challenge/my \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /challenge/{id}

Challenge_findUniqueChallenge

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Response 200:

field type required description
minBetAmountUsd string req
rewardCurrency string req
rewardAmount string req
rewardUsdAmount string opt Challenge reward amount converted to USDT
id string req
createdAt string req
minBetMultiplier number req
title string opt
betId string req
winner object req
targetGame ref→GameIdentityPublicDto req
imageUrl string req

Sample curl

curl -X GET http://localhost:4000/challenge/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Coming Soon API

GET /coming-soon/stats

ComingSoon_getComingSoonStats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
isVerified boolean req
position number req
affiliateCode string req
referralsCount number req
ticketsEarned number req

Sample curl

curl -X GET http://localhost:4000/coming-soon/stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Core API

GET /config/{code}

(Anonymous) Get site config by code

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
code path req string USER, AFFILIATES, WITHDRAWALS

Response 200: object

Sample curl

curl -X GET http://localhost:4000/config/{code} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /feature

(Optional Auth) Get site config by code

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: object

Sample curl

curl -X GET http://localhost:4000/feature \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /health

Health_check

Auth: public

Response 200:

field type required description
status string opt
info object opt
error object opt
details object opt

Response 503:

field type required description
status string opt
info object opt
error object opt
details object opt

Sample curl

curl -X GET http://localhost:4000/health

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Country API

GET /country

Country_getMany

Auth: public

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/country

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Currency

GET /currency

Currency_findMany

Auth: public

Response 200: array of

field type required description
id string req
name string req
digits number req

Sample curl

curl -X GET http://localhost:4000/currency

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Debug API

POST /debug/auth/login/{username}

Register or login user

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
username path req string

Response 201:

field type required description
accessToken ref→AuthSessionTokenDto req
refreshToken ref→AuthSessionTokenDto req
socketToken ref→AuthSessionTokenDto req

Sample curl

curl -X POST http://localhost:4000/debug/auth/login/{username} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /debug/deposit/emulate-success/{userId}

Emulate success deposit

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/debug/deposit/emulate-success/{userId} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /debug/deposit/{userId}

Create test deposit

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Request body (application/json):

field type required description
payment_id number req
parent_payment_id number req
invoice_id string req
payment_status string req
pay_address string req
payin_extra_id string req
price_amount number req
price_currency string req
pay_amount number req
actually_paid number req
actually_paid_at_fiat number req
pay_currency object req
order_id string req
order_description string req
purchase_id string req Unique ID for each transaction. Even in context of one payme
outcome_amount number req
outcome_currency object req
payment_extra_ids array req
fee ref→NowpaymentWebhookPaymentFeeDto req

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/debug/deposit/{userId} \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /debug/gateway/emit

Debug_emitMessage

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
event string req
room string opt
user ref→GatewayUserBase opt
delayMs number opt
data object req
timestamp number opt
windowId string opt
idempotencyKey string opt
accessToken string opt
traceId string opt
requestAppName string opt
responseAppName string opt

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/debug/gateway/emit \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /debug/gateway/send

Debug_sendMessage

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
event string req
room string opt
user ref→GatewayUserBase opt
delayMs number opt
data object req
timestamp number opt
windowId string opt
idempotencyKey string opt
accessToken string opt
traceId string opt
requestAppName string opt
responseAppName string opt

Response 201: object

Sample curl

curl -X POST http://localhost:4000/debug/gateway/send \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /debug/gr8/auth

GR8 S2S login

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: object

Sample curl

curl -X GET http://localhost:4000/debug/gr8/auth \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /debug/gr8/auth

GR8 S2S login

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
clientId string req
clientSecret string req
xBrand string req
xOperatorId string req

Response 201: object

Sample curl

curl -X POST http://localhost:4000/debug/gr8/auth \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /debug/gr8/get-bet

GR8 S2S login

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
betId string req
xBrand string req
xOperatorId string req
authorization string req

Response 201: object

Sample curl

curl -X POST http://localhost:4000/debug/gr8/get-bet \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /debug/me/give-admin

Give me SuperAdmin

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
debug_token query req string

Response 200:

field type required description
exp string req
permissions array req
id number req
createdAt string req
updatedAt string req
username string req
isPrivate boolean req
email string req
emailVerified boolean req
lastLoginAt string req
avatar string req
mfaSecret string req
vipLevel number req
steamId string req
steamTradeLink string req
googleEmail string req
isStreamer boolean req
isStreamerMode boolean req
isStaff boolean req
isYoutuber boolean req

Sample curl

curl -X GET http://localhost:4000/debug/me/give-admin \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /debug/me/give-money

Give me money

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
amount query req number

Response 200: (no body)

Sample curl

curl -X GET http://localhost:4000/debug/me/give-money \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /debug/notification/send

Debug_notification

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
userId number opt
type string req
data object req

Response 201: object

Sample curl

curl -X POST http://localhost:4000/debug/notification/send \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /debug/user/action

Execute test user action

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
userId number opt
username string opt
actions array req

Response 201: object

Sample curl

curl -X POST http://localhost:4000/debug/user/action \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /debug/user/create

Create test user

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
createdAt string opt
username string req
isPrivate boolean req

Response 201:

field type required description
exp string req
permissions array req
id number req
createdAt string req
updatedAt string req
username string req
isPrivate boolean req
email string req
emailVerified boolean req
lastLoginAt string req
avatar string req
mfaSecret string req
vipLevel number req
steamId string req
steamTradeLink string req
googleEmail string req
isStreamer boolean req
isStreamerMode boolean req
isStaff boolean req
isYoutuber boolean req

Sample curl

curl -X POST http://localhost:4000/debug/user/create \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Exchange Rates API

GET /exchange-rates

ExchangeRates_getMany

Auth: public

Parameters

name in required type description
fiatCurrency query req string

Response 200:

field type required description
DBC string req
EVO string req
XRP string req
BTC string req
ETH string req
LTC string req
TRX string req
POL string req
USDT string req
BNB string req
SOL string req
USDC string req
TETH string req

Sample curl

curl -X GET http://localhost:4000/exchange-rates

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

FAQ API

GET /faq

Faq_findAllFaqs

Auth: public

Response 200: array of

field type required description
id number req
title string req
text string req
order number req
createdAt string req
updatedAt string req

Sample curl

curl -X GET http://localhost:4000/faq

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /faq/{id}

Faq_findFaqById

Auth: public

Parameters

name in required type description
id path req number

Response 200:

field type required description
id number req
title string req
text string req
order number req
createdAt string req
updatedAt string req

Sample curl

curl -X GET http://localhost:4000/faq/{id}

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

FAST_TRACK external auth

GET /fast-track/integration/auth/get-fast-track-token

Get JWT token for FastTrack

Auth: public

Response 200:

field type required description
token string req

Sample curl

curl -X GET http://localhost:4000/fast-track/integration/auth/get-fast-track-token

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Fairness API

GET /fairness/history

History of previous fairness seeds. Server seed is not hashed

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/fairness/history \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /fairness/seed

Returns current fairness seed. If not exists - seed will be created. Server seed is hashed

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
clientSeed string req
nonce number req
hashedServerSeed string req
nextHashedServerSeed string req

Sample curl

curl -X GET http://localhost:4000/fairness/seed \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /fairness/seed

Update client seed. It triggers generating a new server seed

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
clientSeed string req

Response 200:

field type required description
clientSeed string req
nonce number req
hashedServerSeed string req
nextHashedServerSeed string req

Sample curl

curl -X PUT http://localhost:4000/fairness/seed \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /fairness/unhashed-seed

Try to get seed details by hashed server seed

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
hashedServerSeed query req string

Response 200:

field type required description
id string req
createdAt string req
userId number req
serverSeed string req
hashedServerSeed string req
clientSeed string req
nonce number req

Sample curl

curl -X GET http://localhost:4000/fairness/unhashed-seed \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

FastTrack

POST /fast-track/bonus/credit

FastTrack_creditBonus

Auth: public

Request body (application/json):

field type required description
user_id string req
bonus_code string req

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/fast-track/bonus/credit \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /fast-track/bonus/credit/funds

FastTrack_creditBonusFunds

Auth: public

Request body (application/json):

field type required description
user_id string req
bonus_code string req
amount string req
currency string req

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/fast-track/bonus/credit/funds \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /fast-track/bonus/list

FastTrack_getBonusList

Auth: public

Response 200:

field type required description
Data array req
Success boolean req
Errors array req

Sample curl

curl -X GET http://localhost:4000/fast-track/bonus/list

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /fast-track/reconciliation

FastTrack_reconciliation

Auth: public

Request body (application/json):

field type required description
user_id string req
bonus_code string req
amount string req
currency string req

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/fast-track/reconciliation \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /fast-track/userblocks/{userid}

FastTrack_getUserBlocks

Auth: public

Parameters

name in required type description
userid path req number

Response 200:

field type required description
blocks array req

Sample curl

curl -X GET http://localhost:4000/fast-track/userblocks/{userid}

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /fast-track/userconsents/{userid}

FastTrack_getUserConsents

Auth: public

Parameters

name in required type description
userid path req number

Response 200:

field type required description
consents array req

Sample curl

curl -X GET http://localhost:4000/fast-track/userconsents/{userid}

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /fast-track/userdetails/{userid}

FastTrack_getUserDetails

Auth: public

Parameters

name in required type description
userid path req number

Response 200:

field type required description
address string req
birth_date string req ISO format. "YYYY-MM-DD"
city string req
country string req Country of Registration, in ISO alpha-2 format
currency string req Currency code
deleted_at string opt Date of player being deleted in RFC3339 format
email string req
first_name string req
is_blocked boolean req
is_excluded boolean req
language string req Language Code
last_name string req
mobile string req These values are not stored by us Number without country cod
mobile_prefix string req These values are not stored by us Country Code
origin string req The Origin of the user example: "sub.example.com"
postal_code string req
roles array req Roles on site
sex string req example: "Sex"
title string req example: "Mr"
user_id string req

Sample curl

curl -X GET http://localhost:4000/fast-track/userdetails/{userid}

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

FastTrackDebug

DELETE /

Purge all messages from a queue

Auth: public

Parameters

name in required type description
queueName query opt string Name of the queue to purge

Response 200:

field type required description
success boolean req Indicates if the operation was successful
purgedCount number req Number of messages purged from the queue
queueName string req Name of the queue that was purged

Response 404: Queue not found

Sample curl

curl -X DELETE http://localhost:4000/

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /

Get information about a queue

Auth: public

Parameters

name in required type description
queueName query opt string Name of the queue to inspect

Response 200:

field type required description
name string req Name of the queue
messageCount number req Number of messages in the queue
consumerCount number req Number of consumers connected to the queue

Response 404: Queue not found

Sample curl

curl -X GET http://localhost:4000/

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /emit-event

Emit an event to RabbitMQ using publish-subscribe pattern

Auth: public

Request body (application/json):

field type required description
event string req The event name or description
data object req Event payload data

Response 201:

field type required description
success boolean req Indicates if the operation was successful

Sample curl

curl -X POST http://localhost:4000/emit-event \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /messages

Peek at messages in a queue without consuming them

Auth: public

Parameters

name in required type description
queueName query opt string Name of the queue to inspect
count query opt number Maximum number of messages to peek

Response 200: array of

field type required description
messageId string req Unique identifier for the message
timestamp string req Timestamp when the message was published
routingKey string req Routing key used for the message
exchange string req Exchange the message was published to
content object req The message content/payload
properties object req Message properties and headers

Response 404: Queue not found

Sample curl

curl -X GET http://localhost:4000/messages

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /send-message

Send a message to RabbitMQ using request-response pattern

Auth: public

Request body (application/json):

field type required description
text string req The message text to be sent via RabbitMQ
metadata object opt Additional metadata for the message (optional)

Response 201:

field type required description
success boolean req Indicates if the operation was successful
result object req The result returned from the message handler

Sample curl

curl -X POST http://localhost:4000/send-message \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GEO Restrictions API

GET /geo

Geo_check

Auth: public

Response 200:

field type required description
countryName string opt
regionName string opt
isAllowed boolean req
countryCode string opt
regionCode string opt
position array opt
ip string req

Sample curl

curl -X GET http://localhost:4000/geo

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

KYC API

POST /kyc

Kyc_upgradeKyc

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
data ref→UpdateUserKycDto opt

Response 201:

field type required description
level string req
verificationPending boolean req
token string req

Sample curl

curl -X POST http://localhost:4000/kyc \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /kyc/notify/application-reviewed

Webhook for application reviewed

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
levelName string req
applicantId string req
inspectionId string req
correlationId string req
externalUserId number req
type string req
reviewResult ref→ApplicationReviewResult req
reviewStatus string req
createdAtMs string req

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/kyc/notify/application-reviewed \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /kyc/notify/new-application

Webhook for new application

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
levelName string req
applicantId string req
inspectionId string req
applicantType string req
correlationId string req
externalUserId number req
type string req
sandboxMode boolean req
reviewStatus string req
createdAtMs string req
clientId string req

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/kyc/notify/new-application \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

KYC Admin API

PATCH /admin/kyc/{userId}

Update User KYC info by admin

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Request body (application/json):

field type required description
firstName string opt
lastName string opt
dateOfBirth string opt
address string opt
city string opt

Response 200:

field type required description
gender string req
level string req
firstName string req
lastName string req
dateOfBirth string req
countryCode string req
address string req
postalCode string req
city string req
occupation string req
verificationPending boolean req
userId number req
createdAt string req
updatedAt string req

Sample curl

curl -X PATCH http://localhost:4000/admin/kyc/{userId} \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/kyc/{userId}/info

User KYC info with 5 sumsub requests

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Response 200:

field type required description
gender string req
level string req
firstName string req
lastName string req
dateOfBirth string req
countryCode string req
address string req
postalCode string req
city string req
occupation string req
verificationPending boolean req
userId number req
createdAt string req
updatedAt string req
kycVerificationRequests array req

Sample curl

curl -X GET http://localhost:4000/admin/kyc/{userId}/info \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/kyc/{userId}/info

Update User KYC level and verification pending status

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
userId path req number

Request body (application/json):

field type required description
level string req
verificationPending boolean req

Response 201:

field type required description
gender string req
level string req
firstName string req
lastName string req
dateOfBirth string req
countryCode string req
address string req
postalCode string req
city string req
occupation string req
verificationPending boolean req
userId number req
createdAt string req
updatedAt string req

Sample curl

curl -X POST http://localhost:4000/admin/kyc/{userId}/info \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Leaderboard API

GET /leaderboards

Leaderboard_getLeaderboardsPublic

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
finished query opt boolean
type query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/leaderboards \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /leaderboards/id/{id}

Leaderboard_getLeaderboardHistory

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Response 200:

field type required description
type string req
status string req
id string req
name string req
description string req
config ref→LeaderboardConfigDto req
startDate string req
endDate string req
leaderboardUsers array req
currentUser ? opt
previousLeaderboard ? opt

Sample curl

curl -X GET http://localhost:4000/leaderboards/id/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /leaderboards/{type}

Leaderboard_getLeaderboardPublic

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
type path req string

Response 200:

field type required description
type string req
status string req
id string req
name string req
description string req
config ref→LeaderboardConfigDto req
startDate string req
endDate string req
leaderboardUsers array req
currentUser ? opt
previousLeaderboard ? opt

Sample curl

curl -X GET http://localhost:4000/leaderboards/{type} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Notifications API

DELETE /notifications

Notification_deleteNotification

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: (no body)

Sample curl

curl -X DELETE http://localhost:4000/notifications \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /notifications

Notification_getNotifications

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: array of

field type required description
id string req
date number req
userId number req
type string req
isNew boolean req
content object req

Sample curl

curl -X GET http://localhost:4000/notifications \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /notifications/aware

Notification_aware

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/notifications/aware \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Payments API

GET /payments/deposit

Deposit_getMany

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
status query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/payments/deposit \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /payments/deposit/static-address

Deposit_getOrCreateAddress

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
networkId string req
providerId string req

Response 201:

field type required description
currencyId string req
networkId string req
providerId string req
addressValidUntil string opt Only for CRYPTO_2
minAmount string opt Only for CRYPTO_2
minAmountUsd string opt Only for CRYPTO_2
address string req
memo string req

Sample curl

curl -X POST http://localhost:4000/payments/deposit/static-address \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /payments/network

Network_findMany

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/payments/network \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /payments/withdraw

Withdraw_findMany

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
status query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/payments/withdraw \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /payments/withdraw

Withdraw_create

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
providerId string req
currencyId string req
networkId string req
fromBalance ref→AmountBalanceDto req
recipientAddress string req
recipientMemo string req

Response 201:

field type required description
amount string req
currencyId string req
status string req
usdAmount string req
networkId string req
providerId string req
recipientAddress string req
recipientMemo string req
confirmedAt string req
updatedAt string req
id string req
txHash string req
createdAt string req

Sample curl

curl -X POST http://localhost:4000/payments/withdraw \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /payments/withdraw/fee

Withdraw_getWithdrawFee

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
currencyId string req
networkId string req
providerId string req
amount string req

Response 201:

field type required description
currencyId string req
networkId string req
providerId string req
amount string req
receivingAmount string req
feeAmount string req

Sample curl

curl -X POST http://localhost:4000/payments/withdraw/fee \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /payments/withdraw/limits

Withdraw_getWithdrawLimits

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
currencyId query req string
networkId query req string
providerId query req string

Response 200:

field type required description
currencyId string req
networkId string req
providerId string req
minUsdAmount string req
maxUsdAmount string req

Sample curl

curl -X GET http://localhost:4000/payments/withdraw/limits \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /payments/withdraw/{id}

Returns withdraw by id. If "PENDING" - tries to update withdraw status from provider's api

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Response 200:

field type required description
amount string req
currencyId string req
status string req
usdAmount string req
networkId string req
providerId string req
recipientAddress string req
recipientMemo string req
confirmedAt string req
updatedAt string req
id string req
txHash string req
createdAt string req

Sample curl

curl -X GET http://localhost:4000/payments/withdraw/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Payments SkinDeck API

POST /payments/skindeck/deposit/create

SkinDeck_createDepositTrade

Create deposit via SkinDeck

Auth: required (cookie — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
itemId string req Item ID
offer ? req Offer

Response 201:

field type required description
trade ref→SkinDeckTradeResponse req

Sample curl

curl -X POST http://localhost:4000/payments/skindeck/deposit/create \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /payments/skindeck/deposit/inventory

SkinDeck_getDepositInventory

Get available user inventory via SkinDeck

Auth: required (cookie — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
minPrice query opt number Min price.
maxPrice query opt number Max price.
sort query opt string Sort by.
search query opt string Search.
refresh query opt boolean Refresh
page query req number
take query req number

Response 200:

field type required description
count number req
inventory array req
updatedAt string req

Sample curl

curl -X GET http://localhost:4000/payments/skindeck/deposit/inventory \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Promo API

GET /promo/bonuses

List of activated promos with statuses

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
isActive query opt boolean
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/promo/bonuses \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /promo/history

List of activated promos with statuses

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
isActive query opt boolean
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/promo/history \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /promo/public

List of public promos

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
isActive query opt boolean
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/promo/public \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /promo/public/{code}

Returns a detailed info about a promo code

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
code path req string

Response 200:

field type required description
type string req
amount string req
currencyId string req
minTotalWagerUsdToClaim string req
minTotalDepositUsdToClaim string req
minDepositUsdToActivate string req
maxBonusUsdAmount string req
wagerMultiplierToComplete string req
wagerUsdAmountToComplete string req
id string req
publicContent object req
code string req
title string req
description string req
imageUrl string req
expiresAt string req
minKYCLevelToClaim object req
minVipLevelToClaim number req
onlyZeroDepositsToClaim boolean req
timeSecondsToComplete number req

Sample curl

curl -X GET http://localhost:4000/promo/public/{code} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Promo Admin API

GET /admin/promo

Find many promo codes

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
isActive query opt boolean
type query opt string
search query opt string
affiliateCode query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/promo \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /admin/promo

Create a promo code

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
amount string req
currencyId string req
minKYCLevelToClaim string opt
minTotalWagerUsdToClaim string opt
minTotalDepositUsdToClaim string opt
title string req
code string req
isHidden boolean opt
isActive boolean opt
expiresAt string req
claimsLeft number opt
minVipLevelToClaim number opt
affiliateCodeToClaim string opt
lockWithdrawOnClaimHours number opt

Response 200:

field type required description
type string req
amount string req
currencyId string req
isActive boolean req
minKYCLevelToClaim string req
minTotalWagerUsdToClaim string req
minTotalDepositUsdToClaim string req
minDepositUsdToActivate string req
maxBonusUsdAmount string req
wagerMultiplierToComplete string req
wagerUsdAmountToComplete string req
claimedCount number opt Number of users who have claimed this promo code
id string req
createdAt string req
updatedAt string req
createdById number req
title string req
description string req
imageUrl string req
publicContent object req

Sample curl

curl -X PUT http://localhost:4000/admin/promo \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /admin/promo/deposit

Create a first deposit promo code

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
minDepositUsdToActivate string req
maxBonusUsdAmount string req
title string req
description string opt
code string req
publicContent object opt
isHidden boolean req
isActive boolean req
isPublic boolean req
expiresAt string req
lockWithdrawOnClaimHours number opt
bonusMultiplier number req
timeSecondsToComplete number req
wagerMultiplierToComplete number req

Response 200:

field type required description
type string req
amount string req
currencyId string req
isActive boolean req
minKYCLevelToClaim string req
minTotalWagerUsdToClaim string req
minTotalDepositUsdToClaim string req
minDepositUsdToActivate string req
maxBonusUsdAmount string req
wagerMultiplierToComplete string req
wagerUsdAmountToComplete string req
claimedCount number opt Number of users who have claimed this promo code
id string req
createdAt string req
updatedAt string req
createdById number req
title string req
description string req
imageUrl string req
publicContent object req

Sample curl

curl -X PUT http://localhost:4000/admin/promo/deposit \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/promo/deposit/{id}

Update a first deposit promo code

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Request body (application/json):

field type required description
minDepositUsdToActivate string opt
maxBonusUsdAmount string opt
title string opt
description string opt
code string opt
publicContent object opt
isHidden boolean opt
isActive boolean opt
isPublic boolean opt
expiresAt string opt
lockWithdrawOnClaimHours number opt
bonusMultiplier number opt
timeSecondsToComplete number opt
wagerMultiplierToComplete number opt

Response 200:

field type required description
type string req
amount string req
currencyId string req
isActive boolean req
minKYCLevelToClaim string req
minTotalWagerUsdToClaim string req
minTotalDepositUsdToClaim string req
minDepositUsdToActivate string req
maxBonusUsdAmount string req
wagerMultiplierToComplete string req
wagerUsdAmountToComplete string req
claimedCount number opt Number of users who have claimed this promo code
id string req
createdAt string req
updatedAt string req
createdById number req
title string req
description string req
imageUrl string req
publicContent object req

Sample curl

curl -X PATCH http://localhost:4000/admin/promo/deposit/{id} \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/promo/deposit/{id}/games

Get a promo code game whitelist

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/promo/deposit/{id}/games \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /admin/promo/deposit/{id}/games

Upsert a promo code game whitelist. 50 games per request.

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Request body (application/json):

field type required description
gameWhitelist array req

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/admin/promo/deposit/{id}/games \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PUT /admin/promo/many

Create many promo codes by template

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
amount string req
currencyId string req
minKYCLevelToClaim string req
minTotalWagerUsdToClaim string req
minTotalDepositUsdToClaim string req
count number req
title string req
addTitleSeries boolean req
isHidden boolean req
isActive boolean req
expiresAt string req
minVipLevelToClaim number req
affiliateCodeToClaim string req
lockWithdrawOnClaimHours number req

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X PUT http://localhost:4000/admin/promo/many \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

DELETE /admin/promo/{id}

Deactivate a promo code (can be restored)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Response 200:

field type required description
type string req
amount string req
currencyId string req
isActive boolean req
minKYCLevelToClaim string req
minTotalWagerUsdToClaim string req
minTotalDepositUsdToClaim string req
minDepositUsdToActivate string req
maxBonusUsdAmount string req
wagerMultiplierToComplete string req
wagerUsdAmountToComplete string req
claimedCount number opt Number of users who have claimed this promo code
id string req
createdAt string req
updatedAt string req
createdById number req
title string req
description string req
imageUrl string req
publicContent object req

Sample curl

curl -X DELETE http://localhost:4000/admin/promo/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/promo/{id}

Find a promo code by ID

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Response 200:

field type required description
type string req
amount string req
currencyId string req
isActive boolean req
minKYCLevelToClaim string req
minTotalWagerUsdToClaim string req
minTotalDepositUsdToClaim string req
minDepositUsdToActivate string req
maxBonusUsdAmount string req
wagerMultiplierToComplete string req
wagerUsdAmountToComplete string req
claimedCount number opt Number of users who have claimed this promo code
id string req
createdAt string req
updatedAt string req
createdById number req
title string req
description string req
imageUrl string req
publicContent object req

Sample curl

curl -X GET http://localhost:4000/admin/promo/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/promo/{id}

Update a promo code

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Request body (application/json):

field type required description
amount string req
currencyId string req
minKYCLevelToClaim string opt
minTotalWagerUsdToClaim string opt
minTotalDepositUsdToClaim string opt
title string req
code string req
isHidden boolean opt
isActive boolean opt
expiresAt string req
claimsLeft number opt
minVipLevelToClaim number opt
affiliateCodeToClaim string opt
lockWithdrawOnClaimHours number opt

Response 200:

field type required description
type string req
amount string req
currencyId string req
isActive boolean req
minKYCLevelToClaim string req
minTotalWagerUsdToClaim string req
minTotalDepositUsdToClaim string req
minDepositUsdToActivate string req
maxBonusUsdAmount string req
wagerMultiplierToComplete string req
wagerUsdAmountToComplete string req
claimedCount number opt Number of users who have claimed this promo code
id string req
createdAt string req
updatedAt string req
createdById number req
title string req
description string req
imageUrl string req
publicContent object req

Sample curl

curl -X PATCH http://localhost:4000/admin/promo/{id} \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/user-promo

Find claimed users' promo codes

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
userId query opt number
status query opt string
type query opt string
promoId query opt string
promoCode query opt string
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/user-promo \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

DELETE /admin/user-promo/{id}

Cancel a user promo code

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req string

Request body (application/json):

field type required description
customDecreaseAmount string req

Response 200:

field type required description
success boolean req

Sample curl

curl -X DELETE http://localhost:4000/admin/user-promo/{id} \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Rakeback API

GET /rakeback

Rakeback_findOneRakeback

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
instant ref→RakebackInstantDto req
daily ref→RakebackWithPeriodDto req
weekly ref→RakebackWithPeriodDto req
monthly ref→RakebackWithPeriodDto req

Sample curl

curl -X GET http://localhost:4000/rakeback \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /rakeback/claim

Rakeback_claimRakeback

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
type string req
double boolean opt

Response 201:

field type required description
rakeback array req

Sample curl

curl -X POST http://localhost:4000/rakeback/claim \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Session API

GET /session

Get all sessions

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
onlyActive query opt boolean
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/session \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

DELETE /session/log-out/current

Log out my device

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
success boolean req

Sample curl

curl -X DELETE http://localhost:4000/session/log-out/current \
  -H 'Cookie: access_token=<JWT>'

Tracing context: Blind spot (medium). SessionService.logOutSingle has no manual span — Prisma session.delete auto-span is attributed straight to controller. See perf-trace-coverage-audit.md §logout.

DELETE /session/log-out/other

Log out of all devices except the current one

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
success boolean req

Sample curl

curl -X DELETE http://localhost:4000/session/log-out/other \
  -H 'Cookie: access_token=<JWT>'

Tracing context: Same blind spot as /log-out/current.

DELETE /session/log-out/{sessionKey}

Log out of selected device by sessionKey

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sessionKey path req string

Response 200:

field type required description
success boolean req

Sample curl

curl -X DELETE http://localhost:4000/session/log-out/{sessionKey} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Sportsbook exteranal GR8 ( auth )

GET /sportsbook/integration/auth/get-sportsbook-public-key

Only for GR8. Cache - 15min

Auth: public

Response 200: string

Sample curl

curl -X GET http://localhost:4000/sportsbook/integration/auth/get-sportsbook-public-key

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /sportsbook/integration/auth/get-sportsbook-token

Get JWT token for sportsbook IFrame.

Auth: public

Response 200:

field type required description
token string req

Sample curl

curl -X GET http://localhost:4000/sportsbook/integration/auth/get-sportsbook-token

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Sportsbook external GR8

GET /sportsbook/integration/{userId}/balance

Only for GR8.

Auth: public

Parameters

name in required type description
userId path req string
currencies query opt ?

Response 200:

field type required description
sport object req

Sample curl

curl -X GET http://localhost:4000/sportsbook/integration/{userId}/balance

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /sportsbook/integration/{userId}/transactions

Only for GR8.

Auth: public

Parameters

name in required type description
userId path req string

Request body (application/json):

field type required description
id string req
currency object req
platform string req
type string req
initiatedAt string req
createdAt string req
context ref→TransactionContext req
amountBreakdown ref→BalanceAmountDto req

Response 201:

field type required description
balances ref→UserSportsBookDeposit req
status boolean req
alreadyProcessed boolean req
id string req
currency object req
platform string req
type string req
initiatedAt string req
createdAt string req
context ref→TransactionContext req
amountBreakdown ref→BalanceAmountDto req

Sample curl

curl -X POST http://localhost:4000/sportsbook/integration/{userId}/transactions \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /sportsbook/integration/{userId}/transactions/{transactionId}

Only for GR8.

Auth: public

Parameters

name in required type description
transactionId path req string
incomingType path opt string
betId path opt string
userId path req string

Response 200:

field type required description
balances ref→UserSportsBookDeposit req
status boolean req
alreadyProcessed boolean req
id string req
currency object req
platform string req
type string req
initiatedAt string req
createdAt string req
context ref→TransactionContext req
amountBreakdown ref→BalanceAmountDto req

Sample curl

curl -X GET http://localhost:4000/sportsbook/integration/{userId}/transactions/{transactionId}

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

User API

PATCH /user/change-password

(Auth)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
oldPassword string req
newPassword string req

Response 200:

field type required description
result string req

Sample curl

curl -X PATCH http://localhost:4000/user/change-password \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /user/confirm-password-reset

(Anonymous)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
token string req
newPassword string req

Response 200:

field type required description
result string req

Sample curl

curl -X PATCH http://localhost:4000/user/confirm-password-reset \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /user/disable-2fa

(Auth) Disable 2FA

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 201:

field type required description
success boolean req

Sample curl

curl -X POST http://localhost:4000/user/disable-2fa \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /user/enable-2fa

(Auth)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
otpPassword string req
mfaSecret string req

Response 201:

field type required description
recoveryCodes array req

Sample curl

curl -X POST http://localhost:4000/user/enable-2fa \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /user/forgot-password

(Anonymous)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
userEmail string req

Response 201:

field type required description
result string req

Sample curl

curl -X POST http://localhost:4000/user/forgot-password \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /user/generate-2fa

(Auth)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
secret string req
authUrl string req

Sample curl

curl -X GET http://localhost:4000/user/generate-2fa \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /user/me

(Auth)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
exp string req
createdAt string req
username string req
isPrivate boolean req
isStreamerMode boolean req
vipLevel number req
email string req
googleEmail string req
steamId string req
steamTradeLink string req
avatar string req
roles array req
permissions array req
isBanned boolean req
emailVerified boolean req
emailVerificationPending boolean req
kyc ? req
isEmailNotificationsEnabled boolean req
intercomToken string opt
mfaEnabled boolean req

Sample curl

curl -X GET http://localhost:4000/user/me \
  -H 'Cookie: access_token=<JWT>'

Tracing context: Auto HTTP + Prisma. Auth guard hits Redis session cache (auto-spanned).

PATCH /user/me

(Auth)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
isPrivate boolean opt
isStreamerMode boolean opt
isEmailNotificationsEnabled boolean opt
steamTradeLink string opt

Response 200:

field type required description
exp string req
createdAt string req
username string req
isPrivate boolean req
isStreamerMode boolean req
vipLevel number req
email string req
googleEmail string req
steamId string req
steamTradeLink string req
avatar string req
roles array req
permissions array req
isBanned boolean req
emailVerified boolean req
emailVerificationPending boolean req
kyc ? req
isEmailNotificationsEnabled boolean req
intercomToken string opt
mfaEnabled boolean req

Sample curl

curl -X PATCH http://localhost:4000/user/me \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /user/me/stats

(Auth)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
totalWagered string req
totalPayouts string req
totalDeposits string req
totalWithdraws string req
ltv string req
totalLoss string req
withdrawalLimit string req
totalBets number req
joined string req
referredCode string opt

Sample curl

curl -X GET http://localhost:4000/user/me/stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /user/request-email-verification

(Auth)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200: (no body)

Sample curl

curl -X GET http://localhost:4000/user/request-email-verification \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /user/reset-2fa

(Auth) Reset 2FA with recovery code

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 201:

field type required description
secret string req
authUrl string req

Sample curl

curl -X POST http://localhost:4000/user/reset-2fa \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /user/verify-email

(Anonymous)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
token query req string

Response 200:

field type required description
result string req

Sample curl

curl -X GET http://localhost:4000/user/verify-email \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /user/{username}/stats

(Anonymous)

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
username path req string

Response 200:

field type required description
exp string req
totalWagered string req
isPrivate boolean req
username string req
avatar string req
vipLevel number req
createdAt string req
totalBets number req

Sample curl

curl -X GET http://localhost:4000/user/{username}/stats \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

User Limits API

POST /traffic-income/registration

TrafficArbitrage_createRegistration

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
provider string req
subId string req

Response 201: (no body)

Sample curl

curl -X POST http://localhost:4000/traffic-income/registration \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /user-limits/self-exclusion

get self-exclusion

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
can boolean req
expiresAt string opt

Sample curl

curl -X GET http://localhost:4000/user-limits/self-exclusion \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /user-limits/self-exclusion

Create self-exclusion

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
excludeUntil string req

Response 201:

field type required description
can boolean req
expiresAt string opt

Sample curl

curl -X POST http://localhost:4000/user-limits/self-exclusion \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

User tips API

GET /admin/tips

Get tips history

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
userId query opt number
page query req number
take query req number

Response 200: allOf:

field type required description
data array req
take number req
page number req
total number req
totalPages number req
field type required description
data array opt
total number opt

Sample curl

curl -X GET http://localhost:4000/admin/tips \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /tips

Tips_findMany

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
page query req number
take query req number

Response 200:

field type required description
data array req
take number req
page number req
total number req
totalPages number req

Sample curl

curl -X GET http://localhost:4000/tips \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /tips

Send tip to a user

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
amount string req
currencyId string req
recipientUsername string req
isPublic boolean req

Response 201:

field type required description
success boolean req

Sample curl

curl -X POST http://localhost:4000/tips \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

VipApplication

GET /vip-program/application

VipApplication_getApplication

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Response 200:

field type required description
status object req
name string req
social string req
transfer object opt
favorites string opt
imageUrl array opt
createdAt string req
updatedAt string req

Sample curl

curl -X GET http://localhost:4000/vip-program/application \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /vip-program/application

VipApplication_upsertApplication

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (application/json):

field type required description
social string req
name string req
socialNick string req
transferSite string req
transferWagger number req
transferReasons string opt
transferAvgDeposit number req
transferPlaysWeek number req
favoritesGames string opt

Response 201:

field type required description
success boolean req

Sample curl

curl -X POST http://localhost:4000/vip-program/application \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /vip-program/upload/stats

VipApplication_uploadImageStats

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Request body (multipart/form-data):

field type required description
image file opt

Response 201:

field type required description
success boolean req

Sample curl

curl -X POST http://localhost:4000/vip-program/upload/stats \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

VipApplicationAdmin

GET /admin/vip-program/all

VipApplicationAdmin_getAdminApplications

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
sortBy query req string
sortOrder query req string
status query opt string
userId query opt number
search query opt string
page query req number
take query req number

Response 200: (no body)

Sample curl

curl -X GET http://localhost:4000/admin/vip-program/all \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

DELETE /admin/vip-program/{id}

VipApplicationAdmin_deleteApplication

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Response 200:

field type required description
success boolean req

Sample curl

curl -X DELETE http://localhost:4000/admin/vip-program/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

GET /admin/vip-program/{id}

VipApplicationAdmin_getApplication

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Response 200: object

Sample curl

curl -X GET http://localhost:4000/admin/vip-program/{id} \
  -H 'Cookie: access_token=<JWT>'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

PATCH /admin/vip-program/{id}/status

VipApplicationAdmin_updateApplication

Auth: required (bearer — JWT in Authorization: Bearer … or access_token cookie)

Parameters

name in required type description
id path req number

Request body (application/json):

field type required description
status string req

Response 200:

field type required description
success boolean req

Sample curl

curl -X PATCH http://localhost:4000/admin/vip-program/{id}/status \
  -H 'Cookie: access_token=<JWT>' \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

Webhooks

POST /payments/integration/ccpayment/webhook

CCPaymentWebhook_webhook

Auth: public

Response 200: (no body)

Sample curl

curl -X POST http://localhost:4000/payments/integration/ccpayment/webhook

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /payments/integration/nowpayments/deposit/{userId}

NowpaymentsWebhook_deposit

Auth: public

Parameters

name in required type description
userId path req number

Request body (application/json):

field type required description
payment_id number req
parent_payment_id number req
invoice_id string req
payment_status string req
pay_address string req
payin_extra_id string req
price_amount number req
price_currency string req
pay_amount number req
actually_paid number req
actually_paid_at_fiat number req
pay_currency object req
order_id string req
order_description string req
purchase_id string req Unique ID for each transaction. Even in context of one payme
outcome_amount number req
outcome_currency object req
payment_extra_ids array req
fee ref→NowpaymentWebhookPaymentFeeDto req

Response 200: (no body)

Sample curl

curl -X POST http://localhost:4000/payments/integration/nowpayments/deposit/{userId} \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /payments/integration/nowpayments/webhook

NowpaymentsWebhook_notification

Auth: public

Request body (application/json):

field type required description
payment_id number req
parent_payment_id number req
invoice_id string req
payment_status string req
pay_address string req
payin_extra_id string req
price_amount number req
price_currency string req
pay_amount number req
actually_paid number req
actually_paid_at_fiat number req
pay_currency object req
order_id string req
order_description string req
purchase_id string req Unique ID for each transaction. Even in context of one payme
outcome_amount number req
outcome_currency object req
payment_extra_ids array req
fee ref→NowpaymentWebhookPaymentFeeDto req

Response 200: (no body)

Sample curl

curl -X POST http://localhost:4000/payments/integration/nowpayments/webhook \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /payments/integration/nowpayments/withdraw/{withdrawId}

NowpaymentsWebhook_withdraw

Auth: public

Parameters

name in required type description
withdrawId path req string

Request body (application/json):

field type required description
amount string req
fee string req
created_at string req
requested_at string req
updated_at string req
id string req
batch_withdrawal_id string req
status string req
error string req
currency object req
address string req
extra_id string req
hash string req
ipn_callback_url string req

Response 200: (no body)

Sample curl

curl -X POST http://localhost:4000/payments/integration/nowpayments/withdraw/{withdrawId} \
  -H 'Content-Type: application/json' \
  -d '{ ... }'

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.

POST /payments/integration/skindeck/webhook

SkinDeck sends POST requests to your callback URL for each trade.

  • Always respond with status 200, even for errors. Include error messages in the response body.
    • If you don't include an "error" in the response, the action will proceed.
    • You can view callback history and resend failed callbacks on the Skindeck dashboard.
    • Ensure your system can handle potential duplicate callbacks without creating issues.
    • Keep the client updated as trade statuses change. Not all statuses need to be shown to the user (e.g., you can merge the initiated and pending status, and the failed & canceled status).
    • For initiating multiple deposits/withdrawals at once, multiple requests need to be sent. They will be queued on our backend to ensure proper processing order.
    • When fetching the user's inventory, use the parameter sparingly. It should only be used on initial load or when the user specifically clicks the refresh button. Otherwise, use the cached inventory for quicker pagination and search operations.

Auth: public

Response 200: (no body)

Sample curl

curl -X POST http://localhost:4000/payments/integration/skindeck/webhook

Tracing context: auto HTTP span (@opentelemetry/instrumentation-nestjs-core) + Prisma auto-spans for any DB calls. No manual tracer.startActiveSpan wrapping.