Skip to content

List all courts

GET
/api/v1/courts
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.

page
number
default: 1 >= 1
Example
1

Page number (1-indexed)

perPage
number
default: 20 >= 1 <= 100
Example
20

Number of items per page

sortBy
string
Example
createdAt

Field to sort by

sortOrder
string
default: desc
Allowed values: asc desc
Example
desc

Sort order

clubId
string
Example
club_a1b2c3d4

Filter by club ID

surface
string
Allowed values: clay hard grass indoor

Filter by surface type

search
string

Search by court name

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
nullable
Allowed values: clay hard grass indoor
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
>= 1
perPage
required

Number of items per page

number
>= 1
totalPages
required

Total number of pages

number
>= 1
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