Developer documentation
Your workflows.
Connected by design.
Connect your club to the tools you already use. Start with a scoped API key, make a request, and explore the reference generated from Swim Ops itself.
Start with a read.
Create a key in your club’s console under API keys in the Club section of the navigation. Choose the scopes your integration needs and store the key in its secure configuration. For this example, include members:read.
Set SWIMOPS_ORIGIN to your club’s HTTPS origin and SWIMOPS_API_KEY to your key in your local environment, then request the first page of households:
curl --get "$SWIMOPS_ORIGIN/api/v1/ops/households.list" \
--header "Authorization: Bearer $SWIMOPS_API_KEY" \
--data-urlencode "limit=25"Use your club’s host, not swimops.io. Monetary values are integer cents. Follow each operation’s response schema for its result and pagination fields.
API key setup and revocationA few useful conventions.
- Authentication
- Send your scoped key in the Authorization: Bearer header. Missing or invalid keys return 401; insufficient access returns 403.
- Operation paths
- The reference lists the HTTP method for each /api/v1/ops/<name> operation. GET inputs use query parameters; POST inputs use a JSON body.
- Write requests
- Supply an Idempotency-Key for supported writes. Reuse the same key and body when retrying the same request. Some operations require a preview and confirmation; follow their documented flow.
- Conflicts & limits
- A 409 response can mean confirmation is required, a key conflict, a request still running, or an abandoned request. Check the error before retrying. For rate limits (429), respect Retry-After.
- Access boundaries
- API keys are scoped to a club and do not expose every staff action. Use the connected AI workflow for supported actions that need browser approval.
Generated from the platform
Explore the endpoints.
Every operation the platform exposes, grouped by what it works on. Scope is the API key permission an operation needs; a dash means the route needs no scope of its own. Expand an operation for its parameters, request body, and response schemas.
98 operations · API 2.0.0
Accounts
| Method | Operation | What it does | Scope |
|---|---|---|---|
| POST | /api/v1/ops/accounts.close | Close an accountDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/accounts.reopen | Reopen a closed accountDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/accounts.suspend | Suspend an accountDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/accounts.unsuspend | Reactivate a suspended accountDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
Camp
| Method | Operation | What it does | Scope |
|---|---|---|---|
| POST | /api/v1/ops/camp.attendance.set | Mark camp attendanceDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.registrations.cancel | Cancel a camp registrationDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.registrations.create | Register a swimmer for campDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| GET | /api/v1/ops/camp.registrations.list | List camp week registrationsDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:read |
| POST | /api/v1/ops/camp.registrations.transfer | Transfer a camp registration to another weekDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.registrations.update_intake | Edit a camp registration's intake detailsDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.waitlist.promote | Offer the next camp waitlist spotDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.waitlist.remove | Remove a household from a camp waitlistDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.waitlist.reorder | Reorder a camp waitlist entryDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.waitlist.reorder/preview | Preview: Reorder a camp waitlist entryDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.weeks.archive | Archive a completed camp weekDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.weeks.archive/preview | Preview: Archive a completed camp weekDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.weeks.cancel | Cancel a camp weekDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.weeks.create | Create a camp weekDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.weeks.create/preview | Preview: Create a camp weekDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.weeks.delete | Delete a camp weekDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| GET | /api/v1/ops/camp.weeks.get | Get a camp weekDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:read |
| GET | /api/v1/ops/camp.weeks.list | List camp weeksDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:read |
| POST | /api/v1/ops/camp.weeks.set_status | Open or close a camp weekDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.weeks.set_status/preview | Preview: Open or close a camp weekDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.weeks.update | Update a camp weekDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
| POST | /api/v1/ops/camp.weeks.update/preview | Preview: Update a camp weekDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | camp:write |
Households
| Method | Operation | What it does | Scope |
|---|---|---|---|
| POST | /api/v1/ops/households.add_note | Add a household noteDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.add_tag | Add a member tagDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.add_to_waitlist | Add a household to the waitlistDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.add_to_waitlist/preview | Preview: Add a household to the waitlistDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.bulk_add_tag | Bulk add a tagDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.bulk_add_tag/preview | Preview: Bulk add a tagDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.bulk_remove_tag | Bulk remove a tagDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.bulk_remove_tag/preview | Preview: Bulk remove a tagDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.bulk_update | Bulk update membersDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.consolidate_prospect | Consolidate a prospect householdDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.create | Add a householdDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.create_invoice | Create an ad-hoc invoiceDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/households.create_payable | Queue a bond refund payableDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/households.create/preview | Preview: Add a householdDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| GET | /api/v1/ops/households.get | Get a householdDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:read |
| POST | /api/v1/ops/households.grant_extension | Grant a renewal extensionDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.invite_adult | Invite an adult to the householdDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.issue_credit | Issue a creditDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| GET | /api/v1/ops/households.list | List householdsDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:read |
| POST | /api/v1/ops/households.merge | Merge two householdsDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.move_adult | Move an adult to another householdDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.provision_portal_access | Provision portal loginDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.record_membership | Add a missing membershipDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/households.remove_tag | Remove a member tagDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.restore_dependent | Put a removed family member backDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.restore_dependent/preview | Preview: Put a removed family member backDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.reverse_merge | Undo a household mergeDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.revoke_extension | Revoke a renewal extensionDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.revoke_invitation | Revoke a household invitationDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.set_email_opt_in | Bulk set email opt-inDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.set_member_opt_in | Change one member's email/text opt-inDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.set_primary_contact | Set primary contactDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.set_sms_opt_in | Bulk set SMS opt-inDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.stop_adhoc_collection | Stop collecting other charges from a household's bank accountsDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/households.transfer_owner | Transfer household ownershipDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.turn_off_autopay | Turn off a household's autopayDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/households.unbind_sms_login | Unlink text sign-inDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.update | Update a householdDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.update_dependent | Update a family member's detailsDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.update_dependent/preview | Preview: Update a family member's detailsDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.update_email | Change a member's sign-in emailDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.update_member | Update a member's profileDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.update_member_phone | Change a member's phone numberDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.update_member/preview | Preview: Update a member's profileDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
| POST | /api/v1/ops/households.update/preview | Preview: Update a householdDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:write |
Invoices
| Method | Operation | What it does | Scope |
|---|---|---|---|
| POST | /api/v1/ops/invoices.add_adjustment | Add an adjustment line to an invoiceDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/invoices.apply_credit | Apply a household credit to an invoiceDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/invoices.bulk_create | Bulk create ad-hoc invoicesDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/invoices.clear_checks | Mark checks clearedDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/invoices.clear_checks/preview | Preview: Mark checks clearedDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| GET | /api/v1/ops/invoices.get | Get an invoiceDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:read |
| GET | /api/v1/ops/invoices.list | List invoicesDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:read |
| POST | /api/v1/ops/invoices.record_check | Record a check paymentDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/invoices.record_check/preview | Preview: Record a check paymentDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/invoices.refund | Refund a Stripe paymentDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/invoices.return_check | Mark a check returned (bounced)DetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| POST | /api/v1/ops/invoices.reverse_cleared_check | Reverse a cleared check (bounced after clearing)DetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
| GET | /api/v1/ops/invoices.uncleared_checks.list | List checks waiting to clearDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:read |
| POST | /api/v1/ops/invoices.void | Void an invoiceDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | invoices:write |
Memberships
| Method | Operation | What it does | Scope |
|---|---|---|---|
| GET | /api/v1/ops/memberships.list | List membershipsDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | members:read |
Payables
| Method | Operation | What it does | Scope |
|---|---|---|---|
| GET | /api/v1/ops/payables.list | List refund payablesDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | payables:read |
Relinquishments
| Method | Operation | What it does | Scope |
|---|---|---|---|
| POST | /api/v1/ops/relinquishments.approve | Approve a relinquishmentDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | relinquishments:write |
| POST | /api/v1/ops/relinquishments.deny | Deny a relinquishmentDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | relinquishments:write |
| GET | /api/v1/ops/relinquishments.list | List relinquishmentsDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | relinquishments:read |
Waitlist
| Method | Operation | What it does | Scope |
|---|---|---|---|
| GET | /api/v1/ops/waitlist.list | List the waitlistDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | waitlist:read |
| POST | /api/v1/ops/waitlist.offer | Offer a waitlist spotDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | waitlist:write |
| POST | /api/v1/ops/waitlist.offer_batch | Send offers to the top of the waitlistDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | waitlist:write |
| POST | /api/v1/ops/waitlist.reorder | Reorder the waitlistDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | waitlist:write |
| POST | /api/v1/ops/waitlist.reorder/preview | Preview: Reorder the waitlistDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | waitlist:write |
| POST | /api/v1/ops/waitlist.resend_offer | Resend a waitlist offerDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | waitlist:write |
Platform
| Method | Operation | What it does | Scope |
|---|---|---|---|
| GET | /api/v1/openapi.json | This documentDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | — |
| GET | /api/v1/runs/{id} | Check on an async operation's runDetailsParameters, request body and response schemas for this operation are in the OpenAPI JSON document. | — |
Data schemas.
Schema references in the operations above resolve to these definitions. Expand any operation to load them, or use the complete OpenAPI JSON document.