CourtReserve MCP by usefulapi
Read club members, court availability, reservations, events, attendance and revenue reports.
我该使用它吗
质量与安全性
发现(17)
- HIGH
- MEDIUM在 courtreserve_whos_here 中
- MEDIUM在 courtreserve_court_utilization 中
- MEDIUM在 courtreserve_list_event_registrations 中
- MEDIUM在 courtreserve_list_event_waitlist 中
- MEDIUM在 courtreserve_list_cancelled_event_registrations 中
- MEDIUM在 courtreserve_sales_summary 中
- LOW在 courtreserve_get_member_reservations 中
- LOW在 courtreserve_list_membership_types 中
- LOW在 courtreserve_list_reservation_types 中
基于对工具定义和协议合规性的自动分析。
上下文开销
这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。
安装
一键安装
将以下内容添加到你的 `claude_desktop_config.json` 文件中:
{
"mcpServers": {
"courtreserve": {
"url": "https://courtreserve.usefulapi.io/mcp"
}
}
}远程端点
https://courtreserve.usefulapi.io/mcpstreamable-http它能做什么
工具清单
工具(23)
🟢courtreserve_list_members(organization_member_id, family_id, email, phone_number, created_from, ...)
List the club's members (name, email, phone, membership type and status, start/end/next payment dates, family id). Filter by member id, family, exact email, phone or the created (at most 30 days) / created-or-updated (at most 31 days) time. Paged: pass next_page back as page. PIN codes and SSO links are not returned. Needs the Member role (Read). GET /api/v1/member/get.
输入模式
{
"type": "object",
"properties": {
"organization_member_id": {
"description": "Only this member id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"family_id": {
"description": "Only the members of this family (organizationMemberFamilyId).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"email": {
"description": "Exact email address (no partial matches).",
"type": "string",
"minLength": 3,
"maxLength": 254
},
"phone_number": {
"description": "Phone number.",
"type": "string",
"minLength": 3,
"maxLength": 40
},
"created_from": {
"description": "Only members created at or after this club-local date-time (with created_to: at most 30 days apart).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2})?$"
},
"created_to": {
"description": "Only members created at or before this club-local date-time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2})?$"
},
"created_or_updated_from": {
"description": "Only members created or changed at or after this club-local date-time (with the end: at most 31 days apart).",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2})?$"
},
"created_or_updated_to": {
"description": "Only members created or changed at or before this club-local date-time.",
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2})?$"
},
"include_custom_fields": {
"description": "Add the club's user-defined fields.",
"type": "boolean"
},
"include_ratings": {
"description": "Add skill ratings (DUPR, UTR and so on).",
"type": "boolean"
},
"include_marketing_consent": {
"description": "Add current email/text opt-in and the consent history.",
"type": "boolean"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Members per page, 1-200 (default 50).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_get_member_reservations(organization_member_id, external_id, start_date, end_date, limit)
A member's upcoming (or dated) court bookings and event registrations: type, start/end, courts, event name and players. For a family member the reply covers the whole family. Give the member id or your own external id. Needs the Member role (Read). GET /api/v1/member/reservations.
输入模式
{
"type": "object",
"properties": {
"organization_member_id": {
"description": "CourtReserve member id (courtreserve_list_members). One of this or external_id is required.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"external_id": {
"description": "The member's id in your own system (the member's External Id).",
"type": "string",
"minLength": 1,
"maxLength": 200
},
"start_date": {
"description": "Only reservations ending on or after this club-local date/time (default: now).",
"type": "string"
},
"end_date": {
"description": "Only reservations ending on or before this club-local date/time (default: open-ended).",
"type": "string"
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_families(family_id, limit)
List family accounts (family id, name, number, members and membership). Needs the Family role (Read). GET /api/v1/family/get.
输入模式
{
"type": "object",
"properties": {
"family_id": {
"description": "Only this family (organizationMemberFamilyId).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_membership_types(membership_type_id, limit)
The club's membership types (id, name, price, billing and status). Use the ids to filter the membership report. Needs the MembershipType role (Read). GET /api/v1/membershiptype/get.
输入模式
{
"type": "object",
"properties": {
"membership_type_id": {
"description": "Only this membership type id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_membership_report(assignment_type, membership_type_ids, start_from, start_to, end_from, ...)
The Membership report: one row per member or family membership with status, billing cadence, start/end, next payment and cancellation history. Filter by type, assignment (family or individual) and the start, end, next-payment or cancellation dates. Paged. Needs the Membership Report role (Read). GET /api/v1/membershipreport/list.
输入模式
{
"type": "object",
"properties": {
"assignment_type": {
"description": "Only family or only individual memberships (default both).",
"type": "string",
"enum": [
"family",
"individual"
]
},
"membership_type_ids": {
"description": "Only these membership type ids (courtreserve_list_membership_types).",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"start_from": {
"description": "Membership started on or after.",
"type": "string"
},
"start_to": {
"description": "Membership started on or before.",
"type": "string"
},
"end_from": {
"description": "Membership ends on or after.",
"type": "string"
},
"end_to": {
"description": "Membership ends on or before.",
"type": "string"
},
"next_payment_from": {
"description": "Next payment on or after.",
"type": "string"
},
"next_payment_to": {
"description": "Next payment on or before.",
"type": "string"
},
"canceled_from": {
"description": "Canceled on or after.",
"type": "string"
},
"canceled_to": {
"description": "Canceled on or before.",
"type": "string"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Rows per page, 1-500 (default 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_courts(limit)
The club's courts: id, label, court type and order. Use the ids in court utilization and court blocks. Needs the Reservation role (Read). GET /api/v1/reservation/courts.
输入模式
{
"type": "object",
"properties": {
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_reservation_types(limit)
The club's reservation types (court booking, lesson, court block and so on) with ids. Needs the Reservation role (Read). GET /api/v1/reservation/reservationtypes.
输入模式
{
"type": "object",
"properties": {
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_get_court_availability(date, from_date, to_date, court_type_id)
Court availability: each court's operating hours and the time slots already booked, for one date or a date range of at most 31 days (time zone of the club in the reply). Needs the Reservation role (Read). GET /api/v1/reservation/availability.
输入模式
{
"type": "object",
"properties": {
"date": {
"description": "One date, yyyy-MM-dd. Use this OR from_date + to_date.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"from_date": {
"description": "First date of a range, yyyy-MM-dd.",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"to_date": {
"description": "Last date of the range, yyyy-MM-dd (at most 31 days after from_date).",
"type": "string",
"pattern": "^(\\d{4})-(\\d{2})-(\\d{2})$"
},
"court_type_id": {
"description": "Only courts of this type (see the court type in courtreserve_list_courts).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_reservations(reservations_from, reservations_to, created_or_updated_from, created_or_updated_to, include_custom_fields, ...)
Active court reservations for a reservation period (the dates played) or a created/updated period, at most 31 days each: type, courts, start/end, players with contact details and what they owe/paid. Give at least one period. PIN codes are not returned. Needs the ReservationReport role (Read). GET /api/v1/reservationreport/listactive.
输入模式
{
"type": "object",
"properties": {
"reservations_from": {
"description": "Reservations starting on or after.",
"type": "string"
},
"reservations_to": {
"description": "Reservations starting on or before.",
"type": "string"
},
"created_or_updated_from": {
"description": "Reservations created or changed on or after.",
"type": "string"
},
"created_or_updated_to": {
"description": "Reservations created or changed on or before.",
"type": "string"
},
"include_custom_fields": {
"description": "Add user-defined fields.",
"type": "boolean"
},
"include_ratings": {
"description": "Add player ratings.",
"type": "boolean"
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_cancelled_reservations(cancelled_from, cancelled_to, reservations_from, reservations_to, limit)
Cancelled court reservations by the date they were cancelled or by the reservation period, at most 31 days each. Give at least one period. Needs the ReservationReport role (Read). GET /api/v1/reservationreport/listcancelled.
输入模式
{
"type": "object",
"properties": {
"cancelled_from": {
"description": "Cancelled on or after.",
"type": "string"
},
"cancelled_to": {
"description": "Cancelled on or before.",
"type": "string"
},
"reservations_from": {
"description": "Reservations starting on or after.",
"type": "string"
},
"reservations_to": {
"description": "Reservations starting on or before.",
"type": "string"
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_whos_here(start, end, include_cancelled, cancelled_only, limit)
Who is booked in a time window (for example today): member reservations and event registrations with the member, court and time, optionally including or only cancelled ones. The window can be at most 31 days. Needs the ReservationReport role (Read). GET /api/v1/reservationreport/whoisheretoday.
输入模式
{
"type": "object",
"properties": {
"start": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2})?$",
"description": "Start of the window, club-local yyyy-MM-ddTHH:mm:ss."
},
"end": {
"type": "string",
"pattern": "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}(:\\d{2})?$",
"description": "End of the window, club-local yyyy-MM-ddTHH:mm:ss."
},
"include_cancelled": {
"description": "Also return cancelled reservations.",
"type": "boolean"
},
"cancelled_only": {
"description": "Only cancelled reservations (wins over include_cancelled).",
"type": "boolean"
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"required": [
"start",
"end"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_court_utilization(start_date, end_date, court_ids, court_type_ids, event_tag_ids, ...)
Court utilization report (booked vs available time per time slot) for a period of at most 7 days, optionally for chosen courts, court types, event types, event tags or reservation types. Needs the ReservationReport role (Read). GET /api/v1/reservationreport/courtutilization.
输入模式
{
"type": "object",
"properties": {
"start_date": {
"type": "string",
"description": "First day of the period."
},
"end_date": {
"type": "string",
"description": "Last day of the period (at most 7 days after the first)."
},
"court_ids": {
"description": "Only these court ids (courtreserve_list_courts).",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"court_type_ids": {
"description": "Only these court type ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"event_tag_ids": {
"description": "Only these event tag ids.",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"event_type_ids": {
"description": "Only these event category ids (courtreserve_list_event_categories).",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
},
"reservation_type_ids": {
"description": "Only these reservation type ids (courtreserve_list_reservation_types).",
"minItems": 1,
"maxItems": 100,
"type": "array",
"items": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
}
}
},
"required": [
"start_date",
"end_date"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_event_categories(category_id, is_public, limit)
Event categories (clinics, round robins, tournaments, open play...) with ids. Needs the EventCalendar role (Read). GET /api/v1/eventcalendar/categories.
输入模式
{
"type": "object",
"properties": {
"category_id": {
"description": "Only this category id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"is_public": {
"description": "Only public (true) or only non-public (false) categories; omit for all.",
"type": "boolean"
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_events(start_date, end_date, category_id, status, include_price_info, ...)
Events on the club calendar between two dates: name, category, start/end, courts, instructors, capacity, registered and waitlist counts, price and rating limits. SSO links are not returned. Needs the EventCalendar role (Read). GET /api/v1/eventcalendar/eventlist.
输入模式
{
"type": "object",
"properties": {
"start_date": {
"description": "Events from this club-local date/time.",
"type": "string"
},
"end_date": {
"description": "Events up to this club-local date/time.",
"type": "string"
},
"category_id": {
"description": "Only this event category (courtreserve_list_event_categories).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"status": {
"description": "Event status (default Active).",
"type": "string",
"enum": [
"Active",
"Canceled",
"All"
]
},
"include_price_info": {
"description": "Add prices (default true).",
"type": "boolean"
},
"include_rating_restrictions": {
"description": "Add rating restrictions.",
"type": "boolean"
},
"include_tags": {
"description": "Add event tags.",
"type": "boolean"
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_event_registrations(event_from, event_to, registered_from, registered_to, include_courts, ...)
Active registrations for events, clinics and lessons with the member, event and what was paid. Give an event period or a registration period, at most 31 days each. Needs the EventRegistrationReport role (Read). GET /api/v1/eventregistrationreport/listactive.
输入模式
{
"type": "object",
"properties": {
"event_from": {
"description": "Events on or after.",
"type": "string"
},
"event_to": {
"description": "Events on or before.",
"type": "string"
},
"registered_from": {
"description": "Registered on or after.",
"type": "string"
},
"registered_to": {
"description": "Registered on or before.",
"type": "string"
},
"include_courts": {
"description": "Add court information.",
"type": "boolean"
},
"include_partner_info": {
"description": "Add partner(s) for team events.",
"type": "boolean"
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_event_waitlist(event_from, event_to, registered_from, registered_to, include_courts, ...)
People on event waitlists. Give an event period or a registration period, at most 31 days each. Needs the EventRegistrationReport role (Read). GET /api/v1/eventregistrationreport/listwaitlist.
输入模式
{
"type": "object",
"properties": {
"event_from": {
"description": "Events on or after.",
"type": "string"
},
"event_to": {
"description": "Events on or before.",
"type": "string"
},
"registered_from": {
"description": "Registered on or after.",
"type": "string"
},
"registered_to": {
"description": "Registered on or before.",
"type": "string"
},
"include_courts": {
"description": "Add court information.",
"type": "boolean"
},
"include_partner_info": {
"description": "Add partner(s) for team events.",
"type": "boolean"
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_cancelled_event_registrations(cancelled_from, cancelled_to, event_from, event_to, limit)
Cancelled event registrations by cancellation date or by event date, at most 31 days each. Give at least one period. Needs the EventRegistrationReport role (Read). GET /api/v1/eventregistrationreport/listcancelled.
输入模式
{
"type": "object",
"properties": {
"cancelled_from": {
"description": "Cancelled on or after.",
"type": "string"
},
"cancelled_to": {
"description": "Cancelled on or before.",
"type": "string"
},
"event_from": {
"description": "Events on or after.",
"type": "string"
},
"event_to": {
"description": "Events on or before.",
"type": "string"
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_checkins(checkin_from, checkin_to, reservations_from, reservations_to, include_court_booking, ...)
Check-in report: who checked in to court bookings and events, by check-in period or reservation period (at most 31 days each). Give at least one period. Role: the key's access to attendance data. GET /api/v1/attendancereport/checkin.
输入模式
{
"type": "object",
"properties": {
"checkin_from": {
"description": "Checked in on or after.",
"type": "string"
},
"checkin_to": {
"description": "Checked in on or before.",
"type": "string"
},
"reservations_from": {
"description": "Reservations starting on or after.",
"type": "string"
},
"reservations_to": {
"description": "Reservations starting on or before.",
"type": "string"
},
"include_court_booking": {
"description": "Include court bookings (default true).",
"type": "boolean"
},
"include_events": {
"description": "Include events (default true).",
"type": "boolean"
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_transactions(transaction_from, transaction_to, reservation_from, reservation_to, transaction_types, ...)
Transactions (fees, membership fees, payments, refunds...) by transaction date or reservation date: id, type, date, subtotal, tax, total, unpaid amount, payment type, category and the member's name, email and phone. Filter by type, paid/unpaid and payment type. Give at least one period. Needs the Transactions role (Read). GET /api/v1/transactions/list.
输入模式
{
"type": "object",
"properties": {
"transaction_from": {
"description": "Transactions on or after.",
"type": "string"
},
"transaction_to": {
"description": "Transactions on or before.",
"type": "string"
},
"reservation_from": {
"description": "Reservations starting on or after.",
"type": "string"
},
"reservation_to": {
"description": "Reservations starting on or before.",
"type": "string"
},
"transaction_types": {
"description": "Comma-separated transaction types, for example 'Fee,Membership Fee,Payment' (the vendor's own names).",
"type": "string",
"minLength": 1,
"maxLength": 300
},
"payment_types": {
"description": "Comma-separated payment types, for example 'Cash,Credit Card,Balance'.",
"type": "string",
"minLength": 1,
"maxLength": 300
},
"only_paid": {
"description": "Only paid transactions.",
"type": "boolean"
},
"only_unpaid": {
"description": "Only unpaid transactions.",
"type": "boolean"
},
"include_promo_info": {
"description": "Add the promo codes each fee used.",
"type": "boolean"
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_sales_summary(payment_from, payment_to, include_promo_info)
Detailed sales summary for a payment period of at most 31 days: paid fees plus refunds by category and payment type. Needs the Transactions role (Read). GET /api/v1/transactions/salessummarydetailed.
输入模式
{
"type": "object",
"properties": {
"payment_from": {
"type": "string",
"description": "First day of the payment period."
},
"payment_to": {
"type": "string",
"description": "Last day of the payment period (at most 31 days after the first)."
},
"include_promo_info": {
"description": "Add the promo codes each fee used.",
"type": "boolean"
}
},
"required": [
"payment_from",
"payment_to"
],
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_promo_codes(promo_code_id, limit)
The club's promo codes: code, name, type, value, dates, limits and what they apply to. Needs the PromoCodes role (Read). GET /api/v1/promocode/get.
输入模式
{
"type": "object",
"properties": {
"promo_code_id": {
"description": "Only this promo code id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"limit": {
"description": "Most rows to return (default 100, max 500). The reply says when rows were left out.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 500
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_leagues(league_id, include_sessions, page, page_size)
The club's leagues, with their sessions (id and name) when include_sessions is true (default). Paged. Needs the League role (Read). GET /api/v1/league/get.
输入模式
{
"type": "object",
"properties": {
"league_id": {
"description": "Only this league id.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"include_sessions": {
"description": "Add each league's sessions (default true).",
"type": "boolean"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Leagues per page, 1-200 (default 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢courtreserve_list_league_sessions(league_id, session_id, include_game_days, include_players, page, ...)
League sessions, for one league or one session, optionally with their game days and registered players. Paged. Needs the League role (Read). GET /api/v1/league/sessions.
输入模式
{
"type": "object",
"properties": {
"league_id": {
"description": "Only this league's sessions.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"session_id": {
"description": "Only this session.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"include_game_days": {
"description": "Add each session's game days.",
"type": "boolean"
},
"include_players": {
"description": "Add each session's registered players (use with one session).",
"type": "boolean"
},
"page": {
"description": "Page number, from 1 (default 1). Pass the previous reply's next_page.",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 100000
},
"page_size": {
"description": "Sessions per page, 1-200 (default 100).",
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 200
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}社区
证据