WebhooksEvent catalogTournaments
tournament.tournament.updated
Version 1 of the tournament.tournament.updated webhook event.
The tournament.tournament.updated event.
| Event type | tournament.tournament.updated |
| Schema version | 1 |
| Routing key | event.tournament.tournament.updated.v1 |
| Produced by | Tournament Management |
| Schema | urn:defendr:contract:tournament:tournament-updated:1 |
data fields
| Field | Type | Required | Description |
|---|---|---|---|
tournamentId | string | yes | |
organizationId | string | yes | |
revision | integer | yes | |
status | "draft", "published", "registration_closed", "in_progress", "completed", "cancelled", "archived" | yes | |
changedFields | array of "name", "slug", "visibility", "configurationMode", "capacity", "registration", "checkIn", "waitlist", "schedule", "lifecyclePolicy", "eligibility", "customRules", "resultPolicy", "participantAssignments" | no | |
actor | object | no | |
actor.namespace | "api_key", "clerk_user" | yes | |
actor.id | string | yes |
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
}
}
}
}
}