Skip to content

Predict & pair

Balance a proposed 2v2, scout two members, or deal a roster into fair social courts before anyone walks on court.

Plan: Requires Pro or Enterprise. Starter receives HTTP 403 plan_forbidden.

POST /v1/intelligence/predict

Body: four distinct player UUIDs in proposed teams order (A-left, A-right, B-left, B-right).

cURL
curl -s -X POST "https://api.padelrank.me/v1/intelligence/predict" \
  -H "Authorization: Bearer $PADELRANK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "player_ids": [
      "uuid-a", "uuid-b", "uuid-c", "uuid-d"
    ],
    "format": "2v2"
  }'

Response:

cURL
{
  "draw_probability": 0.11,
  "balance_rating": "high",
  "team_a": ["uuid-a", "uuid-b"],
  "team_b": ["uuid-c", "uuid-d"]
}

balance_rating is high, medium, or low. Higher draw probability → more even match. Use it to sort candidate pairings in matchmaking UIs. Private club members you created or rostered are allowed — they no longer need a public profile.

POST /v1/intelligence/compare

Two-player scout for amateur pairings: score gap, form trend, consistency, headline coaching insight, and head-to-head. Body: usernames or player_ids.

cURL
curl -s -X POST "https://api.padelrank.me/v1/intelligence/compare" \
    -H "Authorization: Bearer $PADELRANK_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{ "usernames": ["maria_s", "ana_r"] }'

POST /v1/intelligence/pair

Fair 2v2 courts for a social night. Pass a roster_slug (player-role members, max 16) or 4–16 usernames / player_ids. Extra players sit out. Each court includes fairness, score_gap, and the same draw probability as predict.

cURL
curl -s -X POST "https://api.padelrank.me/v1/intelligence/pair" \
    -H "Authorization: Bearer $PADELRANK_API_KEY" \
    -H "Content-Type: application/json" \
    -d '{ "roster_slug": "weeknight-amateurs" }'