List all courts
GET
/api/v1/courts
const url = 'https://internal.myscore.live/api/v1/api/v1/courts?page=1&perPage=20&sortBy=createdAt&sortOrder=asc&clubId=club_a1b2c3d4&surface=clay';const options = {method: 'GET'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url 'https://internal.myscore.live/api/v1/api/v1/courts?page=1&perPage=20&sortBy=createdAt&sortOrder=asc&clubId=club_a1b2c3d4&surface=clay'Returns a paginated list of courts, optionally filtered by club, surface, or search query.
Parameters
Section titled “ Parameters ”Query Parameters
Section titled “Query Parameters ” page
number
Example
1Page number (1-indexed)
perPage
number
Example
20Number of items per page
sortBy
string
Example
createdAtField to sort by
sortOrder
string
Example
descSort order
clubId
string
Example
club_a1b2c3d4Filter by club ID
surface
string
Filter by surface type
search
string
Search by court name
Responses
Section titled “ Responses ”List of courts
Media type application/json
object
data
required
Array of court records
Array<object>
object
id
required
Court ID
string
name
required
Court name
string
clubId
required
Club ID
string
surface
Surface type
string
createdAt
required
Record creation timestamp
string format: date-time
updatedAt
required
Record last update timestamp
string format: date-time
meta
required
Pagination metadata
object
total
required
Total number of items
number
page
required
Current page number (1-indexed)
number
perPage
required
Number of items per page
number
totalPages
required
Total number of pages
number
hasNextPage
required
Whether there is a next page
boolean
hasPreviousPage
required
Whether there is a previous page
boolean
Example
{ "data": [ { "id": "crt_abc123", "name": "Center Court", "clubId": "club_abc123", "surface": "clay", "createdAt": "2024-08-15T10:30:00.000Z", "updatedAt": "2024-09-01T14:20:00.000Z" } ], "meta": { "total": 100, "page": 1, "perPage": 20, "totalPages": 5, "hasNextPage": true, "hasPreviousPage": false }}Rate limit exceeded