WTN GraphQL API
The ITF World Tennis Number APIs allow external systems to manage and exercise functionality within WTN platform. The API is based on GraphQL. If you are not familiar with GraphQL there are many external resources to help you get started.
Contact
API Support
support@example.com
API Endpoints
GraphQL endpoint:
https://prd-itf-kube.clubspark.pro/tods-gw-api/graphql
Queries
accountPerson
Example
Query
query accountPerson {
accountPerson {
id
tennisId
registrationToken
nativeGivenName
nativeFamilyName
standardGivenName
standardFamilyName
sex
birthDate
birthYear
nationalityCode
countryOfResidenceCode
alreadyItfCustomer
alreadyRegisteredForService
isSexUpdateable
isNativeGivenNameUpdateable
isNativeFamilyNameUpdateable
isBirthDateUpdateable
isNationalityUpdateable
isCountryOfResidenceUpdateable
biographicalInformation {
...BiographicalInformationFragment
}
hasBirthDate
hasNationality
hasSex
hasCountryOfResidence
}
}
query accountPerson {
accountPerson {
id
tennisId
registrationToken
nativeGivenName
nativeFamilyName
standardGivenName
standardFamilyName
sex
birthDate
birthYear
nationalityCode
countryOfResidenceCode
alreadyItfCustomer
alreadyRegisteredForService
isSexUpdateable
isNativeGivenNameUpdateable
isNativeFamilyNameUpdateable
isBirthDateUpdateable
isNationalityUpdateable
isCountryOfResidenceUpdateable
biographicalInformation {
...BiographicalInformationFragment
}
hasBirthDate
hasNationality
hasSex
hasCountryOfResidence
}
}
Response
{
"data": {
"accountPerson": {
"id": "xyz789",
"tennisId": "xyz789",
"registrationToken": "abc123",
"nativeGivenName": "xyz789",
"nativeFamilyName": "abc123",
"standardGivenName": "abc123",
"standardFamilyName": "xyz789",
"sex": SexEnum,
"birthDate": "2026-03-31T14:07:52.371Z",
"birthYear": 123,
"nationalityCode": "xyz789",
"countryOfResidenceCode": "xyz789",
"alreadyItfCustomer": true,
"alreadyRegisteredForService": true,
"isSexUpdateable": true,
"isNativeGivenNameUpdateable": false,
"isNativeFamilyNameUpdateable": false,
"isBirthDateUpdateable": true,
"isNationalityUpdateable": true,
"isCountryOfResidenceUpdateable": true,
"biographicalInformation": BiographicalInformation,
"hasBirthDate": true,
"hasNationality": false,
"hasSex": false,
"hasCountryOfResidence": true
}
}
}
checkMergePerson
Boolean
| Name | Description |
|---|---|
targetPersonID -
PersonIDInput!
|
|
additionalPersonID -
PersonIDInput!
|
Example
Query
query checkMergePerson($targetPersonID: PersonIDInput!, $additionalPersonID: PersonIDInput!) {
checkMergePerson(targetPersonID: $targetPersonID, additionalPersonID: $additionalPersonID)
}
Variables
{
"targetPersonID": PersonIDInput,
"additionalPersonID": PersonIDInput
}
query checkMergePerson($targetPersonID: PersonIDInput!, $additionalPersonID: PersonIDInput!) {
checkMergePerson(targetPersonID: $targetPersonID, additionalPersonID: $additionalPersonID)
}
{
"targetPersonID": PersonIDInput,
"additionalPersonID": PersonIDInput
}
Response
{"data": {"checkMergePerson": true}}
checkRemovePerson
Example
Query
query checkRemovePerson($id: PersonIDInput!) {
checkRemovePerson(id: $id)
}
Variables
{"id": PersonIDInput}
query checkRemovePerson($id: PersonIDInput!) {
checkRemovePerson(id: $id)
}
{"id": PersonIDInput}
Response
{"data": {"checkRemovePerson": false}}
club
Example
Query
query club($id: ID!) {
club(id: $id) {
id
name
members {
...PersonListFragment
}
myRole
}
}
Variables
{"id": ID}
query club($id: ID!) {
club(id: $id) {
id
name
members {
...PersonListFragment
}
myRole
}
}
{"id": ID}
Response
{
"data": {
"club": {
"id": ID,
"name": "abc123",
"members": PersonList,
"myRole": ClubMemberRole
}
}
}
clubs
ClubList
| Name | Description |
|---|---|
filter -
ClubFilterOptions
|
|
pageArgs -
PaginationArgs
|
|
sort -
SortOrder
|
Example
Query
query clubs($filter: ClubFilterOptions, $pageArgs: PaginationArgs, $sort: SortOrder) {
clubs(filter: $filter, pageArgs: $pageArgs, sort: $sort) {
totalItems
items {
...ClubFragment
}
}
}
Variables
{
"filter": ClubFilterOptions,
"pageArgs": PaginationArgs,
"sort": SortOrder
}
query clubs($filter: ClubFilterOptions, $pageArgs: PaginationArgs, $sort: SortOrder) {
clubs(filter: $filter, pageArgs: $pageArgs, sort: $sort) {
totalItems
items {
...ClubFragment
}
}
}
{
"filter": ClubFilterOptions,
"pageArgs": PaginationArgs,
"sort": SortOrder
}
Response
{"data": {"clubs": {"totalItems": 987, "items": [Club]}}}
fastTrackInviteLinks
Example
Query
query fastTrackInviteLinks($tennisIds: [String!]!) {
fastTrackInviteLinks(tennisIds: $tennisIds) {
tennisId
url
errorCode
errorMessage
}
}
Variables
{"tennisIds": ["abc123"]}
query fastTrackInviteLinks($tennisIds: [String!]!) {
fastTrackInviteLinks(tennisIds: $tennisIds) {
tennisId
url
errorCode
errorMessage
}
}
{"tennisIds": ["abc123"]}
Response
{
"data": {
"fastTrackInviteLinks": [
{
"tennisId": "abc123",
"url": "xyz789",
"errorCode": "xyz789",
"errorMessage": "xyz789"
}
]
}
}
features
Example
Query
query features {
features {
walkUpRegistration
}
}
query features {
features {
walkUpRegistration
}
}
Response
{
"data": {
"features": {"walkUpRegistration": FeatureStatusEnum}
}
}
matchUp
Example
Query
query matchUp($id: ID!) {
matchUp(id: $id) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
Variables
{"id": ID}
query matchUp($id: ID!) {
matchUp(id: $id) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
{"id": ID}
Response
{
"data": {
"matchUp": {
"id": ID,
"score": Score,
"sides": [Side],
"winningSide": SideEnum,
"providerMatchId": ID,
"ageCategoryCode": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "xyz789",
"grade": "abc123",
"start": DateTime,
"end": DateTime,
"circuit": CircuitEnum,
"roundNumber": 987,
"roundPosition": 123,
"roundName": "xyz789",
"humidity": 123.45,
"duration": 987.65,
"status": MatchUpStatusEnum,
"statusCodes": ["xyz789"],
"extensions": [Extension],
"createdAt": DateTime,
"updatedAt": DateTime,
"competitiveness": 123.45,
"state": StateEnum,
"divisionType": "abc123",
"drawStructure": DrawStructureEnum,
"drawType": "xyz789",
"tieMatchUpId": ID,
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"drawId": ID,
"drawName": "xyz789",
"venueId": ID,
"selfSubmittedResult": false,
"ballType": BallTypeEnum,
"deleted": false,
"collectionPosition": 123,
"wtnId": ID,
"wtnErrors": ["abc123"],
"isTied": false,
"tournament": Tournament,
"court": Court,
"venue": Venue,
"provider": Provider,
"ownerId": ID,
"reviewedBy": Person,
"submissionState": MatchUpSubmissionStateEnum,
"reviewedAt": DateTime,
"worldTennisNumbers": [MatchUpWorldTennisNumber]
}
}
}
matchUpAggregatedCount
Example
Query
query matchUpAggregatedCount($filter: MatchUpAggregateFilterOptions!) {
matchUpAggregatedCount(filter: $filter) {
totalMatches
tournamentMatches
notTournamentMatches
matchesWon
matchesLost
matchesTied
uniqueOpponents {
...UniqueOpponentsFragment
}
walkovers
decisive
routine
competitive
}
}
Variables
{"filter": MatchUpAggregateFilterOptions}
query matchUpAggregatedCount($filter: MatchUpAggregateFilterOptions!) {
matchUpAggregatedCount(filter: $filter) {
totalMatches
tournamentMatches
notTournamentMatches
matchesWon
matchesLost
matchesTied
uniqueOpponents {
...UniqueOpponentsFragment
}
walkovers
decisive
routine
competitive
}
}
{"filter": MatchUpAggregateFilterOptions}
Response
{
"data": {
"matchUpAggregatedCount": {
"totalMatches": 987,
"tournamentMatches": 987,
"notTournamentMatches": 123,
"matchesWon": 123,
"matchesLost": 987,
"matchesTied": 123,
"uniqueOpponents": UniqueOpponents,
"walkovers": 987,
"decisive": 123,
"routine": 123,
"competitive": 123
}
}
}
matchUpBucketedStats
Example
Query
query matchUpBucketedStats($filter: BucketedMatchUpFilterOptions!) {
matchUpBucketedStats(filter: $filter) {
bucketsMeta {
...BucketMetaFragment
}
}
}
Variables
{"filter": BucketedMatchUpFilterOptions}
query matchUpBucketedStats($filter: BucketedMatchUpFilterOptions!) {
matchUpBucketedStats(filter: $filter) {
bucketsMeta {
...BucketMetaFragment
}
}
}
{"filter": BucketedMatchUpFilterOptions}
Response
{
"data": {
"matchUpBucketedStats": {"bucketsMeta": [BucketMeta]}
}
}
matchUpCount
Example
Query
query matchUpCount($filter: MatchUpFilterOptions) {
matchUpCount(filter: $filter)
}
Variables
{"filter": MatchUpFilterOptions}
query matchUpCount($filter: MatchUpFilterOptions) {
matchUpCount(filter: $filter)
}
{"filter": MatchUpFilterOptions}
Response
{"data": {"matchUpCount": 123}}
matchUps
MatchUpList
| Name | Description |
|---|---|
pageArgs -
PaginationArgs
|
|
filter -
MatchUpFilterOptions
|
|
matchUpFilter -
[MatchUpFilterOptions]
|
|
personFilter -
[PersonFilterOptions]
|
|
tournamentFilter -
[TournamentFilterOptions]
|
|
sort -
SortOrder
|
Example
Query
query matchUps($pageArgs: PaginationArgs, $filter: MatchUpFilterOptions, $matchUpFilter: [MatchUpFilterOptions], $personFilter: [PersonFilterOptions], $tournamentFilter: [TournamentFilterOptions], $sort: SortOrder) {
matchUps(pageArgs: $pageArgs, filter: $filter, matchUpFilter: $matchUpFilter, personFilter: $personFilter, tournamentFilter: $tournamentFilter, sort: $sort) {
items {
...MatchUpFragment
}
totalItems
}
}
Variables
{
"pageArgs": PaginationArgs,
"filter": MatchUpFilterOptions,
"matchUpFilter": [MatchUpFilterOptions],
"personFilter": [PersonFilterOptions],
"tournamentFilter": [TournamentFilterOptions],
"sort": SortOrder
}
query matchUps($pageArgs: PaginationArgs, $filter: MatchUpFilterOptions, $matchUpFilter: [MatchUpFilterOptions], $personFilter: [PersonFilterOptions], $tournamentFilter: [TournamentFilterOptions], $sort: SortOrder) {
matchUps(pageArgs: $pageArgs, filter: $filter, matchUpFilter: $matchUpFilter, personFilter: $personFilter, tournamentFilter: $tournamentFilter, sort: $sort) {
items {
...MatchUpFragment
}
totalItems
}
}
{
"pageArgs": PaginationArgs,
"filter": MatchUpFilterOptions,
"matchUpFilter": [MatchUpFilterOptions],
"personFilter": [PersonFilterOptions],
"tournamentFilter": [TournamentFilterOptions],
"sort": SortOrder
}
Response
{
"data": {
"matchUps": {"items": [MatchUp], "totalItems": 123}
}
}
matchUpsInternational
MatchUpList
| Name | Description |
|---|---|
pageArgs -
PaginationArgs
|
|
filter -
MatchUpFilterOptions
|
|
sort -
SortOrder
|
Example
Query
query matchUpsInternational($pageArgs: PaginationArgs, $filter: MatchUpFilterOptions, $sort: SortOrder) {
matchUpsInternational(pageArgs: $pageArgs, filter: $filter, sort: $sort) {
items {
...MatchUpFragment
}
totalItems
}
}
Variables
{
"pageArgs": PaginationArgs,
"filter": MatchUpFilterOptions,
"sort": SortOrder
}
query matchUpsInternational($pageArgs: PaginationArgs, $filter: MatchUpFilterOptions, $sort: SortOrder) {
matchUpsInternational(pageArgs: $pageArgs, filter: $filter, sort: $sort) {
items {
...MatchUpFragment
}
totalItems
}
}
{
"pageArgs": PaginationArgs,
"filter": MatchUpFilterOptions,
"sort": SortOrder
}
Response
{
"data": {
"matchUpsInternational": {
"items": [MatchUp],
"totalItems": 987
}
}
}
matchUpStatistics
Example
Query
query matchUpStatistics($filter: MatchUpStatisticsFilterOptions!) {
matchUpStatistics(filter: $filter) {
matchUpVsStatisticsCount {
...MatchUpWinLossCountFragment
}
matchUps {
...MatchUpListFragment
}
commonCompetitorIds
commonCompetitors {
...PersonFragment
}
winLikelihood
}
}
Variables
{"filter": MatchUpStatisticsFilterOptions}
query matchUpStatistics($filter: MatchUpStatisticsFilterOptions!) {
matchUpStatistics(filter: $filter) {
matchUpVsStatisticsCount {
...MatchUpWinLossCountFragment
}
matchUps {
...MatchUpListFragment
}
commonCompetitorIds
commonCompetitors {
...PersonFragment
}
winLikelihood
}
}
{"filter": MatchUpStatisticsFilterOptions}
Response
{
"data": {
"matchUpStatistics": {
"matchUpVsStatisticsCount": MatchUpWinLossCount,
"matchUps": MatchUpList,
"commonCompetitorIds": [ID],
"commonCompetitors": [Person],
"winLikelihood": 123
}
}
}
person
Example
Query
query person($id: PersonIDInput!) {
person(id: $id) {
registrationInvite {
...InviteLinkFragment
}
clubs {
...ClubFragment
}
clubStatus
id
clubsparkId
externalID
tennisID
nationalID
personID
biographicalInformation {
...BiographicalInformationFragment
}
extensions {
...ExtensionFragment
}
nationalityCode
nativeFamilyName
nativeGivenName
nationalRating
notes
standardGivenName
standardFamilyName
birthDate
isDeceased
sex
age
birthYear
worldTennisNumbers {
...WorldTennisNumberFragment
}
addresses {
...AddressFragment
}
createdAt
updatedAt
belongsToRequestingProvider
lastPlayedSingles
lastPlayedDoubles
optedOutOfPublicDataConsent
owningProviderId
school {
...SchoolInfoFragment
}
isRanked
rankedSingles
rankedDoubles
eligibleForSelfSubmission
eligibleForPsq
isRegistered
section {
...SectionFragment
}
hasSubmittedResult
tournaments {
...TournamentListFragment
}
matchUpIntervals {
...MatchUpIntervalsFragment
}
matchUpVsStatisticsCount {
...MatchUpVsStatisticsWinLossCountFragment
}
matchUps {
...MatchUpListFragment
}
demographicStats {
...DemographicStatFragment
}
ratingBounds {
...RatingBoundsFragment
}
}
}
Variables
{"id": PersonIDInput}
query person($id: PersonIDInput!) {
person(id: $id) {
registrationInvite {
...InviteLinkFragment
}
clubs {
...ClubFragment
}
clubStatus
id
clubsparkId
externalID
tennisID
nationalID
personID
biographicalInformation {
...BiographicalInformationFragment
}
extensions {
...ExtensionFragment
}
nationalityCode
nativeFamilyName
nativeGivenName
nationalRating
notes
standardGivenName
standardFamilyName
birthDate
isDeceased
sex
age
birthYear
worldTennisNumbers {
...WorldTennisNumberFragment
}
addresses {
...AddressFragment
}
createdAt
updatedAt
belongsToRequestingProvider
lastPlayedSingles
lastPlayedDoubles
optedOutOfPublicDataConsent
owningProviderId
school {
...SchoolInfoFragment
}
isRanked
rankedSingles
rankedDoubles
eligibleForSelfSubmission
eligibleForPsq
isRegistered
section {
...SectionFragment
}
hasSubmittedResult
tournaments {
...TournamentListFragment
}
matchUpIntervals {
...MatchUpIntervalsFragment
}
matchUpVsStatisticsCount {
...MatchUpVsStatisticsWinLossCountFragment
}
matchUps {
...MatchUpListFragment
}
demographicStats {
...DemographicStatFragment
}
ratingBounds {
...RatingBoundsFragment
}
}
}
{"id": PersonIDInput}
Response
{
"data": {
"person": {
"registrationInvite": InviteLink,
"clubs": [Club],
"clubStatus": PersonClubStatus,
"id": ID,
"clubsparkId": ID,
"externalID": ID,
"tennisID": ID,
"nationalID": ID,
"personID": ID,
"biographicalInformation": BiographicalInformation,
"extensions": [Extension],
"nationalityCode": "abc123",
"nativeFamilyName": "xyz789",
"nativeGivenName": "xyz789",
"nationalRating": "xyz789",
"notes": "abc123",
"standardGivenName": "abc123",
"standardFamilyName": "xyz789",
"birthDate": "2025-10-01T14:07:52.371Z",
"isDeceased": true,
"sex": SexEnum,
"age": 123,
"birthYear": 987,
"worldTennisNumbers": [WorldTennisNumber],
"addresses": [Address],
"createdAt": DateTime,
"updatedAt": DateTime,
"belongsToRequestingProvider": true,
"lastPlayedSingles": DateTime,
"lastPlayedDoubles": DateTime,
"optedOutOfPublicDataConsent": true,
"owningProviderId": ID,
"school": [SchoolInfo],
"isRanked": false,
"rankedSingles": true,
"rankedDoubles": false,
"eligibleForSelfSubmission": false,
"eligibleForPsq": true,
"isRegistered": true,
"section": Section,
"hasSubmittedResult": false,
"tournaments": TournamentList,
"matchUpIntervals": MatchUpIntervals,
"matchUpVsStatisticsCount": MatchUpVsStatisticsWinLossCount,
"matchUps": MatchUpList,
"demographicStats": [DemographicStat],
"ratingBounds": RatingBounds
}
}
}
personCount
Example
Query
query personCount($filter: PersonFilterOptions) {
personCount(filter: $filter)
}
Variables
{"filter": PersonFilterOptions}
query personCount($filter: PersonFilterOptions) {
personCount(filter: $filter)
}
{"filter": PersonFilterOptions}
Response
{"data": {"personCount": 123}}
personMerges
Example
Query
query personMerges($pageArgs: PaginationArgs, $from: DateTime) {
personMerges(pageArgs: $pageArgs, from: $from) {
items {
...PersonMergeFragment
}
totalItems
}
}
Variables
{
"pageArgs": PaginationArgs,
"from": DateTime
}
query personMerges($pageArgs: PaginationArgs, $from: DateTime) {
personMerges(pageArgs: $pageArgs, from: $from) {
items {
...PersonMergeFragment
}
totalItems
}
}
{
"pageArgs": PaginationArgs,
"from": DateTime
}
Response
{
"data": {
"personMerges": {
"items": [PersonMerge],
"totalItems": 987
}
}
}
persons
PersonList
| Name | Description |
|---|---|
pageArgs -
PaginationArgs
|
|
filter -
PersonFilterOptions
|
|
sort -
SortOrder
|
Example
Query
query persons($pageArgs: PaginationArgs, $filter: PersonFilterOptions, $sort: SortOrder) {
persons(pageArgs: $pageArgs, filter: $filter, sort: $sort) {
items {
...PersonFragment
}
totalItems
}
}
Variables
{
"pageArgs": PaginationArgs,
"filter": PersonFilterOptions,
"sort": SortOrder
}
query persons($pageArgs: PaginationArgs, $filter: PersonFilterOptions, $sort: SortOrder) {
persons(pageArgs: $pageArgs, filter: $filter, sort: $sort) {
items {
...PersonFragment
}
totalItems
}
}
{
"pageArgs": PaginationArgs,
"filter": PersonFilterOptions,
"sort": SortOrder
}
Response
{
"data": {
"persons": {"items": [Person], "totalItems": 987}
}
}
providerNames
Example
Query
query providerNames($filter: ProviderFilterOptions, $sort: SortOrder) {
providerNames(filter: $filter, sort: $sort) {
items {
...ProviderNameFragment
}
totalItems
}
}
Variables
{
"filter": ProviderFilterOptions,
"sort": SortOrder
}
query providerNames($filter: ProviderFilterOptions, $sort: SortOrder) {
providerNames(filter: $filter, sort: $sort) {
items {
...ProviderNameFragment
}
totalItems
}
}
{
"filter": ProviderFilterOptions,
"sort": SortOrder
}
Response
{
"data": {
"providerNames": {
"items": [ProviderName],
"totalItems": 123
}
}
}
publicPersons
PersonList
| Name | Description |
|---|---|
pageArgs -
PaginationArgs
|
|
filter -
PublicPersonFilterOptions
|
|
sort -
SortOrder
|
Example
Query
query publicPersons($pageArgs: PaginationArgs, $filter: PublicPersonFilterOptions, $sort: SortOrder) {
publicPersons(pageArgs: $pageArgs, filter: $filter, sort: $sort) {
items {
...PersonFragment
}
totalItems
}
}
Variables
{
"pageArgs": PaginationArgs,
"filter": PublicPersonFilterOptions,
"sort": SortOrder
}
query publicPersons($pageArgs: PaginationArgs, $filter: PublicPersonFilterOptions, $sort: SortOrder) {
publicPersons(pageArgs: $pageArgs, filter: $filter, sort: $sort) {
items {
...PersonFragment
}
totalItems
}
}
{
"pageArgs": PaginationArgs,
"filter": PublicPersonFilterOptions,
"sort": SortOrder
}
Response
{
"data": {
"publicPersons": {
"items": [Person],
"totalItems": 123
}
}
}
rmg
Example
Query
query rmg($input: PersonPSQInput!) {
rmg(input: $input) {
confidence
ratingDate
tennisNumber
prevTennisNumber
type
gameZoneUpper
gameZoneLower
source
isRanked
}
}
Variables
{"input": PersonPSQInput}
query rmg($input: PersonPSQInput!) {
rmg(input: $input) {
confidence
ratingDate
tennisNumber
prevTennisNumber
type
gameZoneUpper
gameZoneLower
source
isRanked
}
}
{"input": PersonPSQInput}
Response
{
"data": {
"rmg": [
{
"confidence": 123.45,
"ratingDate": DateTime,
"tennisNumber": 123.45,
"prevTennisNumber": 123.45,
"type": WorldTennisNumberTypeEnum,
"gameZoneUpper": 123.45,
"gameZoneLower": 123.45,
"source": RatingSourceEnum,
"isRanked": true
}
]
}
}
selfSubmittedMatchUps
SelfSubmittedMatchUpList
| Name | Description |
|---|---|
pageArgs -
PaginationArgs
|
|
states -
[MatchUpSubmissionStateEnum]
|
|
sort -
SortOrder
|
Example
Query
query selfSubmittedMatchUps($pageArgs: PaginationArgs, $states: [MatchUpSubmissionStateEnum], $sort: SortOrder) {
selfSubmittedMatchUps(pageArgs: $pageArgs, states: $states, sort: $sort) {
items {
...MatchUpFragment
}
pendingItems
rejectedItems
approvedItems
totalItems
}
}
Variables
{
"pageArgs": PaginationArgs,
"states": [MatchUpSubmissionStateEnum],
"sort": SortOrder
}
query selfSubmittedMatchUps($pageArgs: PaginationArgs, $states: [MatchUpSubmissionStateEnum], $sort: SortOrder) {
selfSubmittedMatchUps(pageArgs: $pageArgs, states: $states, sort: $sort) {
items {
...MatchUpFragment
}
pendingItems
rejectedItems
approvedItems
totalItems
}
}
{
"pageArgs": PaginationArgs,
"states": [MatchUpSubmissionStateEnum],
"sort": SortOrder
}
Response
{
"data": {
"selfSubmittedMatchUps": {
"items": [MatchUp],
"pendingItems": 987,
"rejectedItems": 123,
"approvedItems": 987,
"totalItems": 987
}
}
}
tournament
Example
Query
query tournament($id: ID!) {
tournament(id: $id) {
id
end
start
entriesClose
entriesOpen
extensions {
...ExtensionFragment
}
formalName
hostCountryCode
indoorOutdoor
localTimeZone
notes
promotionalName
season
surfaceCategory
providerTournamentId
unifiedTournamentId
level
name
updatedAt
createdAt
withdrawalDeadline
belongsToRequestingProvider
subCategory
persons {
...PersonListFragment
}
matchUps {
...MatchUpListFragment
}
provider {
...ProviderFragment
}
}
}
Variables
{"id": ID}
query tournament($id: ID!) {
tournament(id: $id) {
id
end
start
entriesClose
entriesOpen
extensions {
...ExtensionFragment
}
formalName
hostCountryCode
indoorOutdoor
localTimeZone
notes
promotionalName
season
surfaceCategory
providerTournamentId
unifiedTournamentId
level
name
updatedAt
createdAt
withdrawalDeadline
belongsToRequestingProvider
subCategory
persons {
...PersonListFragment
}
matchUps {
...MatchUpListFragment
}
provider {
...ProviderFragment
}
}
}
{"id": ID}
Response
{
"data": {
"tournament": {
"id": ID,
"end": DateTime,
"start": DateTime,
"entriesClose": DateTime,
"entriesOpen": DateTime,
"extensions": [Extension],
"formalName": "abc123",
"hostCountryCode": CountryCode,
"indoorOutdoor": IndoorOutdoorEnum,
"localTimeZone": "xyz789",
"notes": "xyz789",
"promotionalName": "abc123",
"season": "xyz789",
"surfaceCategory": SurfaceCategoryEnum,
"providerTournamentId": "abc123",
"unifiedTournamentId": "xyz789",
"level": "xyz789",
"name": "abc123",
"updatedAt": DateTime,
"createdAt": DateTime,
"withdrawalDeadline": DateTime,
"belongsToRequestingProvider": false,
"subCategory": TournamentSubCategoryEnum,
"persons": PersonList,
"matchUps": MatchUpList,
"provider": Provider
}
}
}
tournamentCount
Example
Query
query tournamentCount($filter: TournamentFilterOptions) {
tournamentCount(filter: $filter)
}
Variables
{"filter": TournamentFilterOptions}
query tournamentCount($filter: TournamentFilterOptions) {
tournamentCount(filter: $filter)
}
{"filter": TournamentFilterOptions}
Response
{"data": {"tournamentCount": 987}}
tournaments
TournamentList
| Name | Description |
|---|---|
pageArgs -
PaginationArgs
|
|
filter -
TournamentFilterOptions
|
|
sort -
SortOrder
|
Example
Query
query tournaments($pageArgs: PaginationArgs, $filter: TournamentFilterOptions, $sort: SortOrder) {
tournaments(pageArgs: $pageArgs, filter: $filter, sort: $sort) {
items {
...TournamentFragment
}
totalItems
}
}
Variables
{
"pageArgs": PaginationArgs,
"filter": TournamentFilterOptions,
"sort": SortOrder
}
query tournaments($pageArgs: PaginationArgs, $filter: TournamentFilterOptions, $sort: SortOrder) {
tournaments(pageArgs: $pageArgs, filter: $filter, sort: $sort) {
items {
...TournamentFragment
}
totalItems
}
}
{
"pageArgs": PaginationArgs,
"filter": TournamentFilterOptions,
"sort": SortOrder
}
Response
{
"data": {
"tournaments": {
"items": [Tournament],
"totalItems": 123
}
}
}
venue
Example
Query
query venue($id: ID!) {
venue(id: $id) {
id
name
type
courts {
...CourtFragment
}
notes
addresses {
...AddressFragment
}
extensions {
...ExtensionFragment
}
providerVenueId
updatedAt
createdAt
}
}
Variables
{"id": ID}
query venue($id: ID!) {
venue(id: $id) {
id
name
type
courts {
...CourtFragment
}
notes
addresses {
...AddressFragment
}
extensions {
...ExtensionFragment
}
providerVenueId
updatedAt
createdAt
}
}
{"id": ID}
Response
{
"data": {
"venue": {
"id": ID,
"name": "xyz789",
"type": "xyz789",
"courts": [Court],
"notes": "xyz789",
"addresses": [Address],
"extensions": [Extension],
"providerVenueId": ID,
"updatedAt": DateTime,
"createdAt": DateTime
}
}
}
venueCount
Example
Query
query venueCount($filter: VenueFilterOptions) {
venueCount(filter: $filter)
}
Variables
{"filter": VenueFilterOptions}
query venueCount($filter: VenueFilterOptions) {
venueCount(filter: $filter)
}
{"filter": VenueFilterOptions}
Response
{"data": {"venueCount": 123}}
venues
VenueList
| Name | Description |
|---|---|
pageArgs -
PaginationArgs
|
|
filter -
VenueFilterOptions
|
|
sort -
SortOrder
|
Example
Query
query venues($pageArgs: PaginationArgs, $filter: VenueFilterOptions, $sort: SortOrder) {
venues(pageArgs: $pageArgs, filter: $filter, sort: $sort) {
items {
...VenueFragment
}
totalItems
}
}
Variables
{
"pageArgs": PaginationArgs,
"filter": VenueFilterOptions,
"sort": SortOrder
}
query venues($pageArgs: PaginationArgs, $filter: VenueFilterOptions, $sort: SortOrder) {
venues(pageArgs: $pageArgs, filter: $filter, sort: $sort) {
items {
...VenueFragment
}
totalItems
}
}
{
"pageArgs": PaginationArgs,
"filter": VenueFilterOptions,
"sort": SortOrder
}
Response
{
"data": {
"venues": {"items": [Venue], "totalItems": 123}
}
}
watchlist
Example
Query
query watchlist($id: ID!) {
watchlist(id: $id) {
ownerId
id
personIds
name
persons {
...PersonFragment
}
watchlistStats {
...WatchlistStatsFragment
}
}
}
Variables
{"id": ID}
query watchlist($id: ID!) {
watchlist(id: $id) {
ownerId
id
personIds
name
persons {
...PersonFragment
}
watchlistStats {
...WatchlistStatsFragment
}
}
}
{"id": ID}
Response
{
"data": {
"watchlist": {
"ownerId": ID,
"id": ID,
"personIds": [ID],
"name": "abc123",
"persons": [Person],
"watchlistStats": WatchlistStats
}
}
}
watchlistIdsForPlayer
Example
Query
query watchlistIdsForPlayer($id: ID!) {
watchlistIdsForPlayer(id: $id)
}
Variables
{"id": ID}
query watchlistIdsForPlayer($id: ID!) {
watchlistIdsForPlayer(id: $id)
}
{"id": ID}
Response
{"data": {"watchlistIdsForPlayer": [ID]}}
watchlists
Example
Query
query watchlists {
watchlists {
items {
...WatchlistFragment
}
totalItems
}
}
query watchlists {
watchlists {
items {
...WatchlistFragment
}
totalItems
}
}
Response
{
"data": {
"watchlists": {
"items": [Watchlist],
"totalItems": 123
}
}
}
worldTennisNumber
Example
Query
query worldTennisNumber($tennisID: ID!) {
worldTennisNumber(tennisID: $tennisID) {
confidence
ratingDate
tennisNumber
prevTennisNumber
type
gameZoneUpper
gameZoneLower
source
isRanked
}
}
Variables
{"tennisID": ID}
query worldTennisNumber($tennisID: ID!) {
worldTennisNumber(tennisID: $tennisID) {
confidence
ratingDate
tennisNumber
prevTennisNumber
type
gameZoneUpper
gameZoneLower
source
isRanked
}
}
{"tennisID": ID}
Response
{
"data": {
"worldTennisNumber": [
{
"confidence": 987.65,
"ratingDate": DateTime,
"tennisNumber": 123.45,
"prevTennisNumber": 123.45,
"type": WorldTennisNumberTypeEnum,
"gameZoneUpper": 987.65,
"gameZoneLower": 987.65,
"source": RatingSourceEnum,
"isRanked": false
}
]
}
}
worldTennisNumberHistory
WorldTennisNumberList
| Name | Description |
|---|---|
id -
PersonIDInput!
|
|
pageArgs -
PaginationArgs
|
|
filter -
WorldTennisNumberFilterInput
|
|
sort -
SortOrder
|
Example
Query
query worldTennisNumberHistory($id: PersonIDInput!, $pageArgs: PaginationArgs, $filter: WorldTennisNumberFilterInput, $sort: SortOrder) {
worldTennisNumberHistory(id: $id, pageArgs: $pageArgs, filter: $filter, sort: $sort) {
items {
...WorldTennisNumberFragment
}
totalItems
}
}
Variables
{
"id": PersonIDInput,
"pageArgs": PaginationArgs,
"filter": WorldTennisNumberFilterInput,
"sort": SortOrder
}
query worldTennisNumberHistory($id: PersonIDInput!, $pageArgs: PaginationArgs, $filter: WorldTennisNumberFilterInput, $sort: SortOrder) {
worldTennisNumberHistory(id: $id, pageArgs: $pageArgs, filter: $filter, sort: $sort) {
items {
...WorldTennisNumberFragment
}
totalItems
}
}
{
"id": PersonIDInput,
"pageArgs": PaginationArgs,
"filter": WorldTennisNumberFilterInput,
"sort": SortOrder
}
Response
{
"data": {
"worldTennisNumberHistory": {
"items": [WorldTennisNumber],
"totalItems": 987
}
}
}
wtnLastYear
Example
Query
query wtnLastYear($tennisID: ID!) {
wtnLastYear(tennisID: $tennisID) {
confidence
ratingDate
tennisNumber
prevTennisNumber
type
gameZoneUpper
gameZoneLower
source
isRanked
}
}
Variables
{"tennisID": ID}
query wtnLastYear($tennisID: ID!) {
wtnLastYear(tennisID: $tennisID) {
confidence
ratingDate
tennisNumber
prevTennisNumber
type
gameZoneUpper
gameZoneLower
source
isRanked
}
}
{"tennisID": ID}
Response
{
"data": {
"wtnLastYear": [
{
"confidence": 987.65,
"ratingDate": DateTime,
"tennisNumber": 987.65,
"prevTennisNumber": 123.45,
"type": WorldTennisNumberTypeEnum,
"gameZoneUpper": 123.45,
"gameZoneLower": 987.65,
"source": RatingSourceEnum,
"isRanked": true
}
]
}
}
wtnPast
Example
Query
query wtnPast($tennisID: ID!, $startDate: String, $endDate: String) {
wtnPast(tennisID: $tennisID, startDate: $startDate, endDate: $endDate) {
confidence
ratingDate
tennisNumber
prevTennisNumber
type
gameZoneUpper
gameZoneLower
source
isRanked
}
}
Variables
{
"tennisID": ID,
"startDate": "xyz789",
"endDate": "xyz789"
}
query wtnPast($tennisID: ID!, $startDate: String, $endDate: String) {
wtnPast(tennisID: $tennisID, startDate: $startDate, endDate: $endDate) {
confidence
ratingDate
tennisNumber
prevTennisNumber
type
gameZoneUpper
gameZoneLower
source
isRanked
}
}
{
"tennisID": ID,
"startDate": "xyz789",
"endDate": "xyz789"
}
Response
{
"data": {
"wtnPast": [
{
"confidence": 123.45,
"ratingDate": DateTime,
"tennisNumber": 987.65,
"prevTennisNumber": 123.45,
"type": WorldTennisNumberTypeEnum,
"gameZoneUpper": 123.45,
"gameZoneLower": 123.45,
"source": RatingSourceEnum,
"isRanked": false
}
]
}
}
Mutations
addAccountPerson
AddAccountPerson
| Name | Description |
|---|---|
personInput -
AddAccountPersonInput!
|
|
recaptchaInput -
RecaptchaInput!
|
Example
Query
mutation addAccountPerson($personInput: AddAccountPersonInput!, $recaptchaInput: RecaptchaInput!) {
addAccountPerson(personInput: $personInput, recaptchaInput: $recaptchaInput) {
id
tennisId
registrationToken
nativeGivenName
nativeFamilyName
standardGivenName
standardFamilyName
sex
birthDate
birthYear
nationalityCode
countryOfResidenceCode
alreadyItfCustomer
alreadyRegisteredForService
biographicalInformation {
...BiographicalInformationFragment
}
signUpType
}
}
Variables
{
"personInput": AddAccountPersonInput,
"recaptchaInput": RecaptchaInput
}
mutation addAccountPerson($personInput: AddAccountPersonInput!, $recaptchaInput: RecaptchaInput!) {
addAccountPerson(personInput: $personInput, recaptchaInput: $recaptchaInput) {
id
tennisId
registrationToken
nativeGivenName
nativeFamilyName
standardGivenName
standardFamilyName
sex
birthDate
birthYear
nationalityCode
countryOfResidenceCode
alreadyItfCustomer
alreadyRegisteredForService
biographicalInformation {
...BiographicalInformationFragment
}
signUpType
}
}
{
"personInput": AddAccountPersonInput,
"recaptchaInput": RecaptchaInput
}
Response
{
"data": {
"addAccountPerson": {
"id": "xyz789",
"tennisId": "xyz789",
"registrationToken": "abc123",
"nativeGivenName": "abc123",
"nativeFamilyName": "abc123",
"standardGivenName": "xyz789",
"standardFamilyName": "abc123",
"sex": SexEnum,
"birthDate": "2026-03-31T14:07:52.371Z",
"birthYear": 123,
"nationalityCode": "abc123",
"countryOfResidenceCode": "xyz789",
"alreadyItfCustomer": false,
"alreadyRegisteredForService": true,
"biographicalInformation": BiographicalInformation,
"signUpType": SignUpTypeEnum
}
}
}
addBatchMatchUps
Example
Query
mutation addBatchMatchUps($input: [MatchUpInput!]!) {
addBatchMatchUps(input: $input) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
Variables
{"input": [MatchUpInput]}
mutation addBatchMatchUps($input: [MatchUpInput!]!) {
addBatchMatchUps(input: $input) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
{"input": [MatchUpInput]}
Response
{
"data": {
"addBatchMatchUps": [
{
"id": ID,
"score": Score,
"sides": [Side],
"winningSide": SideEnum,
"providerMatchId": ID,
"ageCategoryCode": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "abc123",
"grade": "xyz789",
"start": DateTime,
"end": DateTime,
"circuit": CircuitEnum,
"roundNumber": 123,
"roundPosition": 987,
"roundName": "xyz789",
"humidity": 987.65,
"duration": 987.65,
"status": MatchUpStatusEnum,
"statusCodes": ["abc123"],
"extensions": [Extension],
"createdAt": DateTime,
"updatedAt": DateTime,
"competitiveness": 987.65,
"state": StateEnum,
"divisionType": "xyz789",
"drawStructure": DrawStructureEnum,
"drawType": "abc123",
"tieMatchUpId": ID,
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"drawId": ID,
"drawName": "xyz789",
"venueId": ID,
"selfSubmittedResult": true,
"ballType": BallTypeEnum,
"deleted": true,
"collectionPosition": 123,
"wtnId": ID,
"wtnErrors": ["xyz789"],
"isTied": true,
"tournament": Tournament,
"court": Court,
"venue": Venue,
"provider": Provider,
"ownerId": ID,
"reviewedBy": Person,
"submissionState": MatchUpSubmissionStateEnum,
"reviewedAt": DateTime,
"worldTennisNumbers": [MatchUpWorldTennisNumber]
}
]
}
}
addBatchPersons
Example
Query
mutation addBatchPersons($input: [PersonInput!]!) {
addBatchPersons(input: $input) {
registrationInvite {
...InviteLinkFragment
}
clubs {
...ClubFragment
}
clubStatus
id
clubsparkId
externalID
tennisID
nationalID
personID
biographicalInformation {
...BiographicalInformationFragment
}
extensions {
...ExtensionFragment
}
nationalityCode
nativeFamilyName
nativeGivenName
nationalRating
notes
standardGivenName
standardFamilyName
birthDate
isDeceased
sex
age
birthYear
worldTennisNumbers {
...WorldTennisNumberFragment
}
addresses {
...AddressFragment
}
createdAt
updatedAt
belongsToRequestingProvider
lastPlayedSingles
lastPlayedDoubles
optedOutOfPublicDataConsent
owningProviderId
school {
...SchoolInfoFragment
}
isRanked
rankedSingles
rankedDoubles
eligibleForSelfSubmission
eligibleForPsq
isRegistered
section {
...SectionFragment
}
hasSubmittedResult
tournaments {
...TournamentListFragment
}
matchUpIntervals {
...MatchUpIntervalsFragment
}
matchUpVsStatisticsCount {
...MatchUpVsStatisticsWinLossCountFragment
}
matchUps {
...MatchUpListFragment
}
demographicStats {
...DemographicStatFragment
}
ratingBounds {
...RatingBoundsFragment
}
}
}
Variables
{"input": [PersonInput]}
mutation addBatchPersons($input: [PersonInput!]!) {
addBatchPersons(input: $input) {
registrationInvite {
...InviteLinkFragment
}
clubs {
...ClubFragment
}
clubStatus
id
clubsparkId
externalID
tennisID
nationalID
personID
biographicalInformation {
...BiographicalInformationFragment
}
extensions {
...ExtensionFragment
}
nationalityCode
nativeFamilyName
nativeGivenName
nationalRating
notes
standardGivenName
standardFamilyName
birthDate
isDeceased
sex
age
birthYear
worldTennisNumbers {
...WorldTennisNumberFragment
}
addresses {
...AddressFragment
}
createdAt
updatedAt
belongsToRequestingProvider
lastPlayedSingles
lastPlayedDoubles
optedOutOfPublicDataConsent
owningProviderId
school {
...SchoolInfoFragment
}
isRanked
rankedSingles
rankedDoubles
eligibleForSelfSubmission
eligibleForPsq
isRegistered
section {
...SectionFragment
}
hasSubmittedResult
tournaments {
...TournamentListFragment
}
matchUpIntervals {
...MatchUpIntervalsFragment
}
matchUpVsStatisticsCount {
...MatchUpVsStatisticsWinLossCountFragment
}
matchUps {
...MatchUpListFragment
}
demographicStats {
...DemographicStatFragment
}
ratingBounds {
...RatingBoundsFragment
}
}
}
{"input": [PersonInput]}
Response
{
"data": {
"addBatchPersons": [
{
"registrationInvite": InviteLink,
"clubs": [Club],
"clubStatus": PersonClubStatus,
"id": ID,
"clubsparkId": ID,
"externalID": ID,
"tennisID": ID,
"nationalID": ID,
"personID": ID,
"biographicalInformation": BiographicalInformation,
"extensions": [Extension],
"nationalityCode": "xyz789",
"nativeFamilyName": "xyz789",
"nativeGivenName": "xyz789",
"nationalRating": "xyz789",
"notes": "abc123",
"standardGivenName": "xyz789",
"standardFamilyName": "xyz789",
"birthDate": "2025-10-01T14:07:52.371Z",
"isDeceased": true,
"sex": SexEnum,
"age": 123,
"birthYear": 987,
"worldTennisNumbers": [WorldTennisNumber],
"addresses": [Address],
"createdAt": DateTime,
"updatedAt": DateTime,
"belongsToRequestingProvider": true,
"lastPlayedSingles": DateTime,
"lastPlayedDoubles": DateTime,
"optedOutOfPublicDataConsent": false,
"owningProviderId": ID,
"school": [SchoolInfo],
"isRanked": true,
"rankedSingles": false,
"rankedDoubles": false,
"eligibleForSelfSubmission": true,
"eligibleForPsq": true,
"isRegistered": false,
"section": Section,
"hasSubmittedResult": false,
"tournaments": TournamentList,
"matchUpIntervals": MatchUpIntervals,
"matchUpVsStatisticsCount": MatchUpVsStatisticsWinLossCount,
"matchUps": MatchUpList,
"demographicStats": [DemographicStat],
"ratingBounds": RatingBounds
}
]
}
}
addBatchTournaments
Example
Query
mutation addBatchTournaments($input: [TournamentInput!]!) {
addBatchTournaments(input: $input) {
id
end
start
entriesClose
entriesOpen
extensions {
...ExtensionFragment
}
formalName
hostCountryCode
indoorOutdoor
localTimeZone
notes
promotionalName
season
surfaceCategory
providerTournamentId
unifiedTournamentId
level
name
updatedAt
createdAt
withdrawalDeadline
belongsToRequestingProvider
subCategory
persons {
...PersonListFragment
}
matchUps {
...MatchUpListFragment
}
provider {
...ProviderFragment
}
}
}
Variables
{"input": [TournamentInput]}
mutation addBatchTournaments($input: [TournamentInput!]!) {
addBatchTournaments(input: $input) {
id
end
start
entriesClose
entriesOpen
extensions {
...ExtensionFragment
}
formalName
hostCountryCode
indoorOutdoor
localTimeZone
notes
promotionalName
season
surfaceCategory
providerTournamentId
unifiedTournamentId
level
name
updatedAt
createdAt
withdrawalDeadline
belongsToRequestingProvider
subCategory
persons {
...PersonListFragment
}
matchUps {
...MatchUpListFragment
}
provider {
...ProviderFragment
}
}
}
{"input": [TournamentInput]}
Response
{
"data": {
"addBatchTournaments": [
{
"id": ID,
"end": DateTime,
"start": DateTime,
"entriesClose": DateTime,
"entriesOpen": DateTime,
"extensions": [Extension],
"formalName": "abc123",
"hostCountryCode": CountryCode,
"indoorOutdoor": IndoorOutdoorEnum,
"localTimeZone": "xyz789",
"notes": "abc123",
"promotionalName": "abc123",
"season": "xyz789",
"surfaceCategory": SurfaceCategoryEnum,
"providerTournamentId": "xyz789",
"unifiedTournamentId": "abc123",
"level": "xyz789",
"name": "xyz789",
"updatedAt": DateTime,
"createdAt": DateTime,
"withdrawalDeadline": DateTime,
"belongsToRequestingProvider": true,
"subCategory": TournamentSubCategoryEnum,
"persons": PersonList,
"matchUps": MatchUpList,
"provider": Provider
}
]
}
}
addBatchVenues
Example
Query
mutation addBatchVenues($input: [VenueInput!]!) {
addBatchVenues(input: $input) {
id
name
type
courts {
...CourtFragment
}
notes
addresses {
...AddressFragment
}
extensions {
...ExtensionFragment
}
providerVenueId
updatedAt
createdAt
}
}
Variables
{"input": [VenueInput]}
mutation addBatchVenues($input: [VenueInput!]!) {
addBatchVenues(input: $input) {
id
name
type
courts {
...CourtFragment
}
notes
addresses {
...AddressFragment
}
extensions {
...ExtensionFragment
}
providerVenueId
updatedAt
createdAt
}
}
{"input": [VenueInput]}
Response
{
"data": {
"addBatchVenues": [
{
"id": ID,
"name": "xyz789",
"type": "abc123",
"courts": [Court],
"notes": "xyz789",
"addresses": [Address],
"extensions": [Extension],
"providerVenueId": ID,
"updatedAt": DateTime,
"createdAt": DateTime
}
]
}
}
addMatchUp
Example
Query
mutation addMatchUp($input: MatchUpInput!) {
addMatchUp(input: $input) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
Variables
{"input": MatchUpInput}
mutation addMatchUp($input: MatchUpInput!) {
addMatchUp(input: $input) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
{"input": MatchUpInput}
Response
{
"data": {
"addMatchUp": {
"id": ID,
"score": Score,
"sides": [Side],
"winningSide": SideEnum,
"providerMatchId": ID,
"ageCategoryCode": "xyz789",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "abc123",
"grade": "abc123",
"start": DateTime,
"end": DateTime,
"circuit": CircuitEnum,
"roundNumber": 987,
"roundPosition": 987,
"roundName": "abc123",
"humidity": 123.45,
"duration": 123.45,
"status": MatchUpStatusEnum,
"statusCodes": ["xyz789"],
"extensions": [Extension],
"createdAt": DateTime,
"updatedAt": DateTime,
"competitiveness": 987.65,
"state": StateEnum,
"divisionType": "xyz789",
"drawStructure": DrawStructureEnum,
"drawType": "xyz789",
"tieMatchUpId": ID,
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"drawId": ID,
"drawName": "abc123",
"venueId": ID,
"selfSubmittedResult": false,
"ballType": BallTypeEnum,
"deleted": true,
"collectionPosition": 987,
"wtnId": ID,
"wtnErrors": ["abc123"],
"isTied": true,
"tournament": Tournament,
"court": Court,
"venue": Venue,
"provider": Provider,
"ownerId": ID,
"reviewedBy": Person,
"submissionState": MatchUpSubmissionStateEnum,
"reviewedAt": DateTime,
"worldTennisNumbers": [MatchUpWorldTennisNumber]
}
}
}
addPerson
Example
Query
mutation addPerson($input: PersonInput!) {
addPerson(input: $input) {
registrationInvite {
...InviteLinkFragment
}
clubs {
...ClubFragment
}
clubStatus
id
clubsparkId
externalID
tennisID
nationalID
personID
biographicalInformation {
...BiographicalInformationFragment
}
extensions {
...ExtensionFragment
}
nationalityCode
nativeFamilyName
nativeGivenName
nationalRating
notes
standardGivenName
standardFamilyName
birthDate
isDeceased
sex
age
birthYear
worldTennisNumbers {
...WorldTennisNumberFragment
}
addresses {
...AddressFragment
}
createdAt
updatedAt
belongsToRequestingProvider
lastPlayedSingles
lastPlayedDoubles
optedOutOfPublicDataConsent
owningProviderId
school {
...SchoolInfoFragment
}
isRanked
rankedSingles
rankedDoubles
eligibleForSelfSubmission
eligibleForPsq
isRegistered
section {
...SectionFragment
}
hasSubmittedResult
tournaments {
...TournamentListFragment
}
matchUpIntervals {
...MatchUpIntervalsFragment
}
matchUpVsStatisticsCount {
...MatchUpVsStatisticsWinLossCountFragment
}
matchUps {
...MatchUpListFragment
}
demographicStats {
...DemographicStatFragment
}
ratingBounds {
...RatingBoundsFragment
}
}
}
Variables
{"input": PersonInput}
mutation addPerson($input: PersonInput!) {
addPerson(input: $input) {
registrationInvite {
...InviteLinkFragment
}
clubs {
...ClubFragment
}
clubStatus
id
clubsparkId
externalID
tennisID
nationalID
personID
biographicalInformation {
...BiographicalInformationFragment
}
extensions {
...ExtensionFragment
}
nationalityCode
nativeFamilyName
nativeGivenName
nationalRating
notes
standardGivenName
standardFamilyName
birthDate
isDeceased
sex
age
birthYear
worldTennisNumbers {
...WorldTennisNumberFragment
}
addresses {
...AddressFragment
}
createdAt
updatedAt
belongsToRequestingProvider
lastPlayedSingles
lastPlayedDoubles
optedOutOfPublicDataConsent
owningProviderId
school {
...SchoolInfoFragment
}
isRanked
rankedSingles
rankedDoubles
eligibleForSelfSubmission
eligibleForPsq
isRegistered
section {
...SectionFragment
}
hasSubmittedResult
tournaments {
...TournamentListFragment
}
matchUpIntervals {
...MatchUpIntervalsFragment
}
matchUpVsStatisticsCount {
...MatchUpVsStatisticsWinLossCountFragment
}
matchUps {
...MatchUpListFragment
}
demographicStats {
...DemographicStatFragment
}
ratingBounds {
...RatingBoundsFragment
}
}
}
{"input": PersonInput}
Response
{
"data": {
"addPerson": {
"registrationInvite": InviteLink,
"clubs": [Club],
"clubStatus": PersonClubStatus,
"id": ID,
"clubsparkId": ID,
"externalID": ID,
"tennisID": ID,
"nationalID": ID,
"personID": ID,
"biographicalInformation": BiographicalInformation,
"extensions": [Extension],
"nationalityCode": "xyz789",
"nativeFamilyName": "abc123",
"nativeGivenName": "abc123",
"nationalRating": "xyz789",
"notes": "abc123",
"standardGivenName": "abc123",
"standardFamilyName": "abc123",
"birthDate": "2025-10-01T14:07:52.371Z",
"isDeceased": true,
"sex": SexEnum,
"age": 987,
"birthYear": 987,
"worldTennisNumbers": [WorldTennisNumber],
"addresses": [Address],
"createdAt": DateTime,
"updatedAt": DateTime,
"belongsToRequestingProvider": false,
"lastPlayedSingles": DateTime,
"lastPlayedDoubles": DateTime,
"optedOutOfPublicDataConsent": true,
"owningProviderId": ID,
"school": [SchoolInfo],
"isRanked": true,
"rankedSingles": false,
"rankedDoubles": true,
"eligibleForSelfSubmission": true,
"eligibleForPsq": false,
"isRegistered": true,
"section": Section,
"hasSubmittedResult": true,
"tournaments": TournamentList,
"matchUpIntervals": MatchUpIntervals,
"matchUpVsStatisticsCount": MatchUpVsStatisticsWinLossCount,
"matchUps": MatchUpList,
"demographicStats": [DemographicStat],
"ratingBounds": RatingBounds
}
}
}
addPersonsToWatchlists
Example
Query
mutation addPersonsToWatchlists($watchlistIds: [ID!]!, $personIds: [ID!]!) {
addPersonsToWatchlists(watchlistIds: $watchlistIds, personIds: $personIds) {
items {
...WatchlistFragment
}
totalItems
}
}
Variables
{
"watchlistIds": [ID],
"personIds": [ID]
}
mutation addPersonsToWatchlists($watchlistIds: [ID!]!, $personIds: [ID!]!) {
addPersonsToWatchlists(watchlistIds: $watchlistIds, personIds: $personIds) {
items {
...WatchlistFragment
}
totalItems
}
}
{
"watchlistIds": [ID],
"personIds": [ID]
}
Response
{
"data": {
"addPersonsToWatchlists": {
"items": [Watchlist],
"totalItems": 987
}
}
}
addPersonToClub
Example
Query
mutation addPersonToClub($personId: ID!, $clubId: ID!, $role: ClubMemberRole) {
addPersonToClub(personId: $personId, clubId: $clubId, role: $role)
}
Variables
{
"personId": ID,
"clubId": ID,
"role": ClubMemberRole
}
mutation addPersonToClub($personId: ID!, $clubId: ID!, $role: ClubMemberRole) {
addPersonToClub(personId: $personId, clubId: $clubId, role: $role)
}
{
"personId": ID,
"clubId": ID,
"role": ClubMemberRole
}
Response
{"data": {"addPersonToClub": true}}
addSelfSubmittedMatchUp
Example
Query
mutation addSelfSubmittedMatchUp($input: SelfSubmittedMatchUpInput!) {
addSelfSubmittedMatchUp(input: $input) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
Variables
{"input": SelfSubmittedMatchUpInput}
mutation addSelfSubmittedMatchUp($input: SelfSubmittedMatchUpInput!) {
addSelfSubmittedMatchUp(input: $input) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
{"input": SelfSubmittedMatchUpInput}
Response
{
"data": {
"addSelfSubmittedMatchUp": {
"id": ID,
"score": Score,
"sides": [Side],
"winningSide": SideEnum,
"providerMatchId": ID,
"ageCategoryCode": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "abc123",
"grade": "xyz789",
"start": DateTime,
"end": DateTime,
"circuit": CircuitEnum,
"roundNumber": 987,
"roundPosition": 987,
"roundName": "xyz789",
"humidity": 987.65,
"duration": 123.45,
"status": MatchUpStatusEnum,
"statusCodes": ["xyz789"],
"extensions": [Extension],
"createdAt": DateTime,
"updatedAt": DateTime,
"competitiveness": 123.45,
"state": StateEnum,
"divisionType": "xyz789",
"drawStructure": DrawStructureEnum,
"drawType": "abc123",
"tieMatchUpId": ID,
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"drawId": ID,
"drawName": "abc123",
"venueId": ID,
"selfSubmittedResult": true,
"ballType": BallTypeEnum,
"deleted": true,
"collectionPosition": 987,
"wtnId": ID,
"wtnErrors": ["xyz789"],
"isTied": false,
"tournament": Tournament,
"court": Court,
"venue": Venue,
"provider": Provider,
"ownerId": ID,
"reviewedBy": Person,
"submissionState": MatchUpSubmissionStateEnum,
"reviewedAt": DateTime,
"worldTennisNumbers": [MatchUpWorldTennisNumber]
}
}
}
addTournament
Example
Query
mutation addTournament($input: TournamentInput!) {
addTournament(input: $input) {
id
end
start
entriesClose
entriesOpen
extensions {
...ExtensionFragment
}
formalName
hostCountryCode
indoorOutdoor
localTimeZone
notes
promotionalName
season
surfaceCategory
providerTournamentId
unifiedTournamentId
level
name
updatedAt
createdAt
withdrawalDeadline
belongsToRequestingProvider
subCategory
persons {
...PersonListFragment
}
matchUps {
...MatchUpListFragment
}
provider {
...ProviderFragment
}
}
}
Variables
{"input": TournamentInput}
mutation addTournament($input: TournamentInput!) {
addTournament(input: $input) {
id
end
start
entriesClose
entriesOpen
extensions {
...ExtensionFragment
}
formalName
hostCountryCode
indoorOutdoor
localTimeZone
notes
promotionalName
season
surfaceCategory
providerTournamentId
unifiedTournamentId
level
name
updatedAt
createdAt
withdrawalDeadline
belongsToRequestingProvider
subCategory
persons {
...PersonListFragment
}
matchUps {
...MatchUpListFragment
}
provider {
...ProviderFragment
}
}
}
{"input": TournamentInput}
Response
{
"data": {
"addTournament": {
"id": ID,
"end": DateTime,
"start": DateTime,
"entriesClose": DateTime,
"entriesOpen": DateTime,
"extensions": [Extension],
"formalName": "xyz789",
"hostCountryCode": CountryCode,
"indoorOutdoor": IndoorOutdoorEnum,
"localTimeZone": "abc123",
"notes": "abc123",
"promotionalName": "abc123",
"season": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"providerTournamentId": "abc123",
"unifiedTournamentId": "xyz789",
"level": "xyz789",
"name": "xyz789",
"updatedAt": DateTime,
"createdAt": DateTime,
"withdrawalDeadline": DateTime,
"belongsToRequestingProvider": true,
"subCategory": TournamentSubCategoryEnum,
"persons": PersonList,
"matchUps": MatchUpList,
"provider": Provider
}
}
}
addVenue
Example
Query
mutation addVenue($input: VenueInput!) {
addVenue(input: $input) {
id
name
type
courts {
...CourtFragment
}
notes
addresses {
...AddressFragment
}
extensions {
...ExtensionFragment
}
providerVenueId
updatedAt
createdAt
}
}
Variables
{"input": VenueInput}
mutation addVenue($input: VenueInput!) {
addVenue(input: $input) {
id
name
type
courts {
...CourtFragment
}
notes
addresses {
...AddressFragment
}
extensions {
...ExtensionFragment
}
providerVenueId
updatedAt
createdAt
}
}
{"input": VenueInput}
Response
{
"data": {
"addVenue": {
"id": ID,
"name": "xyz789",
"type": "xyz789",
"courts": [Court],
"notes": "xyz789",
"addresses": [Address],
"extensions": [Extension],
"providerVenueId": ID,
"updatedAt": DateTime,
"createdAt": DateTime
}
}
}
addWatchlist
Example
Query
mutation addWatchlist($input: WatchlistInput) {
addWatchlist(input: $input) {
ownerId
id
personIds
name
persons {
...PersonFragment
}
watchlistStats {
...WatchlistStatsFragment
}
}
}
Variables
{"input": WatchlistInput}
mutation addWatchlist($input: WatchlistInput) {
addWatchlist(input: $input) {
ownerId
id
personIds
name
persons {
...PersonFragment
}
watchlistStats {
...WatchlistStatsFragment
}
}
}
{"input": WatchlistInput}
Response
{
"data": {
"addWatchlist": {
"ownerId": ID,
"id": ID,
"personIds": [ID],
"name": "xyz789",
"persons": [Person],
"watchlistStats": WatchlistStats
}
}
}
approveSelfSubmittedMatchUp
Example
Query
mutation approveSelfSubmittedMatchUp($id: ID!) {
approveSelfSubmittedMatchUp(id: $id) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
Variables
{"id": ID}
mutation approveSelfSubmittedMatchUp($id: ID!) {
approveSelfSubmittedMatchUp(id: $id) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
{"id": ID}
Response
{
"data": {
"approveSelfSubmittedMatchUp": {
"id": ID,
"score": Score,
"sides": [Side],
"winningSide": SideEnum,
"providerMatchId": ID,
"ageCategoryCode": "xyz789",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "abc123",
"grade": "abc123",
"start": DateTime,
"end": DateTime,
"circuit": CircuitEnum,
"roundNumber": 987,
"roundPosition": 987,
"roundName": "abc123",
"humidity": 987.65,
"duration": 123.45,
"status": MatchUpStatusEnum,
"statusCodes": ["abc123"],
"extensions": [Extension],
"createdAt": DateTime,
"updatedAt": DateTime,
"competitiveness": 987.65,
"state": StateEnum,
"divisionType": "xyz789",
"drawStructure": DrawStructureEnum,
"drawType": "abc123",
"tieMatchUpId": ID,
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"drawId": ID,
"drawName": "xyz789",
"venueId": ID,
"selfSubmittedResult": true,
"ballType": BallTypeEnum,
"deleted": true,
"collectionPosition": 123,
"wtnId": ID,
"wtnErrors": ["abc123"],
"isTied": true,
"tournament": Tournament,
"court": Court,
"venue": Venue,
"provider": Provider,
"ownerId": ID,
"reviewedBy": Person,
"submissionState": MatchUpSubmissionStateEnum,
"reviewedAt": DateTime,
"worldTennisNumbers": [MatchUpWorldTennisNumber]
}
}
}
createBatchPersons
Example
Query
mutation createBatchPersons($input: [PersonInput!]!) {
createBatchPersons(input: $input) {
items {
...PersonFragment
}
totalItems
batchErrors
totalBatchErrors
}
}
Variables
{"input": [PersonInput]}
mutation createBatchPersons($input: [PersonInput!]!) {
createBatchPersons(input: $input) {
items {
...PersonFragment
}
totalItems
batchErrors
totalBatchErrors
}
}
{"input": [PersonInput]}
Response
{
"data": {
"createBatchPersons": {
"items": [Person],
"totalItems": 123,
"batchErrors": ["abc123"],
"totalBatchErrors": 123
}
}
}
mergePerson
PersonMergeResult
| Name | Description |
|---|---|
targetPersonID -
PersonIDInput!
|
|
additionalPersonID -
PersonIDInput!
|
Example
Query
mutation mergePerson($targetPersonID: PersonIDInput!, $additionalPersonID: PersonIDInput!) {
mergePerson(targetPersonID: $targetPersonID, additionalPersonID: $additionalPersonID) {
code
reason
person {
...PersonFragment
}
}
}
Variables
{
"targetPersonID": PersonIDInput,
"additionalPersonID": PersonIDInput
}
mutation mergePerson($targetPersonID: PersonIDInput!, $additionalPersonID: PersonIDInput!) {
mergePerson(targetPersonID: $targetPersonID, additionalPersonID: $additionalPersonID) {
code
reason
person {
...PersonFragment
}
}
}
{
"targetPersonID": PersonIDInput,
"additionalPersonID": PersonIDInput
}
Response
{
"data": {
"mergePerson": {
"code": 123,
"reason": "xyz789",
"person": Person
}
}
}
personSubmitPSQ
[WorldTennisNumber]
| Name | Description |
|---|---|
id -
PersonIDInput!
|
|
input -
PersonPSQInput!
|
|
type -
WorldTennisNumberTypeEnum
|
Example
Query
mutation personSubmitPSQ($id: PersonIDInput!, $input: PersonPSQInput!, $type: WorldTennisNumberTypeEnum) {
personSubmitPSQ(id: $id, input: $input, type: $type) {
confidence
ratingDate
tennisNumber
prevTennisNumber
type
gameZoneUpper
gameZoneLower
source
isRanked
}
}
Variables
{
"id": PersonIDInput,
"input": PersonPSQInput,
"type": WorldTennisNumberTypeEnum
}
mutation personSubmitPSQ($id: PersonIDInput!, $input: PersonPSQInput!, $type: WorldTennisNumberTypeEnum) {
personSubmitPSQ(id: $id, input: $input, type: $type) {
confidence
ratingDate
tennisNumber
prevTennisNumber
type
gameZoneUpper
gameZoneLower
source
isRanked
}
}
{
"id": PersonIDInput,
"input": PersonPSQInput,
"type": WorldTennisNumberTypeEnum
}
Response
{
"data": {
"personSubmitPSQ": [
{
"confidence": 123.45,
"ratingDate": DateTime,
"tennisNumber": 123.45,
"prevTennisNumber": 123.45,
"type": WorldTennisNumberTypeEnum,
"gameZoneUpper": 987.65,
"gameZoneLower": 987.65,
"source": RatingSourceEnum,
"isRanked": false
}
]
}
}
rejectSelfSubmittedMatchUp
Example
Query
mutation rejectSelfSubmittedMatchUp($id: ID!) {
rejectSelfSubmittedMatchUp(id: $id) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
Variables
{"id": ID}
mutation rejectSelfSubmittedMatchUp($id: ID!) {
rejectSelfSubmittedMatchUp(id: $id) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
{"id": ID}
Response
{
"data": {
"rejectSelfSubmittedMatchUp": {
"id": ID,
"score": Score,
"sides": [Side],
"winningSide": SideEnum,
"providerMatchId": ID,
"ageCategoryCode": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "xyz789",
"grade": "abc123",
"start": DateTime,
"end": DateTime,
"circuit": CircuitEnum,
"roundNumber": 987,
"roundPosition": 123,
"roundName": "xyz789",
"humidity": 987.65,
"duration": 987.65,
"status": MatchUpStatusEnum,
"statusCodes": ["abc123"],
"extensions": [Extension],
"createdAt": DateTime,
"updatedAt": DateTime,
"competitiveness": 987.65,
"state": StateEnum,
"divisionType": "abc123",
"drawStructure": DrawStructureEnum,
"drawType": "abc123",
"tieMatchUpId": ID,
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"drawId": ID,
"drawName": "abc123",
"venueId": ID,
"selfSubmittedResult": false,
"ballType": BallTypeEnum,
"deleted": false,
"collectionPosition": 123,
"wtnId": ID,
"wtnErrors": ["abc123"],
"isTied": true,
"tournament": Tournament,
"court": Court,
"venue": Venue,
"provider": Provider,
"ownerId": ID,
"reviewedBy": Person,
"submissionState": MatchUpSubmissionStateEnum,
"reviewedAt": DateTime,
"worldTennisNumbers": [MatchUpWorldTennisNumber]
}
}
}
removeMatchUp
Example
Query
mutation removeMatchUp($id: ID!) {
removeMatchUp(id: $id) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
Variables
{"id": ID}
mutation removeMatchUp($id: ID!) {
removeMatchUp(id: $id) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
{"id": ID}
Response
{
"data": {
"removeMatchUp": {
"id": ID,
"score": Score,
"sides": [Side],
"winningSide": SideEnum,
"providerMatchId": ID,
"ageCategoryCode": "xyz789",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "abc123",
"grade": "xyz789",
"start": DateTime,
"end": DateTime,
"circuit": CircuitEnum,
"roundNumber": 987,
"roundPosition": 987,
"roundName": "abc123",
"humidity": 987.65,
"duration": 123.45,
"status": MatchUpStatusEnum,
"statusCodes": ["xyz789"],
"extensions": [Extension],
"createdAt": DateTime,
"updatedAt": DateTime,
"competitiveness": 123.45,
"state": StateEnum,
"divisionType": "xyz789",
"drawStructure": DrawStructureEnum,
"drawType": "xyz789",
"tieMatchUpId": ID,
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"drawId": ID,
"drawName": "abc123",
"venueId": ID,
"selfSubmittedResult": false,
"ballType": BallTypeEnum,
"deleted": true,
"collectionPosition": 987,
"wtnId": ID,
"wtnErrors": ["abc123"],
"isTied": true,
"tournament": Tournament,
"court": Court,
"venue": Venue,
"provider": Provider,
"ownerId": ID,
"reviewedBy": Person,
"submissionState": MatchUpSubmissionStateEnum,
"reviewedAt": DateTime,
"worldTennisNumbers": [MatchUpWorldTennisNumber]
}
}
}
removeMatchUps
Example
Query
mutation removeMatchUps($filter: MatchUpRemoveOptions!) {
removeMatchUps(filter: $filter) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
Variables
{"filter": MatchUpRemoveOptions}
mutation removeMatchUps($filter: MatchUpRemoveOptions!) {
removeMatchUps(filter: $filter) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
{"filter": MatchUpRemoveOptions}
Response
{
"data": {
"removeMatchUps": [
{
"id": ID,
"score": Score,
"sides": [Side],
"winningSide": SideEnum,
"providerMatchId": ID,
"ageCategoryCode": "xyz789",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "abc123",
"grade": "xyz789",
"start": DateTime,
"end": DateTime,
"circuit": CircuitEnum,
"roundNumber": 123,
"roundPosition": 987,
"roundName": "xyz789",
"humidity": 987.65,
"duration": 987.65,
"status": MatchUpStatusEnum,
"statusCodes": ["abc123"],
"extensions": [Extension],
"createdAt": DateTime,
"updatedAt": DateTime,
"competitiveness": 987.65,
"state": StateEnum,
"divisionType": "abc123",
"drawStructure": DrawStructureEnum,
"drawType": "abc123",
"tieMatchUpId": ID,
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"drawId": ID,
"drawName": "xyz789",
"venueId": ID,
"selfSubmittedResult": true,
"ballType": BallTypeEnum,
"deleted": true,
"collectionPosition": 987,
"wtnId": ID,
"wtnErrors": ["abc123"],
"isTied": true,
"tournament": Tournament,
"court": Court,
"venue": Venue,
"provider": Provider,
"ownerId": ID,
"reviewedBy": Person,
"submissionState": MatchUpSubmissionStateEnum,
"reviewedAt": DateTime,
"worldTennisNumbers": [MatchUpWorldTennisNumber]
}
]
}
}
removePerson
Example
Query
mutation removePerson($id: PersonIDInput!) {
removePerson(id: $id) {
registrationInvite {
...InviteLinkFragment
}
clubs {
...ClubFragment
}
clubStatus
id
clubsparkId
externalID
tennisID
nationalID
personID
biographicalInformation {
...BiographicalInformationFragment
}
extensions {
...ExtensionFragment
}
nationalityCode
nativeFamilyName
nativeGivenName
nationalRating
notes
standardGivenName
standardFamilyName
birthDate
isDeceased
sex
age
birthYear
worldTennisNumbers {
...WorldTennisNumberFragment
}
addresses {
...AddressFragment
}
createdAt
updatedAt
belongsToRequestingProvider
lastPlayedSingles
lastPlayedDoubles
optedOutOfPublicDataConsent
owningProviderId
school {
...SchoolInfoFragment
}
isRanked
rankedSingles
rankedDoubles
eligibleForSelfSubmission
eligibleForPsq
isRegistered
section {
...SectionFragment
}
hasSubmittedResult
tournaments {
...TournamentListFragment
}
matchUpIntervals {
...MatchUpIntervalsFragment
}
matchUpVsStatisticsCount {
...MatchUpVsStatisticsWinLossCountFragment
}
matchUps {
...MatchUpListFragment
}
demographicStats {
...DemographicStatFragment
}
ratingBounds {
...RatingBoundsFragment
}
}
}
Variables
{"id": PersonIDInput}
mutation removePerson($id: PersonIDInput!) {
removePerson(id: $id) {
registrationInvite {
...InviteLinkFragment
}
clubs {
...ClubFragment
}
clubStatus
id
clubsparkId
externalID
tennisID
nationalID
personID
biographicalInformation {
...BiographicalInformationFragment
}
extensions {
...ExtensionFragment
}
nationalityCode
nativeFamilyName
nativeGivenName
nationalRating
notes
standardGivenName
standardFamilyName
birthDate
isDeceased
sex
age
birthYear
worldTennisNumbers {
...WorldTennisNumberFragment
}
addresses {
...AddressFragment
}
createdAt
updatedAt
belongsToRequestingProvider
lastPlayedSingles
lastPlayedDoubles
optedOutOfPublicDataConsent
owningProviderId
school {
...SchoolInfoFragment
}
isRanked
rankedSingles
rankedDoubles
eligibleForSelfSubmission
eligibleForPsq
isRegistered
section {
...SectionFragment
}
hasSubmittedResult
tournaments {
...TournamentListFragment
}
matchUpIntervals {
...MatchUpIntervalsFragment
}
matchUpVsStatisticsCount {
...MatchUpVsStatisticsWinLossCountFragment
}
matchUps {
...MatchUpListFragment
}
demographicStats {
...DemographicStatFragment
}
ratingBounds {
...RatingBoundsFragment
}
}
}
{"id": PersonIDInput}
Response
{
"data": {
"removePerson": {
"registrationInvite": InviteLink,
"clubs": [Club],
"clubStatus": PersonClubStatus,
"id": ID,
"clubsparkId": ID,
"externalID": ID,
"tennisID": ID,
"nationalID": ID,
"personID": ID,
"biographicalInformation": BiographicalInformation,
"extensions": [Extension],
"nationalityCode": "xyz789",
"nativeFamilyName": "xyz789",
"nativeGivenName": "abc123",
"nationalRating": "abc123",
"notes": "xyz789",
"standardGivenName": "xyz789",
"standardFamilyName": "xyz789",
"birthDate": "2025-10-01T14:07:52.371Z",
"isDeceased": true,
"sex": SexEnum,
"age": 987,
"birthYear": 987,
"worldTennisNumbers": [WorldTennisNumber],
"addresses": [Address],
"createdAt": DateTime,
"updatedAt": DateTime,
"belongsToRequestingProvider": true,
"lastPlayedSingles": DateTime,
"lastPlayedDoubles": DateTime,
"optedOutOfPublicDataConsent": true,
"owningProviderId": ID,
"school": [SchoolInfo],
"isRanked": false,
"rankedSingles": false,
"rankedDoubles": false,
"eligibleForSelfSubmission": true,
"eligibleForPsq": false,
"isRegistered": false,
"section": Section,
"hasSubmittedResult": true,
"tournaments": TournamentList,
"matchUpIntervals": MatchUpIntervals,
"matchUpVsStatisticsCount": MatchUpVsStatisticsWinLossCount,
"matchUps": MatchUpList,
"demographicStats": [DemographicStat],
"ratingBounds": RatingBounds
}
}
}
removePersonFromClub
Example
Query
mutation removePersonFromClub($personId: ID!, $clubId: ID!, $role: ClubMemberRole) {
removePersonFromClub(personId: $personId, clubId: $clubId, role: $role)
}
Variables
{
"personId": ID,
"clubId": ID,
"role": ClubMemberRole
}
mutation removePersonFromClub($personId: ID!, $clubId: ID!, $role: ClubMemberRole) {
removePersonFromClub(personId: $personId, clubId: $clubId, role: $role)
}
{
"personId": ID,
"clubId": ID,
"role": ClubMemberRole
}
Response
{"data": {"removePersonFromClub": true}}
removePersonsFromWatchlists
Example
Query
mutation removePersonsFromWatchlists($watchlistIds: [ID!]!, $personIds: [ID!]!) {
removePersonsFromWatchlists(watchlistIds: $watchlistIds, personIds: $personIds) {
items {
...WatchlistFragment
}
totalItems
}
}
Variables
{
"watchlistIds": [ID],
"personIds": [ID]
}
mutation removePersonsFromWatchlists($watchlistIds: [ID!]!, $personIds: [ID!]!) {
removePersonsFromWatchlists(watchlistIds: $watchlistIds, personIds: $personIds) {
items {
...WatchlistFragment
}
totalItems
}
}
{
"watchlistIds": [ID],
"personIds": [ID]
}
Response
{
"data": {
"removePersonsFromWatchlists": {
"items": [Watchlist],
"totalItems": 123
}
}
}
removeSelfSubmittedMatchUp
Example
Query
mutation removeSelfSubmittedMatchUp($id: ID!) {
removeSelfSubmittedMatchUp(id: $id) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
Variables
{"id": ID}
mutation removeSelfSubmittedMatchUp($id: ID!) {
removeSelfSubmittedMatchUp(id: $id) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
{"id": ID}
Response
{
"data": {
"removeSelfSubmittedMatchUp": {
"id": ID,
"score": Score,
"sides": [Side],
"winningSide": SideEnum,
"providerMatchId": ID,
"ageCategoryCode": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "abc123",
"grade": "abc123",
"start": DateTime,
"end": DateTime,
"circuit": CircuitEnum,
"roundNumber": 123,
"roundPosition": 987,
"roundName": "xyz789",
"humidity": 123.45,
"duration": 987.65,
"status": MatchUpStatusEnum,
"statusCodes": ["abc123"],
"extensions": [Extension],
"createdAt": DateTime,
"updatedAt": DateTime,
"competitiveness": 987.65,
"state": StateEnum,
"divisionType": "abc123",
"drawStructure": DrawStructureEnum,
"drawType": "xyz789",
"tieMatchUpId": ID,
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"drawId": ID,
"drawName": "abc123",
"venueId": ID,
"selfSubmittedResult": true,
"ballType": BallTypeEnum,
"deleted": true,
"collectionPosition": 987,
"wtnId": ID,
"wtnErrors": ["abc123"],
"isTied": true,
"tournament": Tournament,
"court": Court,
"venue": Venue,
"provider": Provider,
"ownerId": ID,
"reviewedBy": Person,
"submissionState": MatchUpSubmissionStateEnum,
"reviewedAt": DateTime,
"worldTennisNumbers": [MatchUpWorldTennisNumber]
}
}
}
removeTournament
Example
Query
mutation removeTournament($id: ID!) {
removeTournament(id: $id) {
id
end
start
entriesClose
entriesOpen
extensions {
...ExtensionFragment
}
formalName
hostCountryCode
indoorOutdoor
localTimeZone
notes
promotionalName
season
surfaceCategory
providerTournamentId
unifiedTournamentId
level
name
updatedAt
createdAt
withdrawalDeadline
belongsToRequestingProvider
subCategory
persons {
...PersonListFragment
}
matchUps {
...MatchUpListFragment
}
provider {
...ProviderFragment
}
}
}
Variables
{"id": ID}
mutation removeTournament($id: ID!) {
removeTournament(id: $id) {
id
end
start
entriesClose
entriesOpen
extensions {
...ExtensionFragment
}
formalName
hostCountryCode
indoorOutdoor
localTimeZone
notes
promotionalName
season
surfaceCategory
providerTournamentId
unifiedTournamentId
level
name
updatedAt
createdAt
withdrawalDeadline
belongsToRequestingProvider
subCategory
persons {
...PersonListFragment
}
matchUps {
...MatchUpListFragment
}
provider {
...ProviderFragment
}
}
}
{"id": ID}
Response
{
"data": {
"removeTournament": {
"id": ID,
"end": DateTime,
"start": DateTime,
"entriesClose": DateTime,
"entriesOpen": DateTime,
"extensions": [Extension],
"formalName": "abc123",
"hostCountryCode": CountryCode,
"indoorOutdoor": IndoorOutdoorEnum,
"localTimeZone": "xyz789",
"notes": "abc123",
"promotionalName": "abc123",
"season": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"providerTournamentId": "xyz789",
"unifiedTournamentId": "abc123",
"level": "abc123",
"name": "xyz789",
"updatedAt": DateTime,
"createdAt": DateTime,
"withdrawalDeadline": DateTime,
"belongsToRequestingProvider": true,
"subCategory": TournamentSubCategoryEnum,
"persons": PersonList,
"matchUps": MatchUpList,
"provider": Provider
}
}
}
removeVenue
Example
Query
mutation removeVenue($id: ID!) {
removeVenue(id: $id) {
id
name
type
courts {
...CourtFragment
}
notes
addresses {
...AddressFragment
}
extensions {
...ExtensionFragment
}
providerVenueId
updatedAt
createdAt
}
}
Variables
{"id": ID}
mutation removeVenue($id: ID!) {
removeVenue(id: $id) {
id
name
type
courts {
...CourtFragment
}
notes
addresses {
...AddressFragment
}
extensions {
...ExtensionFragment
}
providerVenueId
updatedAt
createdAt
}
}
{"id": ID}
Response
{
"data": {
"removeVenue": {
"id": ID,
"name": "abc123",
"type": "xyz789",
"courts": [Court],
"notes": "abc123",
"addresses": [Address],
"extensions": [Extension],
"providerVenueId": ID,
"updatedAt": DateTime,
"createdAt": DateTime
}
}
}
removeWatchlist
Example
Query
mutation removeWatchlist($id: ID!) {
removeWatchlist(id: $id) {
ownerId
id
personIds
name
persons {
...PersonFragment
}
watchlistStats {
...WatchlistStatsFragment
}
}
}
Variables
{"id": ID}
mutation removeWatchlist($id: ID!) {
removeWatchlist(id: $id) {
ownerId
id
personIds
name
persons {
...PersonFragment
}
watchlistStats {
...WatchlistStatsFragment
}
}
}
{"id": ID}
Response
{
"data": {
"removeWatchlist": {
"ownerId": ID,
"id": ID,
"personIds": [ID],
"name": "abc123",
"persons": [Person],
"watchlistStats": WatchlistStats
}
}
}
renameWatchlist
Example
Query
mutation renameWatchlist($id: ID!, $name: String!) {
renameWatchlist(id: $id, name: $name) {
ownerId
id
personIds
name
persons {
...PersonFragment
}
watchlistStats {
...WatchlistStatsFragment
}
}
}
Variables
{"id": ID, "name": "xyz789"}
mutation renameWatchlist($id: ID!, $name: String!) {
renameWatchlist(id: $id, name: $name) {
ownerId
id
personIds
name
persons {
...PersonFragment
}
watchlistStats {
...WatchlistStatsFragment
}
}
}
{"id": ID, "name": "xyz789"}
Response
{
"data": {
"renameWatchlist": {
"ownerId": ID,
"id": ID,
"personIds": [ID],
"name": "xyz789",
"persons": [Person],
"watchlistStats": WatchlistStats
}
}
}
setPersonClubStatus
Example
Query
mutation setPersonClubStatus($personId: ID!, $clubStatus: PersonClubStatus!) {
setPersonClubStatus(personId: $personId, clubStatus: $clubStatus)
}
Variables
{
"personId": ID,
"clubStatus": PersonClubStatus
}
mutation setPersonClubStatus($personId: ID!, $clubStatus: PersonClubStatus!) {
setPersonClubStatus(personId: $personId, clubStatus: $clubStatus)
}
{
"personId": ID,
"clubStatus": PersonClubStatus
}
Response
{"data": {"setPersonClubStatus": true}}
setPersonExclusiveClub
Example
Query
mutation setPersonExclusiveClub($personId: ID!, $clubId: ID!) {
setPersonExclusiveClub(personId: $personId, clubId: $clubId)
}
Variables
{"personId": ID, "clubId": ID}
mutation setPersonExclusiveClub($personId: ID!, $clubId: ID!) {
setPersonExclusiveClub(personId: $personId, clubId: $clubId)
}
{"personId": ID, "clubId": ID}
Response
{"data": {"setPersonExclusiveClub": false}}
updateAccountPerson
Example
Query
mutation updateAccountPerson($personInput: UpdateAccountPersonInput!) {
updateAccountPerson(personInput: $personInput) {
id
tennisId
registrationToken
nativeGivenName
nativeFamilyName
standardGivenName
standardFamilyName
sex
birthDate
birthYear
nationalityCode
countryOfResidenceCode
biographicalInformation {
...BiographicalInformationFragment
}
}
}
Variables
{"personInput": UpdateAccountPersonInput}
mutation updateAccountPerson($personInput: UpdateAccountPersonInput!) {
updateAccountPerson(personInput: $personInput) {
id
tennisId
registrationToken
nativeGivenName
nativeFamilyName
standardGivenName
standardFamilyName
sex
birthDate
birthYear
nationalityCode
countryOfResidenceCode
biographicalInformation {
...BiographicalInformationFragment
}
}
}
{"personInput": UpdateAccountPersonInput}
Response
{
"data": {
"updateAccountPerson": {
"id": "abc123",
"tennisId": "abc123",
"registrationToken": "abc123",
"nativeGivenName": "abc123",
"nativeFamilyName": "xyz789",
"standardGivenName": "xyz789",
"standardFamilyName": "xyz789",
"sex": SexEnum,
"birthDate": "2026-03-31T14:07:52.371Z",
"birthYear": 987,
"nationalityCode": "xyz789",
"countryOfResidenceCode": "abc123",
"biographicalInformation": BiographicalInformation
}
}
}
updateMatchUp
Example
Query
mutation updateMatchUp($id: ID!, $input: MatchUpUpdateInput!) {
updateMatchUp(id: $id, input: $input) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
Variables
{
"id": ID,
"input": MatchUpUpdateInput
}
mutation updateMatchUp($id: ID!, $input: MatchUpUpdateInput!) {
updateMatchUp(id: $id, input: $input) {
id
score {
...ScoreFragment
}
sides {
...SideFragment
}
winningSide
providerMatchId
ageCategoryCode
surfaceCategory
indoorOutdoor
type
matchUpFormat
grade
start
end
circuit
roundNumber
roundPosition
roundName
humidity
duration
status
statusCodes
extensions {
...ExtensionFragment
}
createdAt
updatedAt
competitiveness
state
divisionType
drawStructure
drawType
tieMatchUpId
courtId
surfaceType
tournamentLevel
pace
gender
drawId
drawName
venueId
selfSubmittedResult
ballType
deleted
collectionPosition
wtnId
wtnErrors
isTied
tournament {
...TournamentFragment
}
court {
...CourtFragment
}
venue {
...VenueFragment
}
provider {
...ProviderFragment
}
ownerId
reviewedBy {
...PersonFragment
}
submissionState
reviewedAt
worldTennisNumbers {
...MatchUpWorldTennisNumberFragment
}
}
}
{
"id": ID,
"input": MatchUpUpdateInput
}
Response
{
"data": {
"updateMatchUp": {
"id": ID,
"score": Score,
"sides": [Side],
"winningSide": SideEnum,
"providerMatchId": ID,
"ageCategoryCode": "xyz789",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "xyz789",
"grade": "xyz789",
"start": DateTime,
"end": DateTime,
"circuit": CircuitEnum,
"roundNumber": 987,
"roundPosition": 123,
"roundName": "xyz789",
"humidity": 123.45,
"duration": 123.45,
"status": MatchUpStatusEnum,
"statusCodes": ["xyz789"],
"extensions": [Extension],
"createdAt": DateTime,
"updatedAt": DateTime,
"competitiveness": 123.45,
"state": StateEnum,
"divisionType": "abc123",
"drawStructure": DrawStructureEnum,
"drawType": "xyz789",
"tieMatchUpId": ID,
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"drawId": ID,
"drawName": "abc123",
"venueId": ID,
"selfSubmittedResult": true,
"ballType": BallTypeEnum,
"deleted": false,
"collectionPosition": 987,
"wtnId": ID,
"wtnErrors": ["abc123"],
"isTied": false,
"tournament": Tournament,
"court": Court,
"venue": Venue,
"provider": Provider,
"ownerId": ID,
"reviewedBy": Person,
"submissionState": MatchUpSubmissionStateEnum,
"reviewedAt": DateTime,
"worldTennisNumbers": [MatchUpWorldTennisNumber]
}
}
}
updatePerson
Example
Query
mutation updatePerson($id: PersonIDInput!, $input: PersonUpdateInput!) {
updatePerson(id: $id, input: $input) {
registrationInvite {
...InviteLinkFragment
}
clubs {
...ClubFragment
}
clubStatus
id
clubsparkId
externalID
tennisID
nationalID
personID
biographicalInformation {
...BiographicalInformationFragment
}
extensions {
...ExtensionFragment
}
nationalityCode
nativeFamilyName
nativeGivenName
nationalRating
notes
standardGivenName
standardFamilyName
birthDate
isDeceased
sex
age
birthYear
worldTennisNumbers {
...WorldTennisNumberFragment
}
addresses {
...AddressFragment
}
createdAt
updatedAt
belongsToRequestingProvider
lastPlayedSingles
lastPlayedDoubles
optedOutOfPublicDataConsent
owningProviderId
school {
...SchoolInfoFragment
}
isRanked
rankedSingles
rankedDoubles
eligibleForSelfSubmission
eligibleForPsq
isRegistered
section {
...SectionFragment
}
hasSubmittedResult
tournaments {
...TournamentListFragment
}
matchUpIntervals {
...MatchUpIntervalsFragment
}
matchUpVsStatisticsCount {
...MatchUpVsStatisticsWinLossCountFragment
}
matchUps {
...MatchUpListFragment
}
demographicStats {
...DemographicStatFragment
}
ratingBounds {
...RatingBoundsFragment
}
}
}
Variables
{
"id": PersonIDInput,
"input": PersonUpdateInput
}
mutation updatePerson($id: PersonIDInput!, $input: PersonUpdateInput!) {
updatePerson(id: $id, input: $input) {
registrationInvite {
...InviteLinkFragment
}
clubs {
...ClubFragment
}
clubStatus
id
clubsparkId
externalID
tennisID
nationalID
personID
biographicalInformation {
...BiographicalInformationFragment
}
extensions {
...ExtensionFragment
}
nationalityCode
nativeFamilyName
nativeGivenName
nationalRating
notes
standardGivenName
standardFamilyName
birthDate
isDeceased
sex
age
birthYear
worldTennisNumbers {
...WorldTennisNumberFragment
}
addresses {
...AddressFragment
}
createdAt
updatedAt
belongsToRequestingProvider
lastPlayedSingles
lastPlayedDoubles
optedOutOfPublicDataConsent
owningProviderId
school {
...SchoolInfoFragment
}
isRanked
rankedSingles
rankedDoubles
eligibleForSelfSubmission
eligibleForPsq
isRegistered
section {
...SectionFragment
}
hasSubmittedResult
tournaments {
...TournamentListFragment
}
matchUpIntervals {
...MatchUpIntervalsFragment
}
matchUpVsStatisticsCount {
...MatchUpVsStatisticsWinLossCountFragment
}
matchUps {
...MatchUpListFragment
}
demographicStats {
...DemographicStatFragment
}
ratingBounds {
...RatingBoundsFragment
}
}
}
{
"id": PersonIDInput,
"input": PersonUpdateInput
}
Response
{
"data": {
"updatePerson": {
"registrationInvite": InviteLink,
"clubs": [Club],
"clubStatus": PersonClubStatus,
"id": ID,
"clubsparkId": ID,
"externalID": ID,
"tennisID": ID,
"nationalID": ID,
"personID": ID,
"biographicalInformation": BiographicalInformation,
"extensions": [Extension],
"nationalityCode": "abc123",
"nativeFamilyName": "abc123",
"nativeGivenName": "xyz789",
"nationalRating": "abc123",
"notes": "abc123",
"standardGivenName": "xyz789",
"standardFamilyName": "abc123",
"birthDate": "2026-03-31T14:07:52.371Z",
"isDeceased": false,
"sex": SexEnum,
"age": 123,
"birthYear": 987,
"worldTennisNumbers": [WorldTennisNumber],
"addresses": [Address],
"createdAt": DateTime,
"updatedAt": DateTime,
"belongsToRequestingProvider": true,
"lastPlayedSingles": DateTime,
"lastPlayedDoubles": DateTime,
"optedOutOfPublicDataConsent": true,
"owningProviderId": ID,
"school": [SchoolInfo],
"isRanked": true,
"rankedSingles": false,
"rankedDoubles": false,
"eligibleForSelfSubmission": false,
"eligibleForPsq": true,
"isRegistered": true,
"section": Section,
"hasSubmittedResult": true,
"tournaments": TournamentList,
"matchUpIntervals": MatchUpIntervals,
"matchUpVsStatisticsCount": MatchUpVsStatisticsWinLossCount,
"matchUps": MatchUpList,
"demographicStats": [DemographicStat],
"ratingBounds": RatingBounds
}
}
}
updateTournament
Example
Query
mutation updateTournament($id: ID!, $input: TournamentUpdateInput!) {
updateTournament(id: $id, input: $input) {
id
end
start
entriesClose
entriesOpen
extensions {
...ExtensionFragment
}
formalName
hostCountryCode
indoorOutdoor
localTimeZone
notes
promotionalName
season
surfaceCategory
providerTournamentId
unifiedTournamentId
level
name
updatedAt
createdAt
withdrawalDeadline
belongsToRequestingProvider
subCategory
persons {
...PersonListFragment
}
matchUps {
...MatchUpListFragment
}
provider {
...ProviderFragment
}
}
}
Variables
{
"id": ID,
"input": TournamentUpdateInput
}
mutation updateTournament($id: ID!, $input: TournamentUpdateInput!) {
updateTournament(id: $id, input: $input) {
id
end
start
entriesClose
entriesOpen
extensions {
...ExtensionFragment
}
formalName
hostCountryCode
indoorOutdoor
localTimeZone
notes
promotionalName
season
surfaceCategory
providerTournamentId
unifiedTournamentId
level
name
updatedAt
createdAt
withdrawalDeadline
belongsToRequestingProvider
subCategory
persons {
...PersonListFragment
}
matchUps {
...MatchUpListFragment
}
provider {
...ProviderFragment
}
}
}
{
"id": ID,
"input": TournamentUpdateInput
}
Response
{
"data": {
"updateTournament": {
"id": ID,
"end": DateTime,
"start": DateTime,
"entriesClose": DateTime,
"entriesOpen": DateTime,
"extensions": [Extension],
"formalName": "xyz789",
"hostCountryCode": CountryCode,
"indoorOutdoor": IndoorOutdoorEnum,
"localTimeZone": "abc123",
"notes": "abc123",
"promotionalName": "xyz789",
"season": "xyz789",
"surfaceCategory": SurfaceCategoryEnum,
"providerTournamentId": "abc123",
"unifiedTournamentId": "xyz789",
"level": "abc123",
"name": "abc123",
"updatedAt": DateTime,
"createdAt": DateTime,
"withdrawalDeadline": DateTime,
"belongsToRequestingProvider": true,
"subCategory": TournamentSubCategoryEnum,
"persons": PersonList,
"matchUps": MatchUpList,
"provider": Provider
}
}
}
updateVenue
Example
Query
mutation updateVenue($id: ID!, $input: VenueInput!) {
updateVenue(id: $id, input: $input) {
id
name
type
courts {
...CourtFragment
}
notes
addresses {
...AddressFragment
}
extensions {
...ExtensionFragment
}
providerVenueId
updatedAt
createdAt
}
}
Variables
{"id": ID, "input": VenueInput}
mutation updateVenue($id: ID!, $input: VenueInput!) {
updateVenue(id: $id, input: $input) {
id
name
type
courts {
...CourtFragment
}
notes
addresses {
...AddressFragment
}
extensions {
...ExtensionFragment
}
providerVenueId
updatedAt
createdAt
}
}
{"id": ID, "input": VenueInput}
Response
{
"data": {
"updateVenue": {
"id": ID,
"name": "abc123",
"type": "xyz789",
"courts": [Court],
"notes": "xyz789",
"addresses": [Address],
"extensions": [Extension],
"providerVenueId": ID,
"updatedAt": DateTime,
"createdAt": DateTime
}
}
}
upsertBatchMatchUps
Example
Query
mutation upsertBatchMatchUps($input: [MatchUpInput!]!) {
upsertBatchMatchUps(input: $input) {
items {
...MatchUpFragment
}
totalItems
batchErrors
totalBatchErrors
}
}
Variables
{"input": [MatchUpInput]}
mutation upsertBatchMatchUps($input: [MatchUpInput!]!) {
upsertBatchMatchUps(input: $input) {
items {
...MatchUpFragment
}
totalItems
batchErrors
totalBatchErrors
}
}
{"input": [MatchUpInput]}
Response
{
"data": {
"upsertBatchMatchUps": {
"items": [MatchUp],
"totalItems": 123,
"batchErrors": ["xyz789"],
"totalBatchErrors": 987
}
}
}
upsertBatchTournaments
Example
Query
mutation upsertBatchTournaments($input: [TournamentInput!]!) {
upsertBatchTournaments(input: $input) {
items {
...TournamentFragment
}
totalItems
batchErrors
totalBatchErrors
}
}
Variables
{"input": [TournamentInput]}
mutation upsertBatchTournaments($input: [TournamentInput!]!) {
upsertBatchTournaments(input: $input) {
items {
...TournamentFragment
}
totalItems
batchErrors
totalBatchErrors
}
}
{"input": [TournamentInput]}
Response
{
"data": {
"upsertBatchTournaments": {
"items": [Tournament],
"totalItems": 123,
"batchErrors": ["abc123"],
"totalBatchErrors": 987
}
}
}
Types
AccountPerson
| Field Name | Description |
|---|---|
id -
String
|
|
tennisId -
String
|
|
registrationToken -
String
|
|
nativeGivenName -
String
|
|
nativeFamilyName -
String
|
|
standardGivenName -
String
|
|
standardFamilyName -
String
|
|
sex -
SexEnum
|
|
birthDate -
Date
|
|
birthYear -
Int
|
|
nationalityCode -
String
|
|
countryOfResidenceCode -
String
|
|
biographicalInformation -
BiographicalInformation
|
Example
{
"id": "abc123",
"tennisId": "xyz789",
"registrationToken": "abc123",
"nativeGivenName": "abc123",
"nativeFamilyName": "abc123",
"standardGivenName": "xyz789",
"standardFamilyName": "xyz789",
"sex": SexEnum,
"birthDate": "2025-10-01T14:07:52.371Z",
"birthYear": 123,
"nationalityCode": "abc123",
"countryOfResidenceCode": "abc123",
"biographicalInformation": BiographicalInformation
}
AccountPersonDetail
| Field Name | Description |
|---|---|
id -
String
|
|
tennisId -
String
|
|
registrationToken -
String
|
|
nativeGivenName -
String
|
|
nativeFamilyName -
String
|
|
standardGivenName -
String
|
|
standardFamilyName -
String
|
|
sex -
SexEnum
|
|
birthDate -
Date
|
|
birthYear -
Int
|
|
nationalityCode -
String
|
|
countryOfResidenceCode -
String
|
|
alreadyItfCustomer -
Boolean
|
|
alreadyRegisteredForService -
Boolean
|
|
isSexUpdateable -
Boolean
|
|
isNativeGivenNameUpdateable -
Boolean
|
|
isNativeFamilyNameUpdateable -
Boolean
|
|
isBirthDateUpdateable -
Boolean
|
|
isNationalityUpdateable -
Boolean
|
|
isCountryOfResidenceUpdateable -
Boolean
|
|
biographicalInformation -
BiographicalInformation
|
|
hasBirthDate -
Boolean
|
|
hasNationality -
Boolean
|
|
hasSex -
Boolean
|
|
hasCountryOfResidence -
Boolean
|
Example
{
"id": "abc123",
"tennisId": "abc123",
"registrationToken": "abc123",
"nativeGivenName": "abc123",
"nativeFamilyName": "xyz789",
"standardGivenName": "xyz789",
"standardFamilyName": "xyz789",
"sex": SexEnum,
"birthDate": "2026-03-31T14:07:52.371Z",
"birthYear": 123,
"nationalityCode": "abc123",
"countryOfResidenceCode": "abc123",
"alreadyItfCustomer": false,
"alreadyRegisteredForService": false,
"isSexUpdateable": true,
"isNativeGivenNameUpdateable": true,
"isNativeFamilyNameUpdateable": true,
"isBirthDateUpdateable": true,
"isNationalityUpdateable": true,
"isCountryOfResidenceUpdateable": true,
"biographicalInformation": BiographicalInformation,
"hasBirthDate": false,
"hasNationality": true,
"hasSex": true,
"hasCountryOfResidence": true
}
AddAccountPerson
| Field Name | Description |
|---|---|
id -
String
|
|
tennisId -
String
|
|
registrationToken -
String
|
|
nativeGivenName -
String
|
|
nativeFamilyName -
String
|
|
standardGivenName -
String
|
|
standardFamilyName -
String
|
|
sex -
SexEnum
|
|
birthDate -
Date
|
|
birthYear -
Int
|
|
nationalityCode -
String
|
|
countryOfResidenceCode -
String
|
|
alreadyItfCustomer -
Boolean
|
|
alreadyRegisteredForService -
Boolean
|
|
biographicalInformation -
BiographicalInformation
|
|
signUpType -
SignUpTypeEnum
|
Example
{
"id": "abc123",
"tennisId": "abc123",
"registrationToken": "abc123",
"nativeGivenName": "xyz789",
"nativeFamilyName": "xyz789",
"standardGivenName": "abc123",
"standardFamilyName": "abc123",
"sex": SexEnum,
"birthDate": "2026-03-31T14:07:52.371Z",
"birthYear": 123,
"nationalityCode": "abc123",
"countryOfResidenceCode": "xyz789",
"alreadyItfCustomer": false,
"alreadyRegisteredForService": true,
"biographicalInformation": BiographicalInformation,
"signUpType": SignUpTypeEnum
}
AddAccountPersonInput
| Input Field | Description |
|---|---|
emailAddress -
String
|
|
nativeGivenName -
String!
|
|
nativeFamilyName -
String!
|
|
sex -
SexEnum
|
|
birthDate -
Date
|
|
nationalityCode -
String
|
|
countryOfResidenceCode -
String
|
|
biographicalInformation -
BiographicalInformationInput
|
|
signUpType -
SignUpTypeEnum
|
|
parentEmailAddress -
String
|
|
parentFullName -
String
|
|
personaType -
PersonaTypeEnum
|
|
personaDetail -
String
|
|
whereDidYouHearAboutUs -
WhereDidYouHearEnum
|
|
whereDidYouHearDetail -
String
|
|
whereDidYouHearNa -
String
|
Example
{
"emailAddress": "xyz789",
"nativeGivenName": "abc123",
"nativeFamilyName": "xyz789",
"sex": SexEnum,
"birthDate": "2026-03-31T14:07:52.371Z",
"nationalityCode": "abc123",
"countryOfResidenceCode": "xyz789",
"biographicalInformation": BiographicalInformationInput,
"signUpType": SignUpTypeEnum,
"parentEmailAddress": "xyz789",
"parentFullName": "xyz789",
"personaType": PersonaTypeEnum,
"personaDetail": "abc123",
"whereDidYouHearAboutUs": WhereDidYouHearEnum,
"whereDidYouHearDetail": "abc123",
"whereDidYouHearNa": "abc123"
}
AddTeamMembersInput
| Input Field | Description |
|---|---|
teamId -
ID!
|
|
members -
[PersonInput!]!
|
Example
{
"teamId": ID,
"members": [PersonInput]
}
AdditionalFieldsByMatchId
| Field Name | Description |
|---|---|
matchUpId -
Int
|
|
additionalMatchFields -
AdditionalMatchFields
|
Example
{
"matchUpId": 123,
"additionalMatchFields": AdditionalMatchFields
}
AdditionalMatchFields
| Field Name | Description |
|---|---|
drawId -
String
|
|
drawName -
String
|
|
drawStructure -
String
|
|
roundNumber -
Int
|
|
roundPosition -
Int
|
|
ageCategoryCode -
String
|
|
eventId -
String
|
|
side1Players -
[PlayerOnSide]
|
|
side2Players -
[PlayerOnSide]
|
Example
{
"drawId": "xyz789",
"drawName": "abc123",
"drawStructure": "abc123",
"roundNumber": 123,
"roundPosition": 987,
"ageCategoryCode": "xyz789",
"eventId": "xyz789",
"side1Players": [PlayerOnSide],
"side2Players": [PlayerOnSide]
}
Address
| Field Name | Description |
|---|---|
addressLine1 -
String
|
|
addressLine2 -
String
|
|
addressLine3 -
String
|
|
addressType -
AddressTypeEnum
|
|
city -
String
|
|
countryCode -
CountryCode
|
|
latitude -
Float
|
|
longitude -
Float
|
|
postalCode -
String
|
|
state -
String
|
Example
{
"addressLine1": "abc123",
"addressLine2": "abc123",
"addressLine3": "abc123",
"addressType": AddressTypeEnum,
"city": "abc123",
"countryCode": CountryCode,
"latitude": 987.65,
"longitude": 987.65,
"postalCode": "abc123",
"state": "abc123"
}
AddressInput
| Input Field | Description |
|---|---|
addressLine1 -
String
|
|
addressLine2 -
String
|
|
addressLine3 -
String
|
|
addressType -
AddressTypeEnum
|
|
city -
String
|
|
countryCode -
CountryCode
|
|
latitude -
Float
|
|
longitude -
Float
|
|
postalCode -
String
|
|
state -
String
|
Example
{
"addressLine1": "abc123",
"addressLine2": "abc123",
"addressLine3": "abc123",
"addressType": AddressTypeEnum,
"city": "abc123",
"countryCode": CountryCode,
"latitude": 123.45,
"longitude": 987.65,
"postalCode": "abc123",
"state": "xyz789"
}
AggregatedMatchUpCount
| Field Name | Description |
|---|---|
totalMatches -
Int
|
|
tournamentMatches -
Int
|
|
notTournamentMatches -
Int
|
|
matchesWon -
Int
|
|
matchesLost -
Int
|
|
matchesTied -
Int
|
|
uniqueOpponents -
UniqueOpponents
|
|
walkovers -
Int
|
|
decisive -
Int
|
|
routine -
Int
|
|
competitive -
Int
|
Example
{
"totalMatches": 987,
"tournamentMatches": 123,
"notTournamentMatches": 123,
"matchesWon": 987,
"matchesLost": 123,
"matchesTied": 987,
"uniqueOpponents": UniqueOpponents,
"walkovers": 987,
"decisive": 123,
"routine": 123,
"competitive": 123
}
BallTypeEnum
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
BiographicalInformation
| Field Name | Description |
|---|---|
ageBeganTennis -
Int
|
Age in years that the player started playing tennis |
ageTurnedPro -
Int
|
Age in years that the player became a professional |
birthCountryCode -
String
|
ISO-3166-1 alpha-3 country code assigned to player at birth |
coach -
Person
|
Person record of the coach of this person |
doublePlayingHand -
PlayingDoubleHandEnumType
|
|
heightInMeters -
Float
|
|
placeOfResidence -
String
|
|
playingHand -
PlayingHandEnumType
|
|
favouriteShot -
FavouriteShotEnum
|
|
avatarUrl -
String
|
|
residenceCountryCode -
String
|
|
weightInKgs -
Float
|
Example
{
"ageBeganTennis": 987,
"ageTurnedPro": 987,
"birthCountryCode": "abc123",
"coach": Person,
"doublePlayingHand": PlayingDoubleHandEnumType,
"heightInMeters": 123.45,
"placeOfResidence": "abc123",
"playingHand": PlayingHandEnumType,
"favouriteShot": FavouriteShotEnum,
"avatarUrl": "abc123",
"residenceCountryCode": "abc123",
"weightInKgs": 123.45
}
BiographicalInformationInput
| Input Field | Description |
|---|---|
ageBeganTennis -
Int
|
|
ageTurnedPro -
Int
|
|
birthCountryCode -
String
|
|
coachID -
ID
|
|
doublePlayingHand -
PlayingDoubleHandEnumType
|
|
heightInMeters -
Float
|
|
placeOfResidence -
String
|
|
playingHand -
PlayingHandEnumType
|
|
favouriteShot -
FavouriteShotEnum
|
|
avatarUrl -
String
|
|
residenceCountryCode -
ResidenceCountryCode
|
|
weightInKgs -
Float
|
Example
{
"ageBeganTennis": 987,
"ageTurnedPro": 987,
"birthCountryCode": "xyz789",
"coachID": ID,
"doublePlayingHand": PlayingDoubleHandEnumType,
"heightInMeters": 123.45,
"placeOfResidence": "abc123",
"playingHand": PlayingHandEnumType,
"favouriteShot": FavouriteShotEnum,
"avatarUrl": "abc123",
"residenceCountryCode": ResidenceCountryCode,
"weightInKgs": 987.65
}
BucketMeta
| Field Name | Description |
|---|---|
type -
MatchUpTypeEnum
|
|
matchUpStatsBuckets -
[StatBucket]
|
Example
{
"type": MatchUpTypeEnum,
"matchUpStatsBuckets": [StatBucket]
}
BucketedMatchUpFilterOptions
| Field Name | Description |
|---|---|
personId -
PersonIDInput!
|
|
type -
[MatchUpTypeEnum!]!
|
|
start -
DateOperators!
|
|
statuses -
[MatchUpStatusEnum]
|
Example
{
"personId": PersonIDInput,
"type": [MatchUpTypeEnum],
"start": DateOperators,
"statuses": [MatchUpStatusEnum]
}
BucketedMatchUpStats
| Field Name | Description |
|---|---|
bucketsMeta -
[BucketMeta]
|
Example
{"bucketsMeta": [BucketMeta]}
Club
| Field Name | Description |
|---|---|
id -
ID
|
|
name -
String
|
|
members -
PersonList
|
|
myRole -
ClubMemberRole
|
|
Example
{
"id": ID,
"name": "xyz789",
"members": PersonList,
"myRole": ClubMemberRole
}
ClubFilterOptions
| Input Field | Description |
|---|---|
search -
SearchFilterOptions
|
Example
{"search": SearchFilterOptions}
ContemporaryRating
| Field Name | Description |
|---|---|
rating -
Float
|
|
ratingType -
RatingTypeEnum
|
|
confidence -
Float
|
|
personId -
ID
|
Example
{
"rating": 987.65,
"ratingType": RatingTypeEnum,
"confidence": 123.45,
"personId": ID
}
Court
| Field Name | Description |
|---|---|
id -
ID!
|
|
extensions -
[Extension]
|
|
notes -
String
|
|
name -
String
|
|
pace -
String
|
|
surfaceCategory -
SurfaceCategoryEnum
|
|
surfaceType -
String
|
|
surfacedDate -
DateTime
|
|
latitude -
Float
|
|
longitude -
Float
|
|
altitude -
Float
|
|
courtDimensions -
String
|
|
providerCourtId -
ID
|
Example
{
"id": ID,
"extensions": [Extension],
"notes": "abc123",
"name": "xyz789",
"pace": "xyz789",
"surfaceCategory": SurfaceCategoryEnum,
"surfaceType": "xyz789",
"surfacedDate": DateTime,
"latitude": 123.45,
"longitude": 123.45,
"altitude": 987.65,
"courtDimensions": "xyz789",
"providerCourtId": ID
}
CourtInput
| Field Name | Description |
|---|---|
notes -
String
|
|
name -
String
|
|
pace -
String
|
|
surfaceCategory -
SurfaceCategoryEnum
|
|
surfaceType -
String
|
|
surfacedDate -
DateTime
|
|
latitude -
Float
|
|
longitude -
Float
|
|
extensions -
[ExtensionInput]
|
|
altitude -
Float
|
|
courtDimensions -
String
|
|
providerCourtId -
ID
|
Example
{
"notes": "abc123",
"name": "xyz789",
"pace": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"surfaceType": "xyz789",
"surfacedDate": DateTime,
"latitude": 123.45,
"longitude": 123.45,
"extensions": [ExtensionInput],
"altitude": 123.45,
"courtDimensions": "xyz789",
"providerCourtId": ID
}
CreateTeamInput
| Field Name | Description |
|---|---|
providerId -
ID!
|
|
extensions -
[ExtensionInput]
|
|
gender -
GenderEnum
|
|
name -
String!
|
|
nativeTeamName -
String
|
|
notes -
String
|
|
color -
TeamColor default = "NONE" |
|
logoUrl -
String
|
Example
{
"providerId": ID,
"extensions": [ExtensionInput],
"gender": GenderEnum,
"name": "abc123",
"nativeTeamName": "abc123",
"notes": "abc123",
"color": "NONE",
"logoUrl": "xyz789"
}
DemographicStat
| Field Name | Description |
|---|---|
type -
StatTypeEnum
|
|
strata -
[StrataDetail]
|
|
percentileBounds -
[Float]
|
|
stratumSize -
Int
|
Example
{
"type": StatTypeEnum,
"strata": [StrataDetail],
"percentileBounds": [123.45],
"stratumSize": 123
}
DrawStructureEnum
| Enum Value | Description |
|---|---|
|
|
Knock-out structure |
|
|
Round Robin structure |
|
|
Feed-in structure |
|
|
Other structure |
Features
| Field Name | Description |
|---|---|
walkUpRegistration -
FeatureStatusEnum
|
Example
{"walkUpRegistration": FeatureStatusEnum}
Float
The Float scalar type represents signed double-precision fractional values as specified by
IEEE 754.
Example
987.65
ID
The ID scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as "4") or integer (such as 4) input value will be accepted as an ID.
Example
object
Int
The Int scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1.
Example
987
MatchUp
| Field Name | Description |
|---|---|
id -
ID!
|
|
score -
Score
|
|
sides -
[Side]
|
|
winningSide -
SideEnum
|
|
providerMatchId -
ID!
|
|
ageCategoryCode -
String
|
|
surfaceCategory -
SurfaceCategoryEnum
|
|
indoorOutdoor -
IndoorOutdoorEnum
|
|
type -
MatchUpTypeEnum
|
|
matchUpFormat -
String
|
|
grade -
String
|
|
start -
DateTime
|
|
end -
DateTime
|
|
circuit -
CircuitEnum
|
|
roundNumber -
Int
|
|
roundPosition -
Int
|
|
roundName -
String
|
|
humidity -
Float
|
|
duration -
Float
|
|
status -
MatchUpStatusEnum
|
|
statusCodes -
[String]
|
|
extensions -
[Extension]
|
|
createdAt -
DateTime
|
|
updatedAt -
DateTime
|
|
competitiveness -
Float
|
|
state -
StateEnum
|
|
divisionType -
String
|
|
drawStructure -
DrawStructureEnum
|
|
drawType -
String
|
|
tieMatchUpId -
ID
|
|
courtId -
ID
|
|
surfaceType -
SurfaceTypeEnum
|
|
tournamentLevel -
StandardGradeEnum
|
|
pace -
PaceEnum
|
|
gender -
MatchUpGenderEnum
|
|
drawId -
ID
|
|
drawName -
String
|
|
venueId -
ID
|
|
selfSubmittedResult -
Boolean
|
|
ballType -
BallTypeEnum
|
|
deleted -
Boolean
|
|
collectionPosition -
Int
|
|
wtnId -
ID
|
|
wtnErrors -
[String]
|
|
isTied -
Boolean
|
|
tournament -
Tournament
|
|
court -
Court
|
|
venue -
Venue
|
|
provider -
Provider
|
|
ownerId -
ID
|
|
reviewedBy -
Person
|
|
submissionState -
MatchUpSubmissionStateEnum
|
|
reviewedAt -
DateTime
|
|
worldTennisNumbers -
[MatchUpWorldTennisNumber]
|
Retrieves the WorldTennisNumbers for the persons involved in the MatchUp.
The rating returned is the rating going into the MatchUp. |
Example
{
"id": ID,
"score": Score,
"sides": [Side],
"winningSide": SideEnum,
"providerMatchId": ID,
"ageCategoryCode": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "xyz789",
"grade": "abc123",
"start": DateTime,
"end": DateTime,
"circuit": CircuitEnum,
"roundNumber": 123,
"roundPosition": 123,
"roundName": "xyz789",
"humidity": 987.65,
"duration": 987.65,
"status": MatchUpStatusEnum,
"statusCodes": ["abc123"],
"extensions": [Extension],
"createdAt": DateTime,
"updatedAt": DateTime,
"competitiveness": 987.65,
"state": StateEnum,
"divisionType": "xyz789",
"drawStructure": DrawStructureEnum,
"drawType": "xyz789",
"tieMatchUpId": ID,
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"drawId": ID,
"drawName": "xyz789",
"venueId": ID,
"selfSubmittedResult": false,
"ballType": BallTypeEnum,
"deleted": false,
"collectionPosition": 987,
"wtnId": ID,
"wtnErrors": ["abc123"],
"isTied": false,
"tournament": Tournament,
"court": Court,
"venue": Venue,
"provider": Provider,
"ownerId": ID,
"reviewedBy": Person,
"submissionState": MatchUpSubmissionStateEnum,
"reviewedAt": DateTime,
"worldTennisNumbers": [MatchUpWorldTennisNumber]
}
MatchUpAggregateFilterOptions
| Field Name | Description |
|---|---|
personId -
PersonIDInput!
|
|
providerIds -
[ID]
|
|
type -
MatchUpTypeEnum
|
|
start -
DateOperators
|
|
end -
DateOperators
|
|
tournamentIds -
[ID]
|
|
indoorOutdoor -
IndoorOutdoorEnum
|
|
surfaceCategory -
SurfaceCategoryEnum
|
|
statuses -
[MatchUpStatusEnum]
|
Example
{
"personId": PersonIDInput,
"providerIds": [ID],
"type": MatchUpTypeEnum,
"start": DateOperators,
"end": DateOperators,
"tournamentIds": [ID],
"indoorOutdoor": IndoorOutdoorEnum,
"surfaceCategory": SurfaceCategoryEnum,
"statuses": [MatchUpStatusEnum]
}
MatchUpFilterOptions
| Field Name | Description |
|---|---|
matchUpIds -
[ID]
|
|
personIds -
[PersonIDInput]
|
|
type -
[MatchUpTypeEnum]
|
|
indoorOutdoor -
IndoorOutdoorEnum
|
|
surfaceCategory -
SurfaceCategoryEnum
|
|
start -
DateOperators
|
|
end -
DateOperators
|
|
tournamentIds -
[ID]
|
|
state -
StateEnum
|
|
updatedAt -
DateOperators
|
|
createdAt -
DateOperators
|
|
providerIds -
[ID]
|
|
statuses -
[MatchUpStatusEnum]
|
|
providerMatchIds -
[ID]
|
|
tournamentLevels -
[StandardGradeEnum]
|
|
ageCategoryCode -
StringOperators
|
|
selfSubmittedResult -
BooleanOperators
|
Example
{
"matchUpIds": [ID],
"personIds": [PersonIDInput],
"type": [MatchUpTypeEnum],
"indoorOutdoor": IndoorOutdoorEnum,
"surfaceCategory": SurfaceCategoryEnum,
"start": DateOperators,
"end": DateOperators,
"tournamentIds": [ID],
"state": StateEnum,
"updatedAt": DateOperators,
"createdAt": DateOperators,
"providerIds": [ID],
"statuses": [MatchUpStatusEnum],
"providerMatchIds": [ID],
"tournamentLevels": [StandardGradeEnum],
"ageCategoryCode": StringOperators,
"selfSubmittedResult": BooleanOperators
}
MatchUpInput
| Field Name | Description |
|---|---|
score -
ScoreInput
|
|
sides -
[SideInput!]!
|
|
winningSide -
SideEnum
|
|
ageCategoryCode -
String
|
|
surfaceCategory -
SurfaceCategoryEnum
|
|
indoorOutdoor -
IndoorOutdoorEnum
|
|
type -
MatchUpTypeEnum
|
|
matchUpFormat -
String
|
|
grade -
String
|
|
providerId -
ID
|
|
start -
DateTime!
|
|
end -
DateTime
|
|
tournamentId -
ID
|
|
circuit -
CircuitEnum
|
|
roundNumber -
Int
|
|
roundPosition -
Int
|
|
roundName -
String
|
|
humidity -
Float
|
|
duration -
Float
|
|
championship -
ChampionshipInput
|
|
divisionType -
String
|
|
drawStructure -
DrawStructureEnum
|
|
drawType -
String
|
|
status -
MatchUpStatusEnum
|
|
statusCodes -
[String]
|
|
extensions -
[ExtensionInput]
|
|
providerMatchId -
ID!
|
|
tieMatchUpId -
ID
|
|
drawId -
ID
|
|
drawName -
String
|
|
courtId -
ID
|
|
surfaceType -
SurfaceTypeEnum
|
|
tournamentLevel -
StandardGradeEnum
|
|
pace -
PaceEnum
|
|
gender -
MatchUpGenderEnum
|
|
venueId -
ID
|
|
selfSubmittedResult -
Boolean
|
|
ballType -
BallTypeEnum
|
|
collectionPosition -
Int
|
|
tournament -
TournamentInput
|
Example
{
"score": ScoreInput,
"sides": [SideInput],
"winningSide": SideEnum,
"ageCategoryCode": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "xyz789",
"grade": "xyz789",
"providerId": ID,
"start": DateTime,
"end": DateTime,
"tournamentId": ID,
"circuit": CircuitEnum,
"roundNumber": 987,
"roundPosition": 123,
"roundName": "xyz789",
"humidity": 123.45,
"duration": 987.65,
"championship": ChampionshipInput,
"divisionType": "xyz789",
"drawStructure": DrawStructureEnum,
"drawType": "xyz789",
"status": MatchUpStatusEnum,
"statusCodes": ["abc123"],
"extensions": [ExtensionInput],
"providerMatchId": ID,
"tieMatchUpId": ID,
"drawId": ID,
"drawName": "abc123",
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"venueId": ID,
"selfSubmittedResult": false,
"ballType": BallTypeEnum,
"collectionPosition": 123,
"tournament": TournamentInput
}
MatchUpList
| Field Name | Description |
|---|---|
items -
[MatchUp!]
|
|
totalItems -
Int
|
Example
{"items": [MatchUp], "totalItems": 123}
MatchUpStatisticsCountFilterOptions
| Input Field | Description |
|---|---|
start -
DateOperators
|
|
end -
DateOperators
|
Example
{
"start": DateOperators,
"end": DateOperators
}
MatchUpStatisticsFilterOptions
| Field Name | Description |
|---|---|
persons -
[PersonIDInput!]!
|
|
opponents -
[PersonIDInput!]
|
|
start -
DateOperators
|
|
end -
DateOperators
|
|
providerIds -
[ID]
|
Example
{
"persons": [PersonIDInput],
"opponents": [PersonIDInput],
"start": DateOperators,
"end": DateOperators,
"providerIds": [ID]
}
MatchUpStatusEnum
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MatchUpUpdateInput
| Field Name | Description |
|---|---|
score -
ScoreInput
|
|
sides -
[SideInput!]
|
|
winningSide -
SideEnum
|
|
ageCategoryCode -
String
|
|
surfaceCategory -
SurfaceCategoryEnum
|
|
indoorOutdoor -
IndoorOutdoorEnum
|
|
type -
MatchUpTypeEnum
|
|
matchUpFormat -
String
|
|
grade -
String
|
|
providerId -
ID
|
|
start -
DateTime
|
|
end -
DateTime
|
|
tournamentId -
ID
|
|
circuit -
CircuitEnum
|
|
roundNumber -
Int
|
|
roundPosition -
Int
|
|
roundName -
String
|
|
humidity -
Float
|
|
duration -
Float
|
|
championship -
ChampionshipInput
|
|
divisionType -
String
|
|
drawStructure -
DrawStructureEnum
|
|
drawType -
String
|
|
status -
MatchUpStatusEnum
|
|
statusCodes -
[String]
|
|
extensions -
[ExtensionInput]
|
|
providerMatchId -
ID
|
|
tieMatchUpId -
ID
|
|
drawId -
ID
|
|
drawName -
String
|
|
courtId -
ID
|
|
surfaceType -
SurfaceTypeEnum
|
|
tournamentLevel -
StandardGradeEnum
|
|
pace -
PaceEnum
|
|
gender -
MatchUpGenderEnum
|
|
venueId -
ID
|
|
selfSubmittedResult -
Boolean
|
|
ballType -
BallTypeEnum
|
|
collectionPosition -
Int
|
|
tournament -
TournamentUpdateInput
|
Example
{
"score": ScoreInput,
"sides": [SideInput],
"winningSide": SideEnum,
"ageCategoryCode": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"indoorOutdoor": IndoorOutdoorEnum,
"type": MatchUpTypeEnum,
"matchUpFormat": "abc123",
"grade": "xyz789",
"providerId": ID,
"start": DateTime,
"end": DateTime,
"tournamentId": ID,
"circuit": CircuitEnum,
"roundNumber": 123,
"roundPosition": 123,
"roundName": "abc123",
"humidity": 123.45,
"duration": 123.45,
"championship": ChampionshipInput,
"divisionType": "xyz789",
"drawStructure": DrawStructureEnum,
"drawType": "xyz789",
"status": MatchUpStatusEnum,
"statusCodes": ["xyz789"],
"extensions": [ExtensionInput],
"providerMatchId": ID,
"tieMatchUpId": ID,
"drawId": ID,
"drawName": "xyz789",
"courtId": ID,
"surfaceType": SurfaceTypeEnum,
"tournamentLevel": StandardGradeEnum,
"pace": PaceEnum,
"gender": MatchUpGenderEnum,
"venueId": ID,
"selfSubmittedResult": false,
"ballType": BallTypeEnum,
"collectionPosition": 123,
"tournament": TournamentUpdateInput
}
MatchUpVsStatistics
| Field Name | Description |
|---|---|
matchUpVsStatisticsCount -
MatchUpWinLossCount!
|
|
|
Arguments
|
|
matchUps -
MatchUpList
|
|
commonCompetitorIds -
[ID!]
|
|
commonCompetitors -
[Person!]
|
|
winLikelihood -
Int
|
|
Example
{
"matchUpVsStatisticsCount": MatchUpWinLossCount,
"matchUps": MatchUpList,
"commonCompetitorIds": [ID],
"commonCompetitors": [Person],
"winLikelihood": 987
}
MatchUpVsStatisticsCountFilterOptions
| Input Field | Description |
|---|---|
opponents -
[PersonIDInput!]!
|
|
start -
DateOperators
|
|
end -
DateOperators
|
Example
{
"opponents": [PersonIDInput],
"start": DateOperators,
"end": DateOperators
}
MatchUpWorldTennisNumber
| Field Name | Description |
|---|---|
personId -
ID!
|
|
confidence -
Float
|
|
ratingDate -
DateTime!
|
|
tennisNumber -
Float!
|
|
type -
WorldTennisNumberTypeEnum!
|
|
gameZoneUpper -
Float
|
|
gameZoneLower -
Float
|
|
source -
RatingSourceEnum
|
|
isRanked -
Boolean
|
Example
{
"personId": ID,
"confidence": 987.65,
"ratingDate": DateTime,
"tennisNumber": 123.45,
"type": WorldTennisNumberTypeEnum,
"gameZoneUpper": 123.45,
"gameZoneLower": 987.65,
"source": RatingSourceEnum,
"isRanked": false
}
Person
| Field Name | Description |
|---|---|
registrationInvite -
InviteLink
|
|
clubs -
[Club]
|
|
clubStatus -
PersonClubStatus
|
|
id -
ID!
|
Unique identifier |
clubsparkId -
ID
|
Clubspark user ID (UUID format) |
externalID -
ID
|
|
tennisID -
ID
|
|
nationalID -
ID
|
|
personID -
ID
|
|
biographicalInformation -
BiographicalInformation
|
Additional information on Person |
extensions -
[Extension]
|
Free-form addtional data in key-value pairs |
nationalityCode -
String
|
ISO-3166-1 alpha-3 country code of Person's nationality |
nativeFamilyName -
String!
|
Family name of the person in native language and character set. Limited to 40 characters. |
nativeGivenName -
String!
|
Given name to the person,in native language and character set. Limited to 40 characters. |
nationalRating -
String
|
Rating assigned to the Person by the owning NGB (not updated by WTN systems) |
notes -
String
|
Additional free-form string data |
standardGivenName -
String
|
The given name in Latin script that the person is usually known by. This will usually be a translation or transliteration of the Native Name. |
standardFamilyName -
String
|
The family name in Latin script that the person is usually known by. This will usually be a translation or transliteration of the Native Name. |
birthDate -
Date!
|
|
isDeceased -
Boolean!
|
|
sex -
SexEnum!
|
|
age -
Int!
|
|
birthYear -
Int!
|
Year of Person's birth in four digit form, eg. 1987 |
worldTennisNumbers -
[WorldTennisNumber]
|
Holds the current WTN calculated for this Person |
addresses -
[Address]
|
Person's postal address |
createdAt -
DateTime
|
Record metadata - timestamp of creation |
updatedAt -
DateTime
|
Record metadata - timestamp of last update |
belongsToRequestingProvider -
Boolean
|
|
lastPlayedSingles -
DateTime
|
Date of Person's last singles match |
lastPlayedDoubles -
DateTime
|
Date of Person's last doubles match |
optedOutOfPublicDataConsent -
Boolean
|
Opt out of having data shown on public site. |
owningProviderId -
ID
|
The ID of the owning provider of this Person |
school -
[SchoolInfo]
|
School information |
isRanked -
Boolean
|
|
rankedSingles -
Boolean
|
|
rankedDoubles -
Boolean
|
|
eligibleForSelfSubmission -
Boolean
|
|
eligibleForPsq -
Boolean
|
|
isRegistered -
Boolean
|
|
section -
Section
|
|
hasSubmittedResult -
Boolean
|
Check for if this Person is the owner of a self-submitted result, including rejected and deleted results |
tournaments -
TournamentList
|
|
matchUpIntervals -
MatchUpIntervals!
|
|
|
Arguments
|
|
matchUpVsStatisticsCount -
MatchUpVsStatisticsWinLossCount
|
|
|
Arguments |
|
matchUps -
MatchUpList
|
|
demographicStats -
[DemographicStat]
|
|
ratingBounds -
RatingBounds!
|
|
|
Arguments
|
|
Example
{
"registrationInvite": InviteLink,
"clubs": [Club],
"clubStatus": PersonClubStatus,
"id": ID,
"clubsparkId": ID,
"externalID": ID,
"tennisID": ID,
"nationalID": ID,
"personID": ID,
"biographicalInformation": BiographicalInformation,
"extensions": [Extension],
"nationalityCode": "abc123",
"nativeFamilyName": "abc123",
"nativeGivenName": "xyz789",
"nationalRating": "abc123",
"notes": "xyz789",
"standardGivenName": "xyz789",
"standardFamilyName": "xyz789",
"birthDate": "2025-10-01T14:07:52.371Z",
"isDeceased": true,
"sex": SexEnum,
"age": 123,
"birthYear": 123,
"worldTennisNumbers": [WorldTennisNumber],
"addresses": [Address],
"createdAt": DateTime,
"updatedAt": DateTime,
"belongsToRequestingProvider": true,
"lastPlayedSingles": DateTime,
"lastPlayedDoubles": DateTime,
"optedOutOfPublicDataConsent": false,
"owningProviderId": ID,
"school": [SchoolInfo],
"isRanked": true,
"rankedSingles": true,
"rankedDoubles": false,
"eligibleForSelfSubmission": false,
"eligibleForPsq": false,
"isRegistered": false,
"section": Section,
"hasSubmittedResult": true,
"tournaments": TournamentList,
"matchUpIntervals": MatchUpIntervals,
"matchUpVsStatisticsCount": MatchUpVsStatisticsWinLossCount,
"matchUps": MatchUpList,
"demographicStats": [DemographicStat],
"ratingBounds": RatingBounds
}
PersonAggregatedFilterOptions
| Field Name | Description |
|---|---|
ageBuckets -
[Int!]
|
|
nationalityCode -
NationalityCode
|
|
sex -
SexEnum
|
|
age -
NumberOperators
|
|
daysAgo -
Int
|
|
providerId -
String
|
|
providerIds -
[String]
|
Example
{
"ageBuckets": [987],
"nationalityCode": NationalityCode,
"sex": SexEnum,
"age": NumberOperators,
"daysAgo": 123,
"providerId": "abc123",
"providerIds": ["xyz789"]
}
PersonDate
The date that represents the persons date of birth and the person must be over 9 years old
Example
object
PersonDeltaChange
| Field Name | Description |
|---|---|
_id -
ID
|
|
loggedErrors -
[AuditError]
|
|
createdAt -
DateTime
|
|
updatedAt -
DateTime
|
|
status -
SyncStatusEnum
|
Example
{
"_id": ID,
"loggedErrors": [AuditError],
"createdAt": DateTime,
"updatedAt": DateTime,
"status": SyncStatusEnum
}
PersonFilterOptions
| Field Name | Description |
|---|---|
clubId -
ID
|
|
search -
SearchOperators
|
|
age -
NumberOperators
|
|
birthYear -
Int
|
|
updatedAt -
DateOperators
|
|
createdAt -
DateOperators
|
|
nationalityCode -
StringOperators
|
|
sex -
SexEnum
|
|
ratings -
RatingFilterOptions
|
|
ratingsMulti -
[RatingFilterOptions]
|
|
ids -
[PersonIDInput]
|
|
providerId -
String
|
|
providerIds -
[String]
|
|
involvedInMatchUps -
Boolean
|
|
lastPlayedSingles -
DateOperators
|
|
lastPlayedDoubles -
DateOperators
|
|
providerNationalityPersons -
Boolean
|
|
ignoreProviderPersons -
Boolean
|
|
owningProviderId -
ID
|
|
scopeForSelfSubmission -
Boolean
|
Example
{
"clubId": ID,
"search": SearchOperators,
"age": NumberOperators,
"birthYear": 987,
"updatedAt": DateOperators,
"createdAt": DateOperators,
"nationalityCode": StringOperators,
"sex": SexEnum,
"ratings": RatingFilterOptions,
"ratingsMulti": [RatingFilterOptions],
"ids": [PersonIDInput],
"providerId": "abc123",
"providerIds": ["abc123"],
"involvedInMatchUps": true,
"lastPlayedSingles": DateOperators,
"lastPlayedDoubles": DateOperators,
"providerNationalityPersons": false,
"ignoreProviderPersons": true,
"owningProviderId": ID,
"scopeForSelfSubmission": false
}
PersonIDInput
| Input Field | Description |
|---|---|
identifier -
String!
|
|
type -
PersonIDEnum!
|
Example
{"identifier": "xyz789", "type": PersonIDEnum}
PersonInput
| Field Name | Description |
|---|---|
biographicalInformation -
BiographicalInformationInput
|
|
emailAddress -
String
|
|
secondaryEmailAddress -
String
|
|
extensions -
[ExtensionInput]
|
|
nationalityCode -
NationalityCode!
|
|
nativeFamilyName -
String!
|
|
nativeGivenName -
String!
|
|
standardGivenName -
String
|
deprecated: generated from the nativeGivenName |
standardFamilyName -
String
|
deprecated: generated from the nativeFamilyName |
nationalRating -
String
|
|
notes -
String
|
|
isDeceased -
Boolean
|
|
birthDate -
PersonDate!
|
|
sex -
SexEnum!
|
|
addresses -
[AddressInput]
|
|
clubsparkId -
ID
|
|
optedOutOfPublicDataConsent -
Boolean
|
|
nationalID -
String
|
|
externalID -
ID
|
|
personID -
ID
|
|
section -
SectionInput
|
Example
{
"biographicalInformation": BiographicalInformationInput,
"emailAddress": "abc123",
"secondaryEmailAddress": "abc123",
"extensions": [ExtensionInput],
"nationalityCode": NationalityCode,
"nativeFamilyName": "xyz789",
"nativeGivenName": "xyz789",
"standardGivenName": "abc123",
"standardFamilyName": "xyz789",
"nationalRating": "abc123",
"notes": "abc123",
"isDeceased": false,
"birthDate": PersonDate,
"sex": SexEnum,
"addresses": [AddressInput],
"clubsparkId": ID,
"optedOutOfPublicDataConsent": false,
"nationalID": "abc123",
"externalID": ID,
"personID": ID,
"section": SectionInput
}
PersonMerge
| Field Name | Description |
|---|---|
newPersonTennisId -
String!
|
|
newPersonNationalId -
String
|
|
mergedPersonTennisId -
String!
|
|
mergedPersonNationalId -
String
|
|
timestamp -
DateTime!
|
Example
{
"newPersonTennisId": "abc123",
"newPersonNationalId": "abc123",
"mergedPersonTennisId": "abc123",
"mergedPersonNationalId": "xyz789",
"timestamp": DateTime
}
PersonMergeResult
| Code | Reason | Comments |
|---|---|---|
| 200 | success | |
| 140 | Persons are of different sexes | |
| 150 | Provider not the owner of the Person | |
| 210 | target person owned by ITF | |
| 220 | additionalPersonID owned by ITF | |
| 400 | No additionalPersonIDs provided | |
| 404 | Failed to find target person | |
| 404 | Failed to find additional person | |
| 422 | additionalPersonIDs refer to the same person | |
| 500 | Failed to merge person | Catch all error |
| Field Name | Description |
|---|---|
code -
Int!
|
Response code (see above table) |
reason -
String
|
Description of response code |
person -
Person
|
Merged person record (on successful merge) |
Example
{"code": 123, "reason": "xyz789", "person": Person}
PersonMergesList
| Field Name | Description |
|---|---|
items -
[PersonMerge!]
|
|
totalItems -
Int
|
Example
{"items": [PersonMerge], "totalItems": 987}
PersonOptedOutOfPublicDataConsent
| Field Name | Description |
|---|---|
setByUser -
Boolean
|
|
setByOwningProvider -
Boolean
|
|
optedOutOfPublicDataConsent -
Boolean
|
|
providersOptedOutOfPublicDataConsent -
[ProviderOptedOutOfPublicDataConsent]
|
Example
{
"setByUser": true,
"setByOwningProvider": false,
"optedOutOfPublicDataConsent": true,
"providersOptedOutOfPublicDataConsent": [
ProviderOptedOutOfPublicDataConsent
]
}
PersonPSQInput
| Input Field | Description |
|---|---|
answers -
[PersonPSQAnswerInput!]!
|
|
gender -
SexEnum!
|
|
age -
Int!
|
Example
{
"answers": [PersonPSQAnswerInput],
"gender": SexEnum,
"age": 987
}
PersonRating
| Field Name | Description |
|---|---|
confidence -
Float!
|
|
timestamp -
DateTime!
|
|
rating -
Float!
|
|
ratingType -
RatingTypeEnum!
|
|
gameZoneUpper -
Float
|
|
gameZoneLower -
Float
|
|
source -
RatingSourceEnum
|
Example
{
"confidence": 987.65,
"timestamp": DateTime,
"rating": 987.65,
"ratingType": RatingTypeEnum,
"gameZoneUpper": 123.45,
"gameZoneLower": 123.45,
"source": RatingSourceEnum
}
PersonUpdateInput
| Field Name | Description |
|---|---|
biographicalInformation -
BiographicalInformationInput
|
|
emailAddress -
String
|
|
secondaryEmailAddress -
String
|
|
extensions -
[ExtensionInput]
|
|
nationalityCode -
NationalityCode
|
|
nativeFamilyName -
String
|
|
nativeGivenName -
String
|
|
standardGivenName -
String
|
deprecated: generated from the nativeGivenName |
standardFamilyName -
String
|
deprecated: generated from the nativeFamilyName |
nationalRating -
String
|
|
notes -
String
|
|
isDeceased -
Boolean
|
|
birthDate -
PersonDate
|
|
sex -
SexEnum
|
|
addresses -
[AddressInput]
|
|
clubsparkId -
ID
|
|
optedOutOfPublicDataConsent -
Boolean
|
|
externalID -
ID
|
|
personID -
ID
|
|
nationalID -
String
|
|
section -
SectionInput
|
Example
{
"biographicalInformation": BiographicalInformationInput,
"emailAddress": "abc123",
"secondaryEmailAddress": "abc123",
"extensions": [ExtensionInput],
"nationalityCode": NationalityCode,
"nativeFamilyName": "abc123",
"nativeGivenName": "abc123",
"standardGivenName": "abc123",
"standardFamilyName": "xyz789",
"nationalRating": "xyz789",
"notes": "xyz789",
"isDeceased": true,
"birthDate": PersonDate,
"sex": SexEnum,
"addresses": [AddressInput],
"clubsparkId": ID,
"optedOutOfPublicDataConsent": false,
"externalID": ID,
"personID": ID,
"nationalID": "xyz789",
"section": SectionInput
}
PersonaTypeEnum
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
PlayerInput
| Input Field | Description |
|---|---|
personId -
PersonIDInput!
|
|
playerNumber -
Int
|
Example
{"personId": PersonIDInput, "playerNumber": 987}
Provider
| Field Name | Description |
|---|---|
id -
ID
|
|
providerId -
String
|
|
name -
String!
|
|
orgId -
String
|
|
nationalityCodes -
[NationalityCode]
|
|
defaultOptOutStatus -
Boolean
|
|
updatedAt -
DateTime
|
|
createdAt -
DateTime
|
|
personMinimumAge -
Int
|
|
logoUrl -
String
|
|
displayName -
String
|
|
landingPageUrl -
String
|
|
supportPageUrl -
String
|
|
providerType -
ProviderTypeEnum
|
Example
{
"id": ID,
"providerId": "abc123",
"name": "abc123",
"orgId": "abc123",
"nationalityCodes": [NationalityCode],
"defaultOptOutStatus": false,
"updatedAt": DateTime,
"createdAt": DateTime,
"personMinimumAge": 123,
"logoUrl": "abc123",
"displayName": "xyz789",
"landingPageUrl": "abc123",
"supportPageUrl": "xyz789",
"providerType": ProviderTypeEnum
}
ProviderFilterOptions
| Field Name | Description |
|---|---|
ids -
[ID]
|
|
updatedAt -
DateOperators
|
|
createdAt -
DateOperators
|
Example
{
"ids": [ID],
"updatedAt": DateOperators,
"createdAt": DateOperators
}
ProviderInput
| Field Name | Description |
|---|---|
providerId -
String!
|
|
name -
String!
|
|
orgId -
String
|
|
nationalityCodes -
[NationalityCode]
|
|
defaultOptOutStatus -
Boolean
|
|
personMinimumAge -
Int
|
|
logoUrl -
String
|
|
displayName -
String
|
|
landingPageUrl -
String
|
|
supportPageUrl -
String
|
|
providerType -
ProviderTypeEnum
|
Example
{
"providerId": "xyz789",
"name": "abc123",
"orgId": "abc123",
"nationalityCodes": [NationalityCode],
"defaultOptOutStatus": true,
"personMinimumAge": 987,
"logoUrl": "xyz789",
"displayName": "abc123",
"landingPageUrl": "xyz789",
"supportPageUrl": "xyz789",
"providerType": ProviderTypeEnum
}
ProviderList
| Field Name | Description |
|---|---|
items -
[Provider!]
|
|
totalItems -
Int
|
Example
{"items": [Provider], "totalItems": 987}
ProviderNameList
| Field Name | Description |
|---|---|
items -
[ProviderName!]
|
|
totalItems -
Int
|
Example
{"items": [ProviderName], "totalItems": 987}
ProviderTournamentIDErrors
| Field Name | Description |
|---|---|
providerTournamentID -
String
|
|
transformationErrors -
[String]
|
|
additionalFieldsByMatchId -
[AdditionalFieldsByMatchId]
|
Only set in case tournament contains bad matchup |
Example
{
"providerTournamentID": "xyz789",
"transformationErrors": ["xyz789"],
"additionalFieldsByMatchId": [AdditionalFieldsByMatchId]
}
ProviderUpdateInput
| Field Name | Description |
|---|---|
providerId -
String
|
|
name -
String
|
|
orgId -
String
|
|
nationalityCodes -
[NationalityCode]
|
|
defaultOptOutStatus -
Boolean
|
|
personMinimumAge -
Int
|
|
logoUrl -
String
|
|
displayName -
String
|
|
landingPageUrl -
String
|
|
supportPageUrl -
String
|
|
providerType -
ProviderTypeEnum
|
Example
{
"providerId": "abc123",
"name": "abc123",
"orgId": "abc123",
"nationalityCodes": [NationalityCode],
"defaultOptOutStatus": true,
"personMinimumAge": 123,
"logoUrl": "abc123",
"displayName": "xyz789",
"landingPageUrl": "abc123",
"supportPageUrl": "abc123",
"providerType": ProviderTypeEnum
}
PublicPersonFilterOptions
| Field Name | Description |
|---|---|
search -
SearchFilterOptions
|
|
age -
RangeNumberOperators
|
|
nationalityCodes -
[NationalityCode]
|
|
sex -
SexEnum
|
|
ratings -
[PublicPersonRatingFilterOptions]
|
|
birthYear -
Int
|
|
scopeForSelfSubmission -
Boolean
|
Example
{
"search": SearchFilterOptions,
"age": RangeNumberOperators,
"nationalityCodes": [NationalityCode],
"sex": SexEnum,
"ratings": [PublicPersonRatingFilterOptions],
"birthYear": 123,
"scopeForSelfSubmission": true
}
PublicPersonRatingFilterOptions
| Input Field | Description |
|---|---|
type -
RatingTypeEnum!
|
|
rating -
RangeNumberOperators
|
|
confidence -
NumberOperators
|
Example
{
"type": RatingTypeEnum,
"rating": RangeNumberOperators,
"confidence": NumberOperators
}
Rating
| Field Name | Description |
|---|---|
id -
ID!
|
|
personId -
ID!
|
|
confidence -
Float
|
|
timestamp -
DateTime!
|
|
updatedAt -
DateTime
|
|
rating -
Float!
|
|
ratingType -
RatingTypeEnum!
|
|
prevRating -
Float
|
|
opponentIds -
[ID]
|
|
matchIds -
[ID]
|
|
vol -
Float
|
|
rd -
Float
|
|
prevRd -
Float
|
|
weight -
Float
|
|
upperScaledGamezoneBound -
Float
|
|
lowerScaledGamezoneBound -
Float
|
|
unscaledRating -
Float
|
|
source -
RatingSourceEnum
|
|
person -
Person
|
|
opponents -
[Person]
|
|
matchUps -
[MatchUp]
|
Example
{
"id": ID,
"personId": ID,
"confidence": 987.65,
"timestamp": DateTime,
"updatedAt": DateTime,
"rating": 987.65,
"ratingType": RatingTypeEnum,
"prevRating": 123.45,
"opponentIds": [ID],
"matchIds": [ID],
"vol": 123.45,
"rd": 123.45,
"prevRd": 987.65,
"weight": 987.65,
"upperScaledGamezoneBound": 123.45,
"lowerScaledGamezoneBound": 987.65,
"unscaledRating": 987.65,
"source": RatingSourceEnum,
"person": Person,
"opponents": [Person],
"matchUps": [MatchUp]
}
RatingBounds
| Field Name | Description |
|---|---|
boundsForType -
RatingMinMax
|
|
|
Arguments
|
|
Example
{"boundsForType": RatingMinMax}
RatingFilterInput
| Input Field | Description |
|---|---|
ratingType -
RatingTypeEnum
|
|
personId -
ID
|
|
rating -
Float
|
|
lowerRatingScope -
Int
|
|
higherRatingScope -
Int
|
|
matchTimestamp -
DateTime
|
|
reportFilters -
ReportFilterInput
|
Example
{
"ratingType": RatingTypeEnum,
"personId": ID,
"rating": 987.65,
"lowerRatingScope": 123,
"higherRatingScope": 123,
"matchTimestamp": DateTime,
"reportFilters": ReportFilterInput
}
RatingFilterOptions
| Input Field | Description |
|---|---|
type -
RatingTypeEnum!
|
|
rating -
NumberOperators
|
|
updatedAt -
DateOperators
|
|
source -
RatingSourceEnum
|
|
confidence -
NumberOperators
|
Example
{
"type": RatingTypeEnum,
"rating": NumberOperators,
"updatedAt": DateOperators,
"source": RatingSourceEnum,
"confidence": NumberOperators
}
RatingSort
| Input Field | Description |
|---|---|
field -
String
|
|
direction -
DirectionEnum
|
Example
{"field": "xyz789", "direction": DirectionEnum}
ReportFilterInput
| Field Name | Description |
|---|---|
ratingBandBucket -
[Int]!
|
Example
{"ratingBandBucket": [123]}
SchoolInfo
| Field Name | Description |
|---|---|
name -
String
|
|
externalId -
ID!
|
|
year -
String
|
|
division -
String
|
|
class -
String
|
|
providerId -
ID!
|
|
logoUrl -
String
|
|
externalLink -
String
|
|
state -
SchoolMemberStateEnum!
|
|
updatedAt -
DateTime
|
|
createdAt -
DateTime
|
Example
{
"name": "xyz789",
"externalId": ID,
"year": "abc123",
"division": "abc123",
"class": "xyz789",
"providerId": ID,
"logoUrl": "xyz789",
"externalLink": "abc123",
"state": SchoolMemberStateEnum,
"updatedAt": DateTime,
"createdAt": DateTime
}
SchoolInput
| Input Field | Description |
|---|---|
name -
String
|
|
externalId -
ID!
|
|
year -
String
|
|
division -
String
|
|
class -
String
|
|
logoUrl -
String
|
|
state -
SchoolMemberStateEnum!
|
Example
{
"name": "xyz789",
"externalId": ID,
"year": "xyz789",
"division": "xyz789",
"class": "xyz789",
"logoUrl": "abc123",
"state": SchoolMemberStateEnum
}
Score
| Field Name | Description |
|---|---|
scoreString -
String
|
|
sets -
[Set]
|
|
superTiebreak -
Tiebreaker
|
Example
{
"scoreString": "abc123",
"sets": [Set],
"superTiebreak": Tiebreaker
}
ScoreInput
| Field Name | Description |
|---|---|
scoreString -
String
|
|
scoreStringWinnerFirst -
Boolean
|
|
sets -
[SetInput]
|
|
superTiebreak -
TiebreakerInput
|
Example
{
"scoreString": "xyz789",
"scoreStringWinnerFirst": true,
"sets": [SetInput],
"superTiebreak": TiebreakerInput
}
SectionInput
| Input Field | Description |
|---|---|
identifier -
String
|
|
name -
String
|
|
code -
String
|
|
district -
DistrictInput
|
Example
{
"identifier": "xyz789",
"name": "abc123",
"code": "xyz789",
"district": DistrictInput
}
SelfSubmittedMatchUpInput
| Input Field | Description |
|---|---|
score -
ScoreInput
|
|
sides -
[SideInput!]!
|
|
winningSide -
SideEnum
|
|
start -
DateTime!
|
|
matchUpFormat -
String
|
Example
{
"score": ScoreInput,
"sides": [SideInput],
"winningSide": SideEnum,
"start": DateTime,
"matchUpFormat": "abc123"
}
SelfSubmittedMatchUpUpdateInput
| Input Field | Description |
|---|---|
score -
ScoreInput
|
|
sides -
[SideInput!]
|
|
winningSide -
SideEnum
|
|
start -
DateTime
|
|
matchUpFormat -
String
|
Example
{
"score": ScoreInput,
"sides": [SideInput],
"winningSide": SideEnum,
"start": DateTime,
"matchUpFormat": "abc123"
}
Set
| Field Name | Description |
|---|---|
winnerGamesWon -
Int
|
|
loserGamesWon -
Int
|
|
winRatio -
Float
|
|
tiebreaker -
Tiebreaker
|
Example
{
"winnerGamesWon": 987,
"loserGamesWon": 987,
"winRatio": 123.45,
"tiebreaker": Tiebreaker
}
SetInput
| Input Field | Description |
|---|---|
winnerGamesWon -
Int
|
|
loserGamesWon -
Int
|
|
tiebreaker -
TiebreakerInput
|
Example
{
"winnerGamesWon": 987,
"loserGamesWon": 123,
"tiebreaker": TiebreakerInput
}
Side
| Field Name | Description |
|---|---|
extensions -
[Extension]
|
|
notes -
String
|
|
players -
[Player!]!
|
|
sideNumber -
SideEnum!
|
Example
{
"extensions": [Extension],
"notes": "xyz789",
"players": [Player],
"sideNumber": SideEnum
}
SideInput
| Input Field | Description |
|---|---|
extensions -
[ExtensionInput!]
|
|
notes -
String
|
|
teamId -
ID
|
|
players -
[PlayerInput!]!
|
|
sideNumber -
SideEnum!
|
Example
{
"extensions": [ExtensionInput],
"notes": "abc123",
"teamId": ID,
"players": [PlayerInput],
"sideNumber": SideEnum
}
SortOrder
| Input Field | Description |
|---|---|
field -
String!
|
|
direction -
DirectionEnum!
|
Example
{"field": "abc123", "direction": DirectionEnum}
StandardGradeEnum
| Enum Value | Description |
|---|---|
|
|
International |
|
|
National |
|
|
Regional |
|
|
District |
|
|
Local |
|
|
Club |
|
|
Recreational |
|
|
Zonal |
StrataDetail
| Field Name | Description |
|---|---|
attribute -
DemographicAttributeEnum
|
|
label -
String
|
Example
{"attribute": DemographicAttributeEnum, "label": "xyz789"}
String
The String scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.
SurfaceTypeEnum
| Enum Value | Description |
|---|---|
|
|
Acrylic/Polyurethane |
|
|
Artificial Clay |
|
|
Artificial Grass |
|
|
Asphalt |
|
|
Carpet |
|
|
Clay |
|
|
Concrete |
|
|
Grass |
|
|
Hybrid Clay |
|
|
Other |
TODS
| Field Name | Description |
|---|---|
_id -
String
|
|
tournamentId -
String
|
|
tournament -
JSON
|
|
errors -
[ValidationError]
|
Error set if input does not validate against schema |
createdAt -
DateTime
|
|
updatedAt -
DateTime
|
|
transformationErrors -
[String]
|
Error set if input contains bad data |
Example
{
"_id": "xyz789",
"tournamentId": "abc123",
"tournament": {},
"errors": [ValidationError],
"createdAt": DateTime,
"updatedAt": DateTime,
"transformationErrors": ["abc123"]
}
Team
| Field Name | Description |
|---|---|
id -
ID!
|
|
extensions -
[Extension]
|
|
gender -
GenderEnum!
|
|
name -
String!
|
|
nativeTeamName -
String
|
|
notes -
String
|
|
members -
[Person!]
|
|
updatedAt -
DateTime!
|
|
createdAt -
DateTime!
|
|
color -
TeamColor!
|
|
logoUrl -
String
|
|
providerId -
ID!
|
Example
{
"id": ID,
"extensions": [Extension],
"gender": GenderEnum,
"name": "xyz789",
"nativeTeamName": "xyz789",
"notes": "abc123",
"members": [Person],
"updatedAt": DateTime,
"createdAt": DateTime,
"color": TeamColor,
"logoUrl": "abc123",
"providerId": ID
}
TeamColor
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
TeamFilterOptions
| Input Field | Description |
|---|---|
name -
StringOperators
|
|
gender -
GenderEnum
|
|
updatedAt -
DateOperators
|
|
createdAt -
DateOperators
|
|
containsMemberId -
ID
|
|
providerId -
String
|
|
color -
TeamColor
|
Example
{
"name": StringOperators,
"gender": GenderEnum,
"updatedAt": DateOperators,
"createdAt": DateOperators,
"containsMemberId": ID,
"providerId": "xyz789",
"color": TeamColor
}
Tournament
| Field Name | Description |
|---|---|
id -
ID!
|
|
end -
DateTime
|
|
start -
DateTime
|
|
entriesClose -
DateTime
|
|
entriesOpen -
DateTime
|
|
extensions -
[Extension]
|
|
formalName -
String
|
|
hostCountryCode -
CountryCode
|
|
indoorOutdoor -
IndoorOutdoorEnum
|
|
localTimeZone -
String
|
|
notes -
String
|
|
promotionalName -
String
|
|
season -
String
|
|
surfaceCategory -
SurfaceCategoryEnum
|
|
providerTournamentId -
String!
|
|
unifiedTournamentId -
String
|
|
level -
String
|
|
name -
String
|
|
updatedAt -
DateTime
|
|
createdAt -
DateTime
|
|
withdrawalDeadline -
DateTime
|
|
belongsToRequestingProvider -
Boolean
|
|
subCategory -
TournamentSubCategoryEnum
|
|
persons -
PersonList
|
|
matchUps -
MatchUpList
|
|
provider -
Provider
|
|
Example
{
"id": ID,
"end": DateTime,
"start": DateTime,
"entriesClose": DateTime,
"entriesOpen": DateTime,
"extensions": [Extension],
"formalName": "abc123",
"hostCountryCode": CountryCode,
"indoorOutdoor": IndoorOutdoorEnum,
"localTimeZone": "xyz789",
"notes": "abc123",
"promotionalName": "abc123",
"season": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"providerTournamentId": "xyz789",
"unifiedTournamentId": "abc123",
"level": "xyz789",
"name": "abc123",
"updatedAt": DateTime,
"createdAt": DateTime,
"withdrawalDeadline": DateTime,
"belongsToRequestingProvider": true,
"subCategory": TournamentSubCategoryEnum,
"persons": PersonList,
"matchUps": MatchUpList,
"provider": Provider
}
TournamentFilterOptions
| Field Name | Description |
|---|---|
tournamentIds -
[ID]
|
|
start -
DateOperators
|
|
end -
DateOperators
|
|
name -
StringOperators
|
|
providerTournamentIds -
[ID]
|
|
providerIds -
[ID]
|
|
indoorOutdoor -
IndoorOutdoorEnum
|
|
surfaceCategory -
SurfaceCategoryEnum
|
|
updatedAt -
DateOperators
|
|
createdAt -
DateOperators
|
|
subCategory -
TournamentSubCategoryEnum
|
Example
{
"tournamentIds": [ID],
"start": DateOperators,
"end": DateOperators,
"name": StringOperators,
"providerTournamentIds": [ID],
"providerIds": [ID],
"indoorOutdoor": IndoorOutdoorEnum,
"surfaceCategory": SurfaceCategoryEnum,
"updatedAt": DateOperators,
"createdAt": DateOperators,
"subCategory": TournamentSubCategoryEnum
}
TournamentInput
| Field Name | Description |
|---|---|
end -
DateTime!
|
|
start -
DateTime!
|
|
entriesClose -
DateTime
|
|
entriesOpen -
DateTime
|
|
extensions -
[ExtensionInput]
|
|
formalName -
String
|
|
hostCountryCode -
CountryCode
|
|
indoorOutdoor -
IndoorOutdoorEnum
|
|
localTimeZone -
String
|
|
notes -
String
|
|
promotionalName -
String
|
|
season -
String
|
|
surfaceCategory -
SurfaceCategoryEnum
|
|
providerTournamentId -
String!
|
|
level -
String
|
|
name -
String
|
|
withdrawalDeadline -
DateTime
|
|
subCategory -
TournamentSubCategoryEnum
|
Example
{
"end": DateTime,
"start": DateTime,
"entriesClose": DateTime,
"entriesOpen": DateTime,
"extensions": [ExtensionInput],
"formalName": "xyz789",
"hostCountryCode": CountryCode,
"indoorOutdoor": IndoorOutdoorEnum,
"localTimeZone": "xyz789",
"notes": "xyz789",
"promotionalName": "xyz789",
"season": "abc123",
"surfaceCategory": SurfaceCategoryEnum,
"providerTournamentId": "xyz789",
"level": "abc123",
"name": "xyz789",
"withdrawalDeadline": DateTime,
"subCategory": TournamentSubCategoryEnum
}
TournamentList
| Field Name | Description |
|---|---|
items -
[Tournament!]
|
|
totalItems -
Int
|
Example
{"items": [Tournament], "totalItems": 987}
TournamentUpdateInput
| Field Name | Description |
|---|---|
end -
DateTime
|
|
start -
DateTime
|
|
entriesClose -
DateTime
|
|
entriesOpen -
DateTime
|
|
extensions -
[ExtensionInput]
|
|
formalName -
String
|
|
hostCountryCode -
CountryCode
|
|
indoorOutdoor -
IndoorOutdoorEnum
|
|
localTimeZone -
String
|
|
notes -
String
|
|
promotionalName -
String
|
|
season -
String
|
|
surfaceCategory -
SurfaceCategoryEnum
|
|
providerTournamentId -
String
|
|
level -
String
|
|
name -
String
|
|
withdrawalDeadline -
DateTime
|
|
subCategory -
TournamentSubCategoryEnum
|
Example
{
"end": DateTime,
"start": DateTime,
"entriesClose": DateTime,
"entriesOpen": DateTime,
"extensions": [ExtensionInput],
"formalName": "abc123",
"hostCountryCode": CountryCode,
"indoorOutdoor": IndoorOutdoorEnum,
"localTimeZone": "xyz789",
"notes": "xyz789",
"promotionalName": "abc123",
"season": "xyz789",
"surfaceCategory": SurfaceCategoryEnum,
"providerTournamentId": "xyz789",
"level": "abc123",
"name": "abc123",
"withdrawalDeadline": DateTime,
"subCategory": TournamentSubCategoryEnum
}
UpdateAccountPersonInput
| Input Field | Description |
|---|---|
emailAddress -
String
|
|
nativeGivenName -
String
|
|
nativeFamilyName -
String
|
|
sex -
SexEnum
|
|
birthDate -
Date
|
|
nationalityCode -
String
|
|
countryOfResidenceCode -
String
|
|
biographicalInformation -
BiographicalInformationInput
|
|
signUpType -
SignUpTypeEnum
|
|
parentEmailAddress -
String
|
|
parentFullName -
String
|
|
personaType -
PersonaTypeEnum
|
|
personaDetail -
String
|
|
whereDidYouHearAboutUs -
WhereDidYouHearEnum
|
|
whereDidYouHearDetail -
String
|
|
whereDidYouHearNa -
String
|
Example
{
"emailAddress": "abc123",
"nativeGivenName": "xyz789",
"nativeFamilyName": "xyz789",
"sex": SexEnum,
"birthDate": "2025-10-01T14:07:52.371Z",
"nationalityCode": "abc123",
"countryOfResidenceCode": "abc123",
"biographicalInformation": BiographicalInformationInput,
"signUpType": SignUpTypeEnum,
"parentEmailAddress": "abc123",
"parentFullName": "xyz789",
"personaType": PersonaTypeEnum,
"personaDetail": "xyz789",
"whereDidYouHearAboutUs": WhereDidYouHearEnum,
"whereDidYouHearDetail": "abc123",
"whereDidYouHearNa": "abc123"
}
UpdateTeamInput
| Field Name | Description |
|---|---|
providerId -
ID
|
|
extensions -
[ExtensionInput]
|
|
gender -
GenderEnum
|
|
name -
String
|
|
nativeTeamName -
String
|
|
notes -
String
|
|
color -
TeamColor
|
|
logoUrl -
String
|
Example
{
"providerId": ID,
"extensions": [ExtensionInput],
"gender": GenderEnum,
"name": "xyz789",
"nativeTeamName": "abc123",
"notes": "xyz789",
"color": TeamColor,
"logoUrl": "abc123"
}
UpsertBatchTournamentsResult
| Field Name | Description |
|---|---|
items -
[Tournament]
|
|
totalItems -
Int
|
|
batchErrors -
[String]
|
|
totalBatchErrors -
Int
|
Example
{
"items": [Tournament],
"totalItems": 987,
"batchErrors": ["xyz789"],
"totalBatchErrors": 987
}
ValidationError
| Field Name | Description |
|---|---|
keyword -
String
|
|
dataPath -
String
|
|
schemaPath -
String
|
|
params -
ValidationParams
|
|
message -
String
|
Example
{
"keyword": "abc123",
"dataPath": "xyz789",
"schemaPath": "abc123",
"params": ValidationParams,
"message": "abc123"
}
ValidationParams
| Field Name | Description |
|---|---|
missingProperty -
String
|
Example
{"missingProperty": "abc123"}
Venue
| Field Name | Description |
|---|---|
id -
ID!
|
|
name -
String
|
|
type -
String
|
|
courts -
[Court]
|
|
notes -
String
|
|
addresses -
[Address]
|
|
extensions -
[Extension]
|
|
providerVenueId -
ID
|
|
updatedAt -
DateTime
|
|
createdAt -
DateTime
|
Example
{
"id": ID,
"name": "xyz789",
"type": "xyz789",
"courts": [Court],
"notes": "xyz789",
"addresses": [Address],
"extensions": [Extension],
"providerVenueId": ID,
"updatedAt": DateTime,
"createdAt": DateTime
}
VenueFilterOptions
| Field Name | Description |
|---|---|
venueIds -
[ID]
|
|
providerVenueIds -
[ID]
|
|
providerIds -
[ID]
|
|
updatedAt -
DateOperators
|
|
createdAt -
DateOperators
|
Example
{
"venueIds": [ID],
"providerVenueIds": [ID],
"providerIds": [ID],
"updatedAt": DateOperators,
"createdAt": DateOperators
}
VenueInput
| Field Name | Description |
|---|---|
name -
String
|
|
courts -
[CourtInput]
|
|
notes -
String
|
|
type -
String
|
|
addresses -
[AddressInput]
|
|
extensions -
[ExtensionInput]
|
|
providerVenueId -
ID
|
|
updatedAt -
DateTime
|
|
createdAt -
DateTime
|
Example
{
"name": "abc123",
"courts": [CourtInput],
"notes": "xyz789",
"type": "xyz789",
"addresses": [AddressInput],
"extensions": [ExtensionInput],
"providerVenueId": ID,
"updatedAt": DateTime,
"createdAt": DateTime
}
WatchlistList
| Field Name | Description |
|---|---|
items -
[Watchlist!]
|
|
totalItems -
Int
|
Example
{"items": [Watchlist], "totalItems": 987}
WatchlistStats
| Field Name | Description |
|---|---|
minimumSinglesWorldTennisNumber -
Float
|
|
maximumSinglesWorldTennisNumber -
Float
|
|
meanSinglesWorldTennisNumber -
Float
|
|
minimumDoublesWorldTennisNumber -
Float
|
|
maximumDoublesWorldTennisNumber -
Float
|
|
meanDoublesWorldTennisNumber -
Float
|
Example
{
"minimumSinglesWorldTennisNumber": 123.45,
"maximumSinglesWorldTennisNumber": 123.45,
"meanSinglesWorldTennisNumber": 987.65,
"minimumDoublesWorldTennisNumber": 123.45,
"maximumDoublesWorldTennisNumber": 987.65,
"meanDoublesWorldTennisNumber": 987.65
}
WhereDidYouHearEnum
| Enum Value | Description |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WorldTennisNumber
| Field Name | Description |
|---|---|
confidence -
Float
|
|
ratingDate -
DateTime!
|
|
tennisNumber -
Float!
|
|
prevTennisNumber -
Float
|
|
type -
WorldTennisNumberTypeEnum!
|
|
gameZoneUpper -
Float
|
|
gameZoneLower -
Float
|
|
source -
RatingSourceEnum
|
|
isRanked -
Boolean
|
Example
{
"confidence": 987.65,
"ratingDate": DateTime,
"tennisNumber": 123.45,
"prevTennisNumber": 123.45,
"type": WorldTennisNumberTypeEnum,
"gameZoneUpper": 987.65,
"gameZoneLower": 123.45,
"source": RatingSourceEnum,
"isRanked": true
}
WorldTennisNumberFilterInput
| Input Field | Description |
|---|---|
type -
WorldTennisNumberTypeEnum
|
|
ratingDate -
DateOperators
|
Example
{
"type": WorldTennisNumberTypeEnum,
"ratingDate": DateOperators
}
WorldTennisNumberList
| Field Name | Description |
|---|---|
items -
[WorldTennisNumber!]
|
|
totalItems -
Int
|
Example
{"items": [WorldTennisNumber], "totalItems": 987}