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
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.
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:
ClientCertificate.pfx
Client Certificate Password
Member Actions
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}
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}
A special set of events occurs when a member transfers clubs.
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:
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.
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
GET: /swims/getVendorClubs/vendor
GET: /swims/getMemberDetails/club/{clubId}
true
, clubs handle all athlete renewals. When false
, athletes handle their own renewals.true
, clubs handle all non-athlete renewals. When false
, non-athletes handle their own renewals.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.