Club Endpoints

A club, the tournaments it runs and the battles its members play.

Get one club.

Path Parameters

ParameterTypeRequiredDescription
slugstringRequiredThe 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

ParameterTypeRequiredDescription
slugstringRequiredThe short name from the club web address.

Query Parameters

ParameterTypeRequiredDescription
fromstringOptionalOnly tournaments starting on or after this date. Leave out for no lower bound.
tostringOptionalOnly 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.
cursorstringOptionalComes from the "next" link of a previous response.
limitintegerOptionalResults 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

ParameterTypeRequiredDescription
slugstringRequiredThe short name from the club web address.

Query Parameters

ParameterTypeRequiredDescription
fromstringOptionalOnly battles played on or after this date. Leave out for no lower bound.
tostringOptionalOnly 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.
cursorstringOptionalComes from the "next" link of a previous response.
limitintegerOptionalResults 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
}