Matches

Submit verified 2v2 results so ratings update with audit trail.

POST /v1/matches

Scope: write:matches. Trust tier partner_attested completes immediately and applies merit.

curl -s -X POST "https://api.padelrank.me/v1/matches" \
  -H "Authorization: Bearer $PADELRANK_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "external_ref": "your-app-match-9821",
    "played_at": "2026-06-16T18:30:00Z",
    "winning_team": "A",
    "trust_tier": "partner_attested",
    "participants": [
      { "username": "maria_s", "team": "A", "court_position": "left" },
      { "username": "joao_p", "team": "A", "court_position": "right" },
      { "username": "ana_r", "team": "B", "court_position": "left" },
      { "username": "pedro_l", "team": "B", "court_position": "right" }
    ]
  }'

Participants accept either profile_id or username per slot.

GET /v1/matches/{id}

Returns match metadata and participants for matches your partner submitted.

Idempotency

Always send external_ref from your domain. Duplicate refs for the same partner return the existing match id with HTTP 409.