Tournament Webhook Events

Tournament Events that you can subscribe to.

See how to subscribe to webhook events herearrow-up-right.

Matchup Information

All events will include a matchup property that will contain the same information as the get tournament API (Tournament Matchup Event Data). This is an example of that payload:

{
  "matchup": {
    "id": "64c744cf-c837-422b-9da7-ff3a359525df", // ID of the matchup record
    "type": "CASH_PERCENTAGE",
    "status": "CLOSED",
    "tenantId": "SAMPLE",
    "createdAt": "2025-01-17T20:28:20.339716+00:00",
    "expiresAt": "2025-01-31T20:00:00.000000+00:00",
    "startsAt": "2025-01-20T20:00:00.000000+00:00",
    "isPublic": true,
    "gameId": "AIR-HOCKEY",
    "title": "Awesome Tournament",
    "description": "The most Awesome Tournament",
    "metadataString": "{ \"someProperty\": 123 }",
    "locationIds": [
      "2f2d279b-6149-40a7-9f6d-38d9cbea23cd", 
      "ef01589e-c9ac-4214-846a-39648eccfbb9"
    ],
    "fee": 5,
    "buyInAmount": 10,
    "numberOfParticipants": 3,
    "maxParticipants": 250,
    "maxAttempts": 3,
    "poolNetAmount": 28.5,
    "scoringType": "HIGHEST_SCORE", // or LOWEST_SCORE,
    "privateCode": "PV6485",
    "rewardStructure": [
      {
        "position": 1,
        "positionOverride": null,
        "value": 100,
        "userId": "33e35526-410c-4517-81c3-2162cde5c786",
        "userName": "DivineTarantula",
        "tierNetAmount": 28.5
      }
    ],
    "users": [
      {
        "userId": "33e35526-410c-4517-81c3-2162cde5c786",
        "userName": "DivineTarantula",
        "userAvatarUrl": "https://api.lucrasports.com/assets/some-path-to-img",
        "position": 1,
        "positionOverride": null,
        "metadataString": "{}",
        "score": 580,
        "rewardNetAmount": 28.5,
        "canSubmitNewScore": false
      },
      {
        "userId": "13c7a90f-76c8-401e-afee-f7d81d8e4420",
        "userName": "FunnyBoar",
        "userAvatarUrl": "https://api.lucrasports.com/assets/some-path-to-img",
        "position": 2,
        "positionOverride": null,
        "metadataString": "{}",
        "score": 570,
        "rewardNetAmount": 0,
        "canSubmitNewScore": false,
      },
      {
        "userId": "a0116f41-cbd3-4d84-b445-8228baf3d908",
        "userName": "SpareWasp",
        "userAvatarUrl": "https://api.lucrasports.com/assets/some-path-to-img",
        "position": 3,
        "positionOverride": null,
        "metadataString": "{}",
        "score": 550,
        "rewardNetAmount": 0,
        "canSubmitNewScore": true
      }
    ]
  }
}

Tournament Created: TournamentCreated

The TournamentCreated webhook event fires whenever a new tournament is created.

Tournament Canceled: TournamentCanceled

The TournamentCanceled webhook event fires whenever a tournament is canceled.

Tournament Edited: TournamentEdited

The TournamentEdited webhook event fires whenever a tournament is edited/updated trough the API.

Tournament Completed: TournamentCompleted

The TournamentCompleted webhook event fires whenever a tournament is completed, either trough the API or the Lucra App Console.

The mode property represents the reward resolution strategy, "auto" means the Lucra scoring logic while "manual" means the user assigned rewards sent to the complete tournament API

Tournament User Joined: TournamentUserJoined

The TournamentUserJoined webhook event fires whenever a user joins a tournament.

The property newUserId contains the id of the user that just joined the tournament, all the other user info can be found in the array of users on the record that matches this ID.

Last updated