Club Endpoints
A club, the tournaments it runs and the battles its members play.
Get one club.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Required | The short name from the club web address. |
Response Fields
slugstring- Short name used in the club web address. Use it wherever an endpoint asks for {slug}.
namestring- Club name.
descriptionstring- The description the club wrote, as plain text.
citystring | null- Town or city.
countrystring | null- Country name.
membersnumber- How many members the club has.
websitestring | null- The club's own website, when they have one.
urlstring- Link to the club page on milarki.com.
Returns 404 if the club does not exist.
Example response
json
{
"data": {
"slug": "boebbens-club",
"name": "Böbbens club",
"description": "A place to play in Kil.",
"city": "Kil",
"country": "Sweden",
"members": 3,
"website": null,
"url": "https://www.milarki.com/clubs/boebbens-club"
}
}Published tournaments run by the club, newest start date first. The date range is optional.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Required | The short name from the club web address. |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
from | string | Optional | Only tournaments starting on or after this date. Leave out for no lower bound. |
to | string | Optional | Only tournaments starting on or before this date. Leave out for no upper bound. Give both and the window may not be longer than a year. |
cursor | string | Optional | Comes from the "next" link of a previous response. |
limit | integer | Optional | Results per page. Default: 20, max: 100. |
Response Fields (per tournament)
Identical to a tournament from the tournament endpoints.
slugstring- Short name used in the tournament web address. Use it wherever an endpoint asks for {slug}.
namestring- Tournament name.
status"planned" | "ongoing" | "finished"- Where the tournament has got to.
startDatestring (YYYY-MM-DD) | null- First day of the tournament, as a local date at the venue.
endDatestring (YYYY-MM-DD) | null- Last day of the tournament, as a local date at the venue.
descriptionstring- The description the organiser wrote, as plain text.
citystring | null- Town or city.
countrystring | null- Country name.
playersnumber- How many players are signed up.
roundsnumber- Total number of rounds, counting every stage.
battleSizenumber- Points limit per army, for example 2000.
battlePackstring | null- Name of the battle pack the tournament is played with.
organizerstring | null- Slug of the club running the tournament, or null when no club is set. Pass it to the club endpoints.See Club
tournamentOrganizers{name, playerId}[]- The people running the tournament, each with a display name and the public player id, sorted by name. These are the organisers themselves, not the club they run it for — that is organizer above. Empty when nobody is listed. Use a player id to get that player's battles.See
GET /api/v1/users/{publicId}/battles stagesStage[]- The stages the tournament is played in, in the order they run.
urlstring- Link to the tournament page on milarki.com.
Example request
bash
curl "https://milarki.com/api/v1/clubs/boebbens-club/tournaments?from=2025-01-01" \
-H "Authorization: Bearer mlk_v1_yourkey"Example response
json
{
"data": [
{
"slug": "the-behemoth",
"name": "The Behemoth",
"status": "finished",
"startDate": "2025-01-14",
"endDate": "2025-01-15",
"description": "Two days of Age of Sigmar in Hammarö.",
"city": "Hammarö",
"country": "Sweden",
"players": 6,
"rounds": 8,
"battleSize": 2000,
"battlePack": "GHB 24/25 4th",
"organizer": "boebbens-club",
"tournamentOrganizers": [
{"name": "Björn Böbb", "playerId": "T91FKD3V"},
{"name": "Sara Sköld", "playerId": "K21XQ9PB"}
],
"stages": [
{"id": "standings", "name": "Final Standings", "type": "board"},
{"id": "swiss", "name": "Swiss Stage", "type": "board", "rounds": 5}
],
"url": "https://www.milarki.com/tournaments/the-behemoth"
}
],
"next": null
}Battles connected to the club, newest first. The date range is optional.
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
slug | string | Required | The short name from the club web address. |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
from | string | Optional | Only battles played on or after this date. Leave out for no lower bound. |
to | string | Optional | Only battles played on or before this date. Leave out for no upper bound. Give both and the window may not be longer than a year. |
cursor | string | Optional | Comes from the "next" link of a previous response. |
limit | integer | Optional | Results per page. Default: 20, max: 100. |
Response Fields (per battle)
idstring- The battle id. Pass it to /battles/{id}.
datestring (YYYY-MM-DD) | null- The day the battle was played, as a local date.
tournamentstring | null- Slug of the tournament the battle belongs to. Null for a casual battle.See Tournament
stagestring | null- Id of the tournament stage the battle was played in, for example "swiss". Null for a casual battle.See Stage
roundnumber | null- Round number, counting from 1.
scenariostring | null- Scenario played.
battlePackstring | null- Name of the battle pack the battle was played with.
battleSizenumber- Points limit per army, for example 2000.
winnerstring | null- Name of the winning player. Null on a draw and on a battle with no result yet.
victorySize"major" | "minor" | null- How big the win was.
playersBattlePlayer[]- The two players and how they scored.
urlstring- Link to the battle page on milarki.com.
Example response
json
{
"data": [
{
"id": "000b1161c8a864a1f75f",
"date": "2025-01-14",
"tournament": null,
"stage": null,
"round": null,
"scenario": "Lines of Communication",
"battlePack": "GHB 24/25 4th",
"battleSize": 2000,
"winner": "Anders Larsson",
"victorySize": "minor",
"players": [
{
"player": "Anders Larsson",
"playerId": "L80MTI4R",
"faction": "Disciples of Tzeentch",
"subFaction": "Guild of Summoners",
"outcome": "win",
"battlePoints": 18,
"victoryPoints": 24,
"objectivePoints": 16,
"battleTacticsScored": 2,
"drops": null,
"role": null,
"metrics": {}
}
],
"url": "https://www.milarki.com/battles/000b1161c8a864a1f75f"
}
],
"next": null
}