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.
Public endpoints that ship today
Section titled “Public endpoints that ship today”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 feed —
GET /api/v1/calendar-integration/ical/{feedToken}returns your unit’s schedule as a standardtext/calendar(iCal) feed. ThefeedTokenis 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/kblists published help articles (supportscategory,search,page, andpageSizequery parameters, up to 100 per page), andGET /api/v1/kb/{id}returns one published article. Only published articles are ever returned; drafts and internal notes stay private. - Docs Ask —
POST /api/v1/docs/askanswers 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.
Endpoints behind your sign-in
Section titled “Endpoints behind your sign-in”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.
curl -H "Authorization: Bearer $TOKEN" \ https://api.mysummitkeep.com/api/v1/members/my-unitsMost 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.
Coming with the developer portal
Section titled “Coming with the developer portal”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.
Stability commitments
Section titled “Stability commitments”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
Support
Section titled “Support”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.
