Skip to main content

Launch Guild Tournament

Launch an accepted guild tournament. Requires the guilds.owner permission.

Endpoint

POST /api/v2/guild-tournaments/:id/launch

Authentication

This endpoint requires:

  1. JWT Token: User authentication
  2. Permission: guilds.owner role (you must own the guild that owns this tournament)
Authorization: Bearer user-jwt-token-here

Description

Launches a guild tournament that has been accepted by a reviewer. The tournament must be in accepted status. Launching creates the actual tournament and transitions the guild tournament to launched status.

Path Parameters

ParameterTypeRequiredDescription
idstringYesGuild tournament ID

Request Example

POST /api/v2/guild-tournaments/gt-123/launch

Response

Success Response (200)

{
"message": "Guild tournament launched successfully"
}

Error Response (400)

{
"message": "Cannot launch guild tournament with status pending",
"status": 400
}

Error Response (401)

{
"message": "Unauthorized",
"status": 401
}

Error Response (403)

{
"message": "You are not allowed to launch this tournament",
"status": 403
}

Error Response (404)

{
"message": "You don't have a guild",
"status": 404
}

Preconditions

  • You must own a guild
  • The guild tournament must belong to your guild
  • The guild tournament must be in accepted status
  • For automatic prize distribution: treasury must have sufficient balance

Usage Example

// First check that the tournament is accepted
const getResponse = await fetch("https://api-stage.intraverse.io/api/v2/guild-tournaments/gt-123", {
headers: { Authorization: `Bearer ${jwtToken}` },
});

const tournament = await getResponse.json();

if (tournament.status === "accepted") {
const launchResponse = await fetch("https://api-stage.intraverse.io/api/v2/guild-tournaments/gt-123/launch", {
method: "POST",
headers: {
Authorization: `Bearer ${jwtToken}`,
},
});

if (launchResponse.ok) {
const result = await launchResponse.json();
console.log(result.message);
}
}

Next Steps