Enterprise: the API, webhooks and MCP server are live for schools on the Enterprise plan. The owner allows every key and AI connection. Ask about Enterprise

On this page

Private Connectors

Private connectors

Use the same scoped API and approval rules from Zapier, Make or n8n. Each connection has its own app key and webhook subscriptions.

Connect an app

  1. Open Settings → Developers & Integrations → Apps. The owner creates a dedicated key for the intended app and reviews its preset permissions and locations.
  2. Use the supplied private installation link/package for that platform. A tile shows an install link only after a real private URL is configured; these packages are not a claim of public marketplace availability.
  3. Choose Live or DEV sandbox in the connector, then enter its dedicated key. A sandbox needs a provisioned school and sk_test_ key.
  4. Use a stable source action id as the operation key. A pending approval remains pending in Swummy; enrollment confirmation and fee payment stay with the family.

App keys are typed as app:zapier, app:make or app:n8n. General API keys and OAuth agents cannot manage these app-owned subscriptions. The App Webhooks reference covers all four lifecycle routes.

Signed subscriptions

Create a subscription with POST /v1/webhook_endpoints, providing a public HTTPS url, supported events and optional location_ids. Store the returned secret securely. Get its status, fetch a retained canonical event, and disable it with the same app key. POST and DELETE require Idempotency-Key. A key can subscribe only to event areas it can read, within its locations.

PlatformDelivery handling
ZapierPrivate REST-hook triggers verify the exact incoming raw bytes and signature before emitting an event.
n8nThe private trigger manages create/check/delete lifecycle and verifies raw bytes. Protect the signing secret in workflow static data; verify raw-body support on the intended instance.
MakeThe private instant trigger retrieves the canonical event through the authenticated app-owned event endpoint. Incoming family/payment fields alone are not trusted. Optional raw-byte HMAC support requires the intended custom-app account features.

Verify signatures before trusting a payload, deduplicate event ids, and keep side effects repeat-safe. Disabling/revoking a connection prevents new deliveries under that authority. Reconnect requires current scopes and resets the endpoint failure interval.

Actions and approvals

The supplied connector actions include finding families/swimmers, creating a family, adding a swimmer, requesting class enrollment, marking attendance and sending in-app messages as supported by each package. Their permissions, current roster checks and owner approvals use the same backend as REST/MCP. The full API reference is the contract for custom requests; each package exposes its own selected modules.

Paid enrollment is a family-confirmed request, never an API charge. The general enrollment API additionally supports a verified free occurrence with mode=free and instance_id. There are no connector actions for refunds, payouts, bank/plan changes or family/swimmer deletion.

Existing connections

Booking Intake credentials remain intake-only, with their legacy headers supported; they do not gain general roster access. Existing Attributed Links integrations have a controlled migration path to signed app deliveries. Review and migrate each intended connection; this documentation does not imply a bulk migration has run or that both old and new senders should be enabled together.

TipPartner installation, private invite URLs and each platform’s trigger/action acceptance must be verified for the intended school. Keep installation and listings private until the planned launch.