Skip to content

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 revocation

A 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

MethodOperationWhat it doesScope
POST/api/v1/ops/accounts.closeClose an account
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/accounts.reopenReopen a closed account
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/accounts.suspendSuspend an account
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/accounts.unsuspendReactivate a suspended account
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write

Camp

MethodOperationWhat it doesScope
POST/api/v1/ops/camp.attendance.setMark camp attendance
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.registrations.cancelCancel a camp registration
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.registrations.createRegister a swimmer for camp
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
GET/api/v1/ops/camp.registrations.listList camp week registrations
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:read
POST/api/v1/ops/camp.registrations.transferTransfer a camp registration to another week
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.registrations.update_intakeEdit a camp registration's intake details
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.waitlist.promoteOffer the next camp waitlist spot
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.waitlist.removeRemove a household from a camp waitlist
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.waitlist.reorderReorder a camp waitlist entry
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.waitlist.reorder/previewPreview: Reorder a camp waitlist entry
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.weeks.archiveArchive a completed camp week
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.weeks.archive/previewPreview: Archive a completed camp week
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.weeks.cancelCancel a camp week
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.weeks.createCreate a camp week
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.weeks.create/previewPreview: Create a camp week
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.weeks.deleteDelete a camp week
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
GET/api/v1/ops/camp.weeks.getGet a camp week
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:read
GET/api/v1/ops/camp.weeks.listList camp weeks
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:read
POST/api/v1/ops/camp.weeks.set_statusOpen or close a camp week
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.weeks.set_status/previewPreview: Open or close a camp week
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.weeks.updateUpdate a camp week
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write
POST/api/v1/ops/camp.weeks.update/previewPreview: Update a camp week
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

camp:write

Households

MethodOperationWhat it doesScope
POST/api/v1/ops/households.add_noteAdd a household note
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.add_tagAdd a member tag
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.add_to_waitlistAdd a household to the waitlist
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.add_to_waitlist/previewPreview: Add a household to the waitlist
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.bulk_add_tagBulk add a tag
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.bulk_add_tag/previewPreview: Bulk add a tag
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.bulk_remove_tagBulk remove a tag
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.bulk_remove_tag/previewPreview: Bulk remove a tag
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.bulk_updateBulk update members
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.consolidate_prospectConsolidate a prospect household
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.createAdd a household
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.create_invoiceCreate an ad-hoc invoice
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/households.create_payableQueue a bond refund payable
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/households.create/previewPreview: Add a household
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
GET/api/v1/ops/households.getGet a household
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:read
POST/api/v1/ops/households.grant_extensionGrant a renewal extension
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.invite_adultInvite an adult to the household
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.issue_creditIssue a credit
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
GET/api/v1/ops/households.listList households
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:read
POST/api/v1/ops/households.mergeMerge two households
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.move_adultMove an adult to another household
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.provision_portal_accessProvision portal login
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.record_membershipAdd a missing membership
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/households.remove_tagRemove a member tag
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.restore_dependentPut a removed family member back
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.restore_dependent/previewPreview: Put a removed family member back
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.reverse_mergeUndo a household merge
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.revoke_extensionRevoke a renewal extension
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.revoke_invitationRevoke a household invitation
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.set_email_opt_inBulk set email opt-in
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.set_member_opt_inChange one member's email/text opt-in
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.set_primary_contactSet primary contact
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.set_sms_opt_inBulk set SMS opt-in
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.stop_adhoc_collectionStop collecting other charges from a household's bank accounts
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/households.transfer_ownerTransfer household ownership
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.turn_off_autopayTurn off a household's autopay
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/households.unbind_sms_loginUnlink text sign-in
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.updateUpdate a household
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.update_dependentUpdate a family member's details
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.update_dependent/previewPreview: Update a family member's details
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.update_emailChange a member's sign-in email
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.update_memberUpdate a member's profile
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.update_member_phoneChange a member's phone number
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.update_member/previewPreview: Update a member's profile
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write
POST/api/v1/ops/households.update/previewPreview: Update a household
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:write

Invoices

MethodOperationWhat it doesScope
POST/api/v1/ops/invoices.add_adjustmentAdd an adjustment line to an invoice
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/invoices.apply_creditApply a household credit to an invoice
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/invoices.bulk_createBulk create ad-hoc invoices
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/invoices.clear_checksMark checks cleared
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/invoices.clear_checks/previewPreview: Mark checks cleared
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
GET/api/v1/ops/invoices.getGet an invoice
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:read
GET/api/v1/ops/invoices.listList invoices
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:read
POST/api/v1/ops/invoices.record_checkRecord a check payment
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/invoices.record_check/previewPreview: Record a check payment
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/invoices.refundRefund a Stripe payment
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/invoices.return_checkMark a check returned (bounced)
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
POST/api/v1/ops/invoices.reverse_cleared_checkReverse a cleared check (bounced after clearing)
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write
GET/api/v1/ops/invoices.uncleared_checks.listList checks waiting to clear
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:read
POST/api/v1/ops/invoices.voidVoid an invoice
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

invoices:write

Memberships

MethodOperationWhat it doesScope
GET/api/v1/ops/memberships.listList memberships
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

members:read

Payables

MethodOperationWhat it doesScope
GET/api/v1/ops/payables.listList refund payables
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

payables:read

Relinquishments

MethodOperationWhat it doesScope
POST/api/v1/ops/relinquishments.approveApprove a relinquishment
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

relinquishments:write
POST/api/v1/ops/relinquishments.denyDeny a relinquishment
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

relinquishments:write
GET/api/v1/ops/relinquishments.listList relinquishments
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

relinquishments:read

Waitlist

MethodOperationWhat it doesScope
GET/api/v1/ops/waitlist.listList the waitlist
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

waitlist:read
POST/api/v1/ops/waitlist.offerOffer a waitlist spot
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

waitlist:write
POST/api/v1/ops/waitlist.offer_batchSend offers to the top of the waitlist
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

waitlist:write
POST/api/v1/ops/waitlist.reorderReorder the waitlist
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

waitlist:write
POST/api/v1/ops/waitlist.reorder/previewPreview: Reorder the waitlist
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

waitlist:write
POST/api/v1/ops/waitlist.resend_offerResend a waitlist offer
Details

Parameters, request body and response schemas for this operation are in the OpenAPI JSON document.

waitlist:write

Platform

MethodOperationWhat it doesScope
GET/api/v1/openapi.jsonThis document
Details

Parameters, 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 run
Details

Parameters, 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.