# Join a tournament

`POST https://api.cryptohopper.com/v1/tournaments/{tournament_id}/join`

Part of [Tournaments](https://www.cryptohopper.com/api-documentation/api-reference/tournaments.md) in the Cryptohopper API reference.

Joins a published tournament with one of your hoppers, or creates a new hopper for it. A new hopper gets the tournament's exchange, quote currency and paper trading setting.

OAuth scope: `manage`

Send no body to create a new hopper. To join with an existing hopper, send hopper_id as a form field (application/x-www-form-urlencoded); a hopper_id in a JSON body is not accepted and returns 400 Cannot join tournament: no hopper selected. An existing hopper must match the tournament's paper trading setting, exchange and quote currency.

## Headers

| Name | Type | Required | Description |
|---|---|---|---|
| `access-token` | string | yes | The OAuth access token of the user. |

## Path parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `tournament_id` | string | yes | Numeric ID of the tournament. |

## Example request

```bash
curl -X POST "https://api.cryptohopper.com/v1/tournaments/TOURNAMENT_ID/join" \
  -H "access-token: YOUR_ACCESS_TOKEN"
```

## Response

Example response (illustrative values):

```json
{
    "data": "Tournament joined and new hopper created. You can now edit your hopper and prepare for the tournament. Good luck!"
}
```

Status codes: 200. Errors return JSON with `status`, `error` and `message`, plus a numeric `code` when the error comes from the API itself rather than the gateway.
