Block Pool Creation API

Overview

This API is a tool that allows users to create football block pools.

Base URL

https://api.msmc.cc

Endpoints

Generate Block Pool PDF

Endpoint: /api/blockpool/generate
Method: POST
Request Structure: (names truncated in example, be sure to include all 100 names)

{
    "title": "Block Pool",
    "team1": "Team A",
    "team2": "Team B",
    "names": [
      "Player 1", "Player 2", "Player 3", "Player 4", "Player 5", ...
      "Player 96", "Player 97", "Player 98", "Player 99", "Player 100"
    ]
  }

Example Httpie Request: (names truncated in example, be sure to include all 100 names)

http POST https://api.msmc.cc/api/blockpool/generate title="Block Pool" team1="Team A" team2="Team B" names:='["Player 1", "Player 2", "Player 3", ..., "Player 97", "Player 98", "Player 99", "Player 100"]' --download  

Response:
Downloadable PDF file of the customized block pool

Errors:

{"error":"invalid input. must contain all input fields and exactly 100 names"}

Examples

Python

import requests # import requests library. for making requests

BASE_URL = "https://api.msmc.cc/api/blockpool/generate" # define api url
players = [f"Player {i+1}" for i in range(100)] # generate list of names. FILL IN WITH REAL NAMES
data = { # define payload
    "title": "Block Pool", # set title
    "team1": "Team A", # set team name 1
    "team2": "Team B", # set team name 2
    "names": players # set player names
}

response = requests.post(BASE_URL, json=data) # call api with payload
with open("block_pool.pdf", "wb") as file: # open pdf
    file.write(response.content) # save response as pdf

Javascript

function generate() { // define function to generate block pool
    fetch("https://api.msmc.cc/api/blockpool/generate", { // send request
      method: "POST", // set request method
      headers: { "Content-Type": "application/json" }, // set header type
      body: JSON.stringify({  // generate payload
        title: "Block Pool",  // set document title
        team1: "Team A",  // set team name 1
        team2: "Team B",  // set team name 2
        names: Array.from({ length: 100 }, (_, i) => `Player ${i + 1}`) }) // set player names to generate list. REPLACE IN USE
    })
    .then(res => res.blob()) // read response as blob
    .then(blob => { 
      const link = document.createElement("a"); // create hidden link element
      link.href = URL.createObjectURL(blob); // create url for blob
      link.download = "block_pool.pdf"; // set file name
      link.click(); // open link
    })
    .catch(console.error); // error
  }

Resources

Support

For support, email [email protected]