Skip to content
Open MySummitKeep

API Reference

MySummitKeep runs on a REST API at https://api.mysummitkeep.com, and most of it powers the web app you already use. A full public reference — OpenAPI specification, authentication walkthroughs, and code samples — is rolling out with our developer portal.

A handful of endpoints are intentionally public (no sign-in required) and are stable enough to rely on right now. These are the only fully anonymous parts of the surface:

  • Per-unit calendar feedGET /api/v1/calendar-integration/ical/{feedToken} returns your unit’s schedule as a standard text/calendar (iCal) feed. The feedToken is a signed, per-unit token a leader generates from the iCal Feed card on the Settings → Calendar page (requires the Manage Settings permission); anyone with the link can subscribe in Google Calendar, Apple Calendar, or Outlook without logging in. A leader can disable or regenerate the token at any time, which instantly invalidates the old link. See the iCal feed section of the Google Calendar integration guide for how to create and share the feed.
  • Knowledge Base (read-only)GET /api/v1/kb lists published help articles (supports category, search, page, and pageSize query parameters, up to 100 per page), and GET /api/v1/kb/{id} returns one published article. Only published articles are ever returned; drafts and internal notes stay private.
  • Docs AskPOST /api/v1/docs/ask answers a plain-language question against this documentation site and returns an answer plus the source pages it drew from. It is rate-limited to 5 requests per minute per IP address because it calls an AI model; exceed that and you will get an HTTP 429. This is the endpoint behind the “Ask” search box on the docs site.

Everything else requires a Microsoft Entra External ID bearer token — the same token your browser obtains when you sign in to the app. Pass it as an Authorization: Bearer ... header. These endpoints enforce your unit membership and role, so you only ever see data you are authorized to see.

A useful example is the unit-switching lookup:

  • GET /api/v1/members/my-units — returns every unit your account belongs to, identified by your immutable Object ID (OID), not your email. This is what powers the unit picker in the app.
Terminal window
curl -H "Authorization: Bearer $TOKEN" \
https://api.mysummitkeep.com/api/v1/members/my-units

Most authenticated endpoints return a consistent envelope:

{
"success": true,
"data": {},
"errors": []
}

Paginated list endpoints add a meta object alongside those fields with page, pageSize, totalCount, and totalPages. When an unhandled error occurs, the error response carries a traceId you can quote in a support ticket.

The following are planned and not yet available. We will announce each here as it ships:

  • Self-service developer-key issuance and per-key rate limiting
  • A stable, supported, versioned OpenAPI specification published as part of the portal
  • Webhook subscriptions for advancement, RSVP, and payment events
  • A sandbox environment with seeded fake-unit data for safe testing
  • A per-key usage and rate-limit dashboard

The API does already serve an auto-generated OpenAPI document and an interactive Swagger UI at /swagger. It reflects the current implementation rather than a supported public contract, so treat it as a reference for exploration only — the endpoints it lists outside the public set above still require sign-in and may change without notice until the portal ships.

The public endpoints listed above are stable. We will not change their response shapes or break their URL paths without:

  • A deprecation notice posted on this page well ahead of any change
  • A side-by-side /api/v2/... path during any transition
  • Direct notice to customers running known integrations against the affected endpoints

For API and integration questions, open a support ticket inside the app and choose category API / Integration. For general help while you wait for the portal, the Knowledge Base and the docs-site search are the fastest ways to find answers.