Delete court booking
Delete a booking by external booking id. After successful delete, the booking is no longer returned by booking read/list endpoints.
Notes:
- Missing booking returns
200 {}. - Older
externalUpdatedAtreturns409 stale_write. - Same/newer delete remains idempotent (
200 {}).
Path Parameters
External service ID (UUID).
uuidYour system's booking identifier.
1 <= lengthQuery Parameters
Last update timestamp from your system.
date-timeResponse
200Error Responses
invalid_schema
Request validation failed.
missing_api_token
No authentication token provided.
invalid_api_token
Invalid or expired authentication token.
scope_permission_denied
Insufficient permissions for this operation.
external_service_access_denied
Token does not match the requested external service.
organization_access_denied
Service is not granted access to the organization.
court_not_found
Court was not found.
stale_write
Request is older than the stored resource version.
curl -X DELETE "https://dev.wingfield.systems/api/v1/external-services/497f6eca-6276-4993-bfeb-53cbbbba6f08/court-bookings/by-external-id/string?externalUpdatedAt=2019-08-24T14%3A15%3A22Z"{}{
"error": {
"type": "invalid_schema",
"message": "string",
"issues": [
{}
]
}
}{
"error": {
"type": "missing_api_token",
"message": "string"
}
}{
"error": {
"type": "scope_permission_denied",
"message": "string"
}
}{
"error": {
"type": "court_not_found",
"message": "string"
}
}{
"error": {
"type": "stale_write",
"message": "string"
}
}Upsert court booking PUT
Create or update a booking by external booking id with stale-write protection. Notes: - `participants` must contain 1 to 4 unique entries. - Each participant must contain exactly one of `userId` or `email`. - `email` is normalized to lowercase. - Equal `externalUpdatedAt` is idempotent only when the payload is otherwise unchanged. - Overlapping active bookings on the same court are rejected.
Get court by ID GET
Retrieve details for a single court, including mapping for the authenticated external service.