TANITARDevelopers
WebhooksEvent catalogTournaments

tournament.tournament.updated

Version 1 of the tournament.tournament.updated webhook event.

The tournament.tournament.updated event.

Event typetournament.tournament.updated
Schema version1
Routing keyevent.tournament.tournament.updated.v1
Produced byTournament Management
Schemaurn:defendr:contract:tournament:tournament-updated:1

data fields

FieldTypeRequiredDescription
tournamentIdstringyes
organizationIdstringyes
revisionintegeryes
status"draft", "published", "registration_closed", "in_progress", "completed", "cancelled", "archived"yes
changedFieldsarray of "name", "slug", "visibility", "configurationMode", "capacity", "registration", "checkIn", "waitlist", "schedule", "lifecyclePolicy", "eligibility", "customRules", "resultPolicy", "participantAssignments"no
actorobjectno
actor.namespace"api_key", "clerk_user"yes
actor.idstringyes

Some fields are required only in particular states. The JSON Schema below is authoritative.

Example delivery

Signed with the example secret whsec_placeholder_example_webhooks_signing_secret, so you can check your verifier against it. See Verifying signatures.

POST /your/webhook/endpoint HTTP/1.1
content-type: application/json
webhook-id: whd_00000000-0000-4000-8000-000000000085
webhook-timestamp: 1800000000
webhook-signature: v1,4rTg4CTimkKkhxhlwRbtfhkQkYrof/8oZOJFNKZMk+s=
tanitar-event-type: tournament.tournament.updated
tanitar-schema-version: 1
tanitar-delivery-attempt: 1

{"messageId":"evt_00000000-0000-4000-8000-000000000085","kind":"event","type":"tournament.tournament.updated","schemaVersion":1,"occurredAt":"2027-01-15T10:00:00.000Z","producer":"tournament-management-service","accountId":"acc_11111111-1111-4111-8111-111111111111","correlationId":"corr_00000000-0000-4000-8000-000000000085","data":{"tournamentId":"trn_11111111-1111-4111-8111-111111111111","organizationId":"org_11111111-1111-4111-8111-111111111111","revision":2,"status":"in_progress","changedFields":["schedule","participantAssignments"],"actor":{"namespace":"clerk_user","id":"user_11111111-1111-4111-8111-111111111111"}}}

The same body, formatted:

{
  "messageId": "evt_00000000-0000-4000-8000-000000000085",
  "kind": "event",
  "type": "tournament.tournament.updated",
  "schemaVersion": 1,
  "occurredAt": "2027-01-15T10:00:00.000Z",
  "producer": "tournament-management-service",
  "accountId": "acc_11111111-1111-4111-8111-111111111111",
  "correlationId": "corr_00000000-0000-4000-8000-000000000085",
  "data": {
    "tournamentId": "trn_11111111-1111-4111-8111-111111111111",
    "organizationId": "org_11111111-1111-4111-8111-111111111111",
    "revision": 2,
    "status": "in_progress",
    "changedFields": [
      "schedule",
      "participantAssignments"
    ],
    "actor": {
      "namespace": "clerk_user",
      "id": "user_11111111-1111-4111-8111-111111111111"
    }
  }
}

JSON Schema

urn:defendr:contract:tournament:tournament-updated:1
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "urn:defendr:contract:tournament:tournament-updated:1",
  "type": "object",
  "additionalProperties": false,
  "required": [
    "tournamentId",
    "organizationId",
    "revision",
    "status"
  ],
  "properties": {
    "tournamentId": {
      "type": "string"
    },
    "organizationId": {
      "type": "string"
    },
    "revision": {
      "type": "integer"
    },
    "status": {
      "enum": [
        "draft",
        "published",
        "registration_closed",
        "in_progress",
        "completed",
        "cancelled",
        "archived"
      ]
    },
    "changedFields": {
      "type": "array",
      "minItems": 1,
      "uniqueItems": true,
      "items": {
        "enum": [
          "name",
          "slug",
          "visibility",
          "configurationMode",
          "capacity",
          "registration",
          "checkIn",
          "waitlist",
          "schedule",
          "lifecyclePolicy",
          "eligibility",
          "customRules",
          "resultPolicy",
          "participantAssignments"
        ]
      }
    },
    "actor": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "namespace",
        "id"
      ],
      "properties": {
        "namespace": {
          "enum": [
            "api_key",
            "clerk_user"
          ]
        },
        "id": {
          "type": "string",
          "minLength": 1
        }
      }
    }
  }
}

On this page