USA Swimming

Third Party Vendor API Access

About USA Swimming API Access  

 

USA Swimming’s API program enables approved third-party vendors and partners to securely integrate with membership, registration, and performance data across the SWIMS platform. These integrations support the sport’s digital ecosystem and improve the experience for clubs, coaches, athletes, and families.

 

Access is not public and must be requested through a formal application process. All requests are reviewed based on alignment with USA Swimming’s mission, technical readiness, and data protection standards

 

Approved vendors may request access to specific API endpoints, including: Membership Details & Member Registration

 

Application Submission

USA Swimming offers limited API access to third-party vendors and partners who serve our members, clubs, coaches, and athletes. All external entities must apply through the official USA Swimming Stakeholder Engagement Page. Applications must include:

 

  • Company information and technical contact
  • Intended use case and justification
  • Requested endpoints or data scopes
  • Details of the system(s) where data will be integrated
  • Description of security protocols and data storage
Onboarding and Authentication

How the Process Works:

 

  1. Review our API Access Policy and Data Use Agreement

  2. Submit an application detailing your use case, technical contact, and requested endpoints

  3. Complete review and security checks by USA Swimming staff

  4. Access granted with credentials and documentation if approved

⚠️ USA Swimming reserves the right to approve or deny access based on alignment with our mission, compliance with data governance standards, and technical security.

 

All external access must go through a formal application and review process, and may be subject to tiered access levels, usage limits, and data protection agreements. API access is not automatically granted. 

 

 

Third-Party Vendor API Guide


The following sections provide technical documentation for vendors integrating with USA Swimming's SWIMS platform via API. These guides include instructions for authenticating requests, subscribing to event updates, understanding membership-related events, and reviewing available data fields. We recommend beginning with the Testing with Postman section to explore and validate API endpoints before live integration.

 

After obtaining a valid Thumbprint from USA Swimming, vendors can begin testing API requests using Postman. The Thumbprint must be included in the request headers, as demonstrated below.

  • If a request is made without the Thumbprint, the endpoint will return a 403 - Forbidden response
  • If a request is made with an invalid Thumbprint, the endpoint will return a 401 - Unauthorized response
  • If a request is made with a valid Thumbprint, the endpoint will return a 200 OK response along with the requested data

We will provide the ability for a vendor to "subscribe" to certain events that happen in SWIMS.

Vendors using events will also need to provide:

  • The URL where we will send the events
  • Optional: Vendors will create a certificate and provide to SWIMS the following, which will be sent with each event to ensure the security of our event endpoint:
    • ClientCertificate.pfx
    • Client Certificate Password

Member Actions

  • Member Registers
  • Member Renewal
  • Member Updated
  • Member Upgrade
  • Member Merges
  • Member Transfer From Club
  • Member Transfer To Club
  • Member Cancels

Generated when a member registers in SWIMS via the Online Member Registration (OMR).

Event Example:

{
    "eventSequence": 1234,
    "eventType": "Member Registration Complete",
    "clubId": "EFD6F74613444017B0DB1884AADBC117",
    "modifiedDatetime": "2022-09-13T22:52:28.882Z",
    "eventData": {
        "vendorId": "DB1884AADBC117",
        "memberId": "string"
    }
}

After Receiving the Above Event

GET: /swims/getMemberDetails/{clubId}/?memberId={memberId}&lastModified={lastModified}
  • IF: new member → Add member data to the roster.
  • IF: renewing member → Update member data in the roster.

Generated when a member is updated within SWIMS.

Event Example:

{
    "eventSequence": 1234,
    "eventType": "Member Updated",
    "clubId": "EFD6F74613444017B0DB1884AADBC117",
    "modifiedDatetime": "2022-09-13T22:52:28.882Z",
    "eventData": {
        "memberId": "string"
    }
}

After Receiving the Above Event

GET: /swims/getMemberDetails/{clubId}/?memberId={memberId}

Update member data in the roster.

Generated when two Member IDs are merged within SWIMS.

Event Example:

{
  "eventSequence": 1234,
  "eventType": "Member Merge",
  "clubId": "1500B689DCAA42BD9484618C634DDEF0",
  "modifiedDatetime": "2022-09-13T22:52:28.882Z",
  "eventData": {
    "oldClubId": "1500B689DCAA42BD9484618C634DDEF0",
    "oldMemberId": "B71E543DBAB6BE",
    "newClubId": "6C5D210FBE0549C3A9F269E07A411E95",
    "newMemberId": "7F5564C5585A97"
  }
}

After Receiving the Above Event

GET: /swims/getMemberDetails/{clubId}/?memberId={memberId}
  • IF: Member Merge is within the same club → One event if you are the vendor of the club.
  • IF: Member Merge is across clubs and you are the vendor for the destination club → One event if you are not the vendor for the source club.
  • IF: Member Merge is across clubs and you are the vendor for the source club → One event if you are not the vendor for the destination club.
  • IF: Member Merge is across clubs → Two events if you are the vendor for both the source and destination clubs. Ignore the second event.

A special set of events occurs when a member transfers clubs.

  • In SWIMS, the transfer is initiated from the Member Details Page by clicking the Initiate Transfer link.
  • The new club is entered, along with other necessary transfer details.
  • This process creates two new events:
    • Member Transfer From Club Event → Sent to the club the member is transferring out of.
    • Member Transfer To Club Event → Sent to the club the member is transferring into.

Note:
The Vendor Software will only receive both events if both clubs are activated for the vendor.

Similar to the Member Registration Event, the vendor software must reconcile the member data in their system.

Vendor Actions for Transfers:

  • IF: the member is not found in the vendor’s system
    THEN: Create the member in the vendor’s system.
  • IF: the member already exists in the vendor’s system
    THEN: Update the member information and perform any necessary club transfer procedures in the vendor’s system.

In both cases, the vendor must call the following endpoint to retrieve updated member details:

GET: /swims/getMemberDetails/{clubId}/?memberId={memberId}

The Member Cancels Event notifies the vendor that a member has canceled their membership with the club associated with the vendor.


Club Deactivates Vendor

A club activates or deactivates a vendor in SWIMS. This event is generated when a club selects and approves a vendor in SWIMS.


Event Example:

{
  "eventSequence": "002",
  "eventType": "Member Updated",
  "clubId": "EFD6F74613444017B0DB1884AADBC117",
  "modifiedDatetime": "2022-09-13T22:52:28.882Z",
  "eventData": {
    "clubId": "string"
  }
}

After Receiving the Event

  1. Get a list of clubs for a vendor
    GET: /swims/getVendorClubs/vendor
  2. For all new clubs, add members to the club roster
    GET: /swims/getMemberDetails/club/{clubId}
  3. Populate tables with a complete club roster
competitionCategory:
Stated as male or female for the purpose of athlete swimming eligibility, competition, selection, and records. An athlete's stated competition category shall be referred to as "gender."
contactRelationship:
Denotes the relationship between the member and their primary contact.
emailAddress:
Denotes a valid email address.
isUsCitizen:
Denotes whether or not the member is a US Citizen.
memberships:
Denotes which offering instances (e.g., Coach, Official, Premium Athlete, etc.) are included in a registration.
phoneType:
Denotes which type of phone has been entered (cell, home, or work).
athleteOfferingsOptIn:
Denotes a club’s decision to use the Club Bulk Renewal tool for athlete renewals. When true, clubs handle all athlete renewals. When false, athletes handle their own renewals.
nonAthleteOfferingsOptIn:
Denotes a club’s decision to use the Club Bulk Renewal tool for non-athlete renewals. When true, clubs handle all non-athlete renewals. When false, non-athletes handle their own renewals.
memberId:
A randomly generated 14-character alphanumeric ID that serves as a member’s unique identifier.
oldUsasId:
The old USA Swimming 14-character ID derived from the first name, middle initial, last name, and birthdate.
firstName:
The first name of a member as listed in SWIMS.
preferredName:
The name a member prefers to be called, as listed in SWIMS.
middleName:
The middle name of a member as listed in SWIMS.
lastName:
The last name of a member as listed in SWIMS.
suffix:
A designation following the member’s full name, including generational (e.g., Sr., Jr.) or honorary titles (e.g., Esq., Ph.D.).
maidenName:
The maiden name of a member as listed in SWIMS.
birthDate:
The date of birth of a member as listed in SWIMS.
contactInformation / primaryContactInfo:
A member’s primary contact (Guardian/Emergency Contact, depending on age) listed in SWIMS.
contactFirstName:
The first name of a member’s primary contact.
contactLastName:
The last name of a member’s primary contact.
contactEmail:
The email address of a member’s primary contact.
contactPhone:
The phone number of a member’s primary contact.
registrationDate:
The date of a member's registration.
expirationDate:
The date that a member’s registration expires. This date is inclusive, meaning that the member’s registration is in good standing through that date.
offeringId:
The ID of the registration type.
registrationId:
An internal Primary Key (PK) reference to the registration.
registrationType:
Descriptor for the registration type.
registrationTypeId:
A reference to the type of registration that occurred (Coach, Premium Athlete, Flex, etc.).
transactionType:
The type of registration transaction (Registration, Upgrade, or Cancel).
usasFee:
USA Swimming’s membership fee. For upgrades, this field shows the difference between the original USAS fee and the upgraded membership USAS fee.
lscFee:
The member’s Local Swimming Committee (LSC) membership fee. For upgrades, this field shows the difference between the original LSC fee and the upgraded membership LSC fee.
lscCode:
The alphabetic code identifying the LSC (e.g., CO, AZ, AD, etc.).
isRenewal:
Indicates whether the registration is for an existing or a new member.
isAttached:
Indicates whether the member is attached to a club at that moment in time. There is a waiting period between when a member leaves a club and when they transfer to a new club.
attachedDate:
The date a member officially attaches to a club.
memberGoodStandingExpirationDate:
The date a member is no longer "In Good Standing." This date is inclusive, meaning the member remains in good standing through that date.
In Good Standing:
A status indicating that all membership requirements for a given registration type are met. For example, an 18+ year-old athlete must complete Athlete Protection Training to be considered "In Good Standing."
clubId:
An alphanumeric ID serving as a club’s unique identifier.
clubCode:
A Globally Unique Identifier (GUID) representing the club.
clubName:
The official name of the club.
vendorId:
An alphanumeric ID serving as a vendor’s unique identifier.
vendorRecordId:
A value that vendors send to USA Swimming to track member registrations.
Upgrade:
When a member upgrades their membership, their initial membership expires (expiration date is set to the previous day). A new registration record is created with a registration date of today and an expiration date at the end of the season.

eventSequence:
A calculated value that is distinct per vendor, defining the sequence in which events occur.


eventTypeId:
An internal Primary Key (PK) reference to the event type.


eventType:
The name of the event that occurred (e.g., Member Updated).


eventData:
A stringified JSON object containing various event-related data, depending on the event type.



© Copyright 2025 USA Swimming. All Rights Reserved. Privacy Policy Terms & Conditions Personal Data Request Form