GET
/match-sessions/{id}Get a match session
The participants array is empty unless the token also has participants:read and every returned participant has explicit consent and belongs to this installation's booking source. Score is null unless the token also has scores:read.
Bearer Token
sessions:readparticipants:readInclude consented, source-bound participant objects in the response; without it participants is an empty array.scores:readInclude the current allow-listed score snapshot; without it score is null.Request
curl --request GET \
'https://sandbox-api.padel-lab.crewio.co/v1/club/match-sessions/resource_01JABC' \
--header 'Authorization: Bearer $PADEL_LAB_TOKEN'Parameter
idpathIdrequiredResponses
200Match sessionMatchSessionResponse400Malformed JSON or a syntactically valid request that violates a path, query, header or JSON-body constraint.ErrorResponse401Missing, invalid or expired tokenErrorResponse403Installation lacks the required scope or is inactiveErrorResponse404Resource is absent or outside the token-bound tenantErrorResponse429Rate limit exceededErrorResponse500An unexpected runtime error occurred; retry only when the operation is safe or idempotent.ErrorResponse503A required authorization, tenant-safety or rate-limit dependency is unavailableErrorResponseResponse Schemas
MatchSessionResponseStatus 200
{
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"location_id",
"court_id",
"scheduled_start",
"scheduled_end",
"actual_start",
"actual_end",
"status",
"booking",
"scoring_mode",
"display_phase",
"event_sequence",
"rule_version",
"ai_model_version",
"score",
"participants",
"created_at",
"updated_at"
],
"properties": {
"id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Opaque stable identifier"
},
"location_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Opaque stable identifier"
},
"court_id": {
"type": "string",
"minLength": 1,
"maxLength": 200,
"description": "Opaque stable identifier"
},
"scheduled_start": {
"type": "string",
"format": "date-time",
"description": "UTC RFC 3339 timestamp"
},
"scheduled_end": {
"type": "string",
"format": "date-time",
"description": "UTC RFC 3339 timestamp"
},
"actual_start": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"actual_end": {
"type": [
"string",
"null"
],
"format": "date-time"
},
"status": {
"type": "string",
"enum": [
"SCHEDULED",
"READY",
"WAITING_FOR_PLAYERS",
"ACTIVE",
"PAUSED",
"COMPLETED",
"CANCELLED",
"ABORTED"
]
},
"booking": {
"oneOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"provider",
"external_booking_id"
],
"properties": {
"provider": {
"type": "string"
},
"external_booking_id": {
"type": [
"string",
"null"
]
}
}
}
]
},
"scoring_mode": {
"type": "string"
},
"display_phase": {
"type": "string"
},
"event_sequence": {
"type": "integer",
"minimum": 0
},
"rule_version": {
"type": "string"
},
"ai_model_version": {
"type": [
"string",
"null"
]
},
"score": {
"oneOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"points",
"games",
"sets",
"set_history",
"tie_break",
"match_tie_break",
"point_number",
"star_deuce_count",
"changeover_count",
"deciding_point_side",
"completed",
"winner",
"last_transition"
],
"properties": {
"points": {
"type": "object",
"additionalProperties": false,
"required": [
"blue",
"orange"
],
"properties": {
"blue": {
"type": "string"
},
"orange": {
"type": "string"
}
}
},
"games": {
"type": "object",
"additionalProperties": false,
"required": [
"blue",
"orange"
],
"properties": {
"blue": {
"type": "integer",
"minimum": 0
},
"orange": {
"type": "integer",
"minimum": 0
}
}
},
"sets": {
"type": "object",
"additionalProperties": false,
"required": [
"blue",
"orange"
],
"properties": {
"blue": {
"type": "integer",
"minimum": 0
},
"orange": {
"type": "integer",
"minimum": 0
}
}
},
"set_history": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"blue",
"orange"
],
"properties": {
"blue": {
"type": "integer",
"minimum": 0
},
"orange": {
"type": "integer",
"minimum": 0
}
}
}
},
"tie_break": {
"oneOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"blue",
"orange"
],
"properties": {
"blue": {
"type": "integer",
"minimum": 0
},
"orange": {
"type": "integer",
"minimum": 0
}
}
}
]
},
"match_tie_break": {
"oneOf": [
{
"type": "null"
},
{
"type": "object",
"additionalProperties": false,
"required": [
"blue",
"orange"
],
"properties": {
"blue": {
"type": "integer",
"minimum": 0
},
"orange": {
"type": "integer",
"minimum": 0
}
}
}
]
},
"point_number": {
"type": "integer",
"minimum": 0
},
"star_deuce_count": {
"type": "integer",
"minimum": 0
},
"changeover_count": {
"type": "integer",
"minimum": 0
},
"deciding_point_side": {
"type": [
"string",
"null"
],
"enum": [
"RIGHT",
"LEFT",
null
]
},
"completed": {
"type": "boolean"
},
"winner": {
"type": [
"string",
"null"
],
"enum": [
"BLUE",
"ORANGE",
null
]
},
"last_transition": {
"type": "string",
"enum": [
"POINT",
"GAME",
"SET",
"MATCH"
]
}
}
}
]
},
"participants": {
"type": "array",
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"display_name",
"external_id"
],
"description": "Data-minimized participant identity containing only the source-bound external id and display name.",
"properties": {
"display_name": {
"type": "string"
},
"external_id": {
"type": "string"
}
}
}
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "UTC RFC 3339 timestamp"
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "UTC RFC 3339 timestamp"
}
}
}
}
}ErrorResponseStatus 400, 401, 403, 404, 429, 500, 503
{
"type": "object",
"additionalProperties": false,
"required": [
"error"
],
"properties": {
"error": {
"type": "object",
"additionalProperties": false,
"required": [
"code",
"message",
"request_id"
],
"properties": {
"code": {
"type": "string",
"description": "Stable machine-readable code. Clients must tolerate unknown codes within the same HTTP class.",
"examples": [
"invalid_request",
"invalid_cursor",
"IDEMPOTENCY_KEY_REQUIRED",
"unsafe_webhook_url",
"authentication_required",
"invalid_token",
"insufficient_scope",
"installation_inactive",
"not_found",
"VERSION_CONFLICT",
"UNMAPPED_COURT",
"IDEMPOTENCY_CONFLICT",
"IDEMPOTENCY_IN_PROGRESS",
"endpoint_limit_reached",
"rate_limited",
"internal_error",
"idempotency_replay_failed",
"authorization_unavailable",
"rate_limit_unavailable"
]
},
"message": {
"type": "string"
},
"request_id": {
"type": "string"
},
"details": {}
}
}
}
}