Record Goals, Cards & Assists
While the live clock is running, every notable moment of the match becomes an event you log against a player and the elapsed time. In 4league each event — a goal, a card, an assist — is sent to the server the instant you record it, so the live score and the player’s match timeline stay current without waiting for full time. This guide covers the full set of events you can record and how each one is logged.
Who Can Record Events
Recording live events is gated by the same userCanManageMatch rule as the rest of the live match. Three kinds of user are allowed:
| Who | Condition |
|---|---|
| Organizer / co-organizer | A competition admin or owner can always record events. |
| Assigned referee | A referee assigned to that match can record events. |
| Team Manager of a playing team | Only when the competition has managersCanAddScore enabled. |
Record an Event
Pick the team and event
With the clock running, choose the team the event belongs to, then pick the event type — goal, card, assist, foul and so on — from the event menu.
Choose the player
Pick the player the event is for. Every event is tied to a specific player — that’s what builds the player’s match timeline and feeds the top-scorer and discipline tables.
It’s sent immediately
The event is sent straight away via addLiveMatchStat (POST /competition/addLiveMatchStat), stamped with the current match time. There is no separate “save all” step — each event is its own request the moment you log it.
The Events You Can Record
The event menu covers everything that happens on the pitch. Each one is recorded per player and tagged with the match clock:
| Event | What it records |
|---|---|
Goal addGoal |
A goal for the player’s team. Updates the live score and the top-scorer table. |
Own goal ownGoal |
A goal scored into the player’s own net — it counts for the opposing team. |
Penalty goal penaltyGoal |
A goal scored from a penalty kick. |
Yellow / red card addCard |
A booking. The cardType distinguishes a yellow from a red. |
Assist goalAssist |
Credits the player who set up a goal. |
Missed goal missedGoal |
A clear chance put wide or over. |
Goal saved goalSaved |
A shot stopped by the keeper. |
Missed penalty missedPenalty |
A penalty kick that didn’t score. |
Foul addFoul |
A foul committed by the player. |
Personal mistake personalMistake |
An individual error worth noting in the timeline. |
VAR VAR |
A video-assistant-referee review marker on the timeline. |
Substitutions are recorded the same way but pair two players together — they have their own guide: Make Substitutions.
One small detail is mobile-only. In the player stat modal of the direct (non-live) Add Score screen, the goal and own-goal count spinners — the little up/down number pickers — are rendered only on iOS and Android (Platform.OS !== "web"). Live event recording itself, including every event above, works on the web app just like it does on mobile.
How Events Are Saved
Each event is one immediate write, not a batch:
- Per player. Every event names the player it belongs to, so the app can build each player’s in-match timeline and roll the numbers up into season statistics.
- Time-stamped. The event carries the match’s current elapsed time, taken from the server-authoritative clock, so the timeline reads in order.
- Sent on log. Recording an event fires its own
addLiveMatchStatrequest immediately — the live score updates without waiting for the final whistle.
Logged the wrong event, or tagged the wrong player? Events on the timeline can be removed, and the final result is never locked — an organizer can re-open the match. See Correct or Delete a Result.
In the 38th minute the home striker scores. The referee taps the home team, chooses Goal, and picks the striker — the goal is sent immediately and the live score ticks to 1–0. He then records an Assist for the winger who played the pass. Two minutes later the same striker is booked for a late challenge; a yellow card goes on his timeline. None of it waits for half-time — each event is live the moment it’s logged.
Related Guides
Start, pause and resume the clock that every event is recorded against.
Record a player coming off and a player coming on — the one event that pairs two players.
Fix a mis-tagged event or re-enter a wrong result — results are never locked.