Skip to main content
The FITsociety Public API lives under:
Use this API for server-to-server integrations that need direct REST resources, such as creating clients from an external CRM or automation platform. The Public API is separate from the MCP server. MCP clients continue to use /mcp/v1 and the MCP OAuth metadata. Access-device validation also lives under /public/v1, but it is a separate device contract. QR gates, badge scanners, and door controllers use /public/v1/access/* with device-key authentication.

Route families

Current v1 scope

The first Public API resources are:
Invoice and payment list/detail resources remain read-focused. Public API write actions for reminders, invoice copies, payment requests, subscription action requests, memberships, products, and credits use guarded DTOs and reject raw pricing/provider internals. Invoice PDF access returns metadata for an existing generated PDF and a short-lived download URL; it does not create or regenerate invoice PDFs.

Response shape

OAuth token responses use the standard OAuth shape:
Bearer resource auth errors use the same developer-facing error envelope as resource errors:
Bearer resource controllers return explicit Public API envelopes:
Access-device endpoints and provider webhook receiver callbacks do not use this envelope. See the Access Devices section for the /public/v1/access/* response and auth contract. See the Webhooks page for outbound webhook management resources, which do use the Bearer Public API envelope.

Rate limits

Bearer Public API resource requests are currently limited per Public API client to 10 requests per second. Successful and failed authenticated resource responses include rate-limit data in meta.rateLimit and both standard and legacy rate-limit headers: