---
title: "Enroll a Player in a Tournament"
method: POST
path: "/leaderboards/{brandId}/{leaderboardId}/enroll/{playerId}"
tags: ["Leaderboards"]
---

# Enroll a Player in a Tournament

`POST /leaderboards/{brandId}/{leaderboardId}/enroll/{playerId}`

## Request

- Base URL: `https://opti-ls-api-us.optimove.net/api`
- URL: `https://opti-ls-api-us.optimove.net/api/leaderboards/{brandId}/{leaderboardId}/enroll/{playerId}`
- Auth: none declared

Enrollment applies to tournament-type leaderboards only. Calling this on a regular leaderboard returns `400 "Only tournaments require enrollment"`.

If `costAmount` is non-null in the response, re-fetch `GET /player-rewards/brand/{brandId}/player/{playerId}` so the player's balance reflects the entry fee.

## Path parameters

- `brandId` string, uuid, required
- `leaderboardId` string, required
- `playerId` string, required

## Response `201`

Player is enrolled.

- EnrollmentStatus
  - `leaderboardId` string
  - `playerId` string
  - `isEnrolled` boolean
  - `enrolledAt` string, date-time, nullable
  - `costCurrencyId` string, uuid, nullable
  - `costAmount` integer, nullable

## Other responses

- `400`: The target leaderboard is not a tournament, or the player cannot enroll.
- `404`: Resource not found (brand, player, mission, leaderboard, etc.).

---

[API](https://skmtc.dev/optimove/apis/optimove-loyalty-system-api.md) - [All operations](https://skmtc.dev/optimove/apis/optimove-loyalty-system-api/llms.txt) - [OpenAPI document](https://skmtc.dev/optimove/apis/optimove-loyalty-system-api/revisions/f174877a5fb7?raw)
