# Lucra Sports Tournaments API

**Canonical:** https://apis.io/apis/lucra-sports/lucra-sports-tournaments-api/  
**Provider:** Lucra Sports — https://apis.io/providers/lucra-sports/  
**Base URL:** https://forge.lucrasports.com  
**Documentation:** https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/api-reference

Lucra Sports Tournaments API is one of 9 APIs that [Lucra Sports](https://apis.io/providers/lucra-sports/) publishes on the [APIs.io](https://apis.io/) network, described by a machine-readable OpenAPI specification. Tagged areas include Tournaments. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, authentication docs, and rate-limit docs.

Modular tournament management endpoints. Unlike the legacy API which returns everything in a single call, the v2 API separates concerns into dedicated resources: | Resource | Path | Purpose | |----------|------|---------| | **Tournaments** | `/tournaments` | CRUD operations, cancel, complete | | **Leaderboard** | `/tournaments/:id/leaderboard` | Paginated participant rankings and scores | | **Rewards** | `/tournaments/:id/rewards` | Prize tier configuration and winner assignment | --- ## Key Differences from Legacy API ### Separate Resources The legacy `GET /pool-tournament/:id` returns the tournament, reward structure, and full user leaderboard in one response. The v2 API splits these into three independent endpoints so clients only fetch what they need. ### Update and Complete are Separate The legacy complete endpoint accepts tournament field updates (title, fee, etc.) in the same request body as the completion action. In v2, update the tournament first via `PATCH /tournaments/:id`, then complete via `POST /tournaments/:id/complete`. ### Reward Assignment is Explicit The legacy complete endpoint accepts a `paymentStructure` with `userId` to assign winners and complete in one step. In v2, assign rewards first via `PUT /tournaments/:id/rewards`, then complete the tournament separately. --- ## Tournament Types ### CASH_FIXED Prize pool is defined upfront. Values in the reward tiers represent absolute monetary amounts. ### CASH_PERCENTAGE Prize pool is calculated from total entry fees. Values in reward tiers represent percentages that must sum to exactly 100. --- ## Sign-Up Window Tournaments 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 the default 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 | --- ## Simplified Status Model The v2 API exposes three statuses instead of the full internal status set: | Status | Meaning | |--------|---------| | `ACTIVE` | Tournament is open or in progress | | `COMPLETED` | Tournament is closed and rewards distributed | | `CANCELED` | Tournament was canceled and participants refunded | --- ## Pagination List endpoints (`GET /tournaments`, `GET /tournaments/:id/leaderboard`) support pagination via query parameters: | Parameter | Type | Default | Description | |-----------|------|---------|-------------| | `limit` | number | 25 | Number of items per page (1–100) | | `offset` | number | 0 | Number of items to skip | The response body is a **flat array** of items. Pagination metadata is returned in the `Link` HTTP header following [RFC 5988](https://tools.ietf.org/html/rfc5988). **Example response headers:** ``` Link: </api/tournaments?limit=25&offset=25>; rel="next", </api/tournaments?limit=25&offset=0>; rel="first" ``` **Available link relations:** | Rel | Description | |-----|-------------| | `next` | Next page of results (omitted on the last page) | | `prev` | Previous page of results (omitted on the first page) | | `first` | First page of results | **Parsing the Link header:** ```typescript function parseLinkHeader(header: string): Record<string, string> { return Object.fromEntries( header.split(', ').map((part) => { const [url, rel] = part.split('; '); return [ rel.replace('rel="', '').replace('"', ''), url.slice(1, -1), ]; }), ); } // Usage const links = parseLinkHeader(response.headers.link); if (links.next) { // fetch next page } ```

## Machine-readable artifacts (10)

- **OpenAPI** — https://raw.githubusercontent.com/api-evangelist/lucra-sports/refs/heads/main/openapi/lucra-sports-tournaments-api-openapi.yml
- **Documentation** — https://docs.lucrasports.com/lucra-sdk/sdks-and-apis/api-reference
- **APIReference** — https://forge.lucrasports.com/docs/
- **Console** — https://forge.lucrasports.com/docs/
- **Authentication** — https://raw.githubusercontent.com/api-evangelist/lucra-sports/refs/heads/main/authentication/lucra-sports-authentication.yml
- **ErrorCatalog** — https://raw.githubusercontent.com/api-evangelist/lucra-sports/refs/heads/main/errors/lucra-sports-problem-types.yml
- **RateLimits** — https://raw.githubusercontent.com/api-evangelist/lucra-sports/refs/heads/main/rate-limits/lucra-sports-rate-limits.yml
- **DataModel** — https://raw.githubusercontent.com/api-evangelist/lucra-sports/refs/heads/main/data-model/lucra-sports-data-model.yml
- **Webhooks** — https://raw.githubusercontent.com/api-evangelist/lucra-sports/refs/heads/main/asyncapi/lucra-sports-webhooks.yml
- **Sandbox** — https://raw.githubusercontent.com/api-evangelist/lucra-sports/refs/heads/main/sandbox/lucra-sports-sandbox.yml

## Other Lucra Sports APIs (8)

- [Lucra Sports Health API](https://apis.io/apis/lucra-sports/lucra-sports-health-api/)
- [Lucra Sports Locations API](https://apis.io/apis/lucra-sports/lucra-sports-locations-api/)
- [Lucra Sports Recreational Games API](https://apis.io/apis/lucra-sports/lucra-sports-recreational-games-api/)
- [Lucra Sports States API](https://apis.io/apis/lucra-sports/lucra-sports-states-api/)
- [Lucra Sports Tenant Tag Groups API](https://apis.io/apis/lucra-sports/lucra-sports-tenanttaggroups-api/)
- [Lucra Sports Tournaments (Legacy) API](https://apis.io/apis/lucra-sports/lucra-sports-tournaments-legacy-api/)
- [Lucra Sports User Score API](https://apis.io/apis/lucra-sports/lucra-sports-user-score-api/)
- [Lucra Sports Webhooks API](https://apis.io/apis/lucra-sports/lucra-sports-webhooks-api/)

## Tags

Tournaments

---

Profiled by [API Evangelist](https://apievangelist.com) and published on [APIs.io](https://apis.io/apis/lucra-sports/lucra-sports-tournaments-api/). The API's provider profile, Kin Score and agent-readiness rating are at https://apis.io/providers/lucra-sports/.
