Field definitions for all API response objects
Returns paginated match data with filtering support.
| Field | Type | Description |
|---|---|---|
| total | Integer | Total number of matches matching filters |
| count | Integer | Number of matches in current page |
| offset | Integer | Current pagination offset |
| limit | Integer | Current page size limit |
| matches | Array | Array of match objects |
| Field | Type | Example | Description |
|---|---|---|---|
| date | String | "2024-04-15" | Match date in YYYY-MM-DD format |
| home_team | String | "Forge FC" | Full name of home team |
| away_team | String | "Cavalry FC" | Full name of away team |
| home_goals | Integer | 2 | Goals scored by home team |
| away_goals | Integer | 1 | Goals scored by away team |
| season | Integer | 2024 | Season year (2019-2025) |
| venue | String | "Tim Hortons Field" | Stadium where match was played |
Returns league standings calculated from match results or official API data.
When ?season=YYYY is provided:
| Field | Type | Description |
|---|---|---|
| season | Integer | The requested season year |
| standings | Array | Array of team standing objects |
| source | String | "official" or "calculated" |
| Field | Type | Example | Description |
|---|---|---|---|
| position | Integer | 1 | League rank (1-8, 1 being top) |
| team | String | "Forge FC" | Team name |
| played | Integer | 28 | Total matches played |
| wins | Integer | 18 | Number of wins |
| draws | Integer | 5 | Number of draws |
| losses | Integer | 5 | Number of losses |
| goals_for | Integer | 52 | Total goals scored |
| goals_against | Integer | 28 | Total goals conceded |
| goal_difference | Integer | 24 | goals_for minus goals_against |
| points | Integer | 59 | League points (3 per win, 1 per draw) |
points = (wins × 3) + (draws × 1) + (losses × 0)
Returns information about CPL teams.
| Field | Type | Description |
|---|---|---|
| count | Integer | Number of teams returned |
| teams | Array | Array of team objects |
| Field | Type | Example | Description |
|---|---|---|---|
| name | String | "Forge FC" | Official team name |
| city | String | "Hamilton" | Home city |
| stadium | String | "Tim Hortons Field" | Home stadium name |
| founded | Integer | 2018 | Year team was founded |
| latitude | Float | 43.2557 | Stadium latitude (hardcoded) |
| longitude | Float | -79.8711 | Stadium longitude (hardcoded) |
| surface | String | "grass" | Playing surface type |
| status | String | "active" | Team activity status |
| "grass" | Natural grass surface |
| "turf" | Artificial turf surface |
| "active" | Currently competing |
| "inactive" | No longer competing |
| Team | City | Surface | Status |
|---|---|---|---|
| Atletico Ottawa | Ottawa | turf | active |
| Cavalry FC | Calgary | grass | active |
| Forge FC | Hamilton | grass | active |
| HFX Wanderers FC | Halifax | grass | active |
| Inter Toronto | Toronto | turf | active |
| Pacific FC | Langford | turf | active |
| Valour FC | Winnipeg | turf | active |
| Vancouver FC | Langley | turf | active |
| FC Edmonton | Edmonton | turf | inactive |
| York United FC | Toronto | turf | inactive |
| Type | Format | Notes |
|---|---|---|
| String | UTF-8 | May include accented characters (e.g., "Atlético Ottawa") |
| Integer | 32-bit signed | Numeric IDs, counts, scores |
| Float | 64-bit double | Coordinates to 4 decimal places |
| Date String | YYYY-MM-DD | ISO 8601 date format |