Lucra Sports Tournaments (Legacy) API
Drop-in replacement endpoints for the original tournament API operations.Request/response shapes are identical.---## Tournament Types### CASH_FIXEDThe total prize pool is defined upfront and has no relation to the amount collected from buy-ins.- Reward amounts are fixed regardless of how many participants join- The tenant bears the financial risk — if insufficient participants join, the tenant may pay out more in prizes than collected in entry fees- Prize values in `paymentStructure` represent absolute monetary amounts### CASH_PERCENTAGEThe prize pool is calculated from the total amount collected from entry fees, distributed according to percentage allocations.- The `value` in `paymentStructure` represents a percentage (e.g., 60 for 60%)- **The sum of all percentage values must equal exactly 100**- Actual payout amounts are calculated after fees are deducted from the collected pool**Payout Calculation:**```Pool Net Amount = MAX((Total Collected - Fee%), Min Payout Amount)Prize Amount = Pool Net Amount × (Tier Percentage ÷ 100)```---## Replayable TournamentsReplayable tournaments allow participants to join the same tournament multiple times, submitting new scores in an attempt to improve their standing. Each time a user rejoins, they pay the buy-in amount again (if applicable) and start a new attempt.| Attribute | Type | Default | Description ||-----------|------|---------|-------------|| `maxAttempts` | number | 1 | Maximum number of times a user can join/rebuy || `attemptFinished` | boolean | false | When submitting scores, marks the attempt as completed || `omitAttemptCompletedCheck` | boolean | false | If true, allows rebuys even when the current attempt is not finished |**How It Works:**1. **Initial Entry** — Users join by paying the buy-in amount (first attempt)2. **Submitting Scores** — While an attempt is active, users can submit/update scores. Set `attemptFinished: true` to lock the attempt3. **Rebuying** — Users can rejoin if they haven't reached `maxAttempts` and their current attempt is finished (unless `omitAttemptCompletedCheck: true`)4. **Leaderboard** — The user's best score across all attempts determines their final positionUse the `canSubmitNewScore` field in the leaderboard response to check if a user can submit scores or needs to rebuy.---## Position and Ranking| Field | Type | Description ||-------|------|-------------|| `position` | number | Automatically calculated rank based on scores (1, 2, 3, …) || `positionOverride` | number | Optional manual position that overrides automatic ranking for reward distribution |**Automatic Position** is calculated based on scores and `scoringType` (`HIGHEST_SCORE` or `LOWEST_SCORE`). Always unique — no ties.**Position Override** uses rank-based logic that handles ties (1, 2, 2, 4, …). Can also be manually set during tournament completion. Returns `null` when it equals `position`.When completing without specifying winners (auto-complete), the system:1. Sorts users by score according to `scoringType`2. Calculates `position` using sequential numbering (1, 2, 3, …)3. Calculates override position handling ties (1, 2, 2, 4, …)4. Sets `positionOverride` to non-null only when it differs from `position`5. Distributes rewards based on final positions**Best Practice:** Always use `positionOverride ?? position` to display a user's final ranking.---## Scoring Types- **HIGHEST_SCORE** — Higher scores rank better (e.g., points-based games)- **LOWEST_SCORE** — Lower scores rank better (e.g., golf, racing)---## Sign-Up WindowTournaments can optionally define a sign-up window using `signUpStart` and `signUpEnd`.When set, participants can only join during this window. If omitted, sign-ups follow thedefault behavior (open from creation until the tournament expires).| Constraint | Rule ||-----------|------|| `signUpEnd` ≤ `expiresAt` | Sign-ups must close before tournament expiration || `signUpStart` < `signUpEnd` | Window must have a positive duration |---## Tournament Lifecycle```OPEN → CONFIRMED → CLOSED ↓ ↓ CANCELED ← ←```
Lucra Sports Tournaments (Legacy) API is one of 9 APIs that Lucra Sports publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include Tournaments (Legacy). The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, authentication docs, and rate-limit docs.
This API exposes 8 operations across 7 paths, and defines 22 schemas. It is described by OpenAPI 3.2.0, at version 1.0.
Requests are made against 3 base URLs: /, https://forge.lucrasports.com, https://forge.sandbox.lucrasports.com.
Metadata
The identity and technical contract details declared by the specification.
Authentication & Security 1
Lucra Sports Tournaments (Legacy) API declares
1 security scheme
for authenticating requests.
An API key is passed in the header as X-Lucra-Api-Key (X-Lucra-Api-Key).
X-Lucra-Api-Key— API key for tenant authentication
Paths & Operations 8
Across 7 paths, the API surfaces 8 operations — 2 GET, 1 PATCH, 4 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.
Drop-in replacement endpoints for the original tournament API operations. Request/response shapes are identical. --- Tournament Types CASHFIXED The total prize pool is defined upf…
Schemas 22
The contract defines 22 schemas that model the data the API accepts and returns. The most detailed are LegacyTournamentMatchupDto (31 properties), LegacyTournamentUpdateObjectDto (23 properties), LegacyTournamentCreateObjectDto (23 properties), LegacyCompleteTournamentObjectDto (15 properties). Each schema is shown below with its type and property counts.
Specification
The full machine-readable OpenAPI contract behind this narrative.
Source
More from Lucra Sports 8
Other APIs Lucra Sports publishes across the network.
This is an independent, third-party profile of Lucra Sports Tournaments (Legacy) API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.
The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.
Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.
info@apievangelist.com
·
Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and
you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.