Swagger API Documentation ========================= TouchPoint provides an interactive API documentation site powered by `Swagger UI `_. This site lets you explore all available API endpoints, review request and response formats, and test calls directly from your browser. **API Documentation Site:** `https://api.tpsdb.com/api/swagger/ui `_ What You Can Do --------------- - Browse all available REST API endpoints organized by category - View required and optional parameters for each endpoint - Inspect example request and response schemas - Execute live API calls directly from the browser using your credentials Authentication -------------- Most endpoints require authentication. The Swagger UI supports authenticating with a **Personal Access Token (PAT)**, which is the recommended method. .. seealso:: :doc:`PersonalAccessTokens` To authenticate in Swagger UI: 1. Generate a PAT using the ``api/v1/Account/CreateUserAccessToken`` endpoint (or use an existing one). 2. Click the **Authorize** button at the top right of the Swagger UI page. 3. Enter your token in the format ``PAT `` and click **Authorize**. Once authorized, subsequent calls made from the Swagger UI will include your token automatically. .. note:: The Swagger UI connects to the live API. Any write operations (POST, PUT, DELETE) performed through the UI will affect real data. The CmsHost Header ------------------ Because the Swagger UI is hosted at the shared ``api.tpsdb.com`` domain rather than your church's own URL, most endpoints require a ``CmsHost`` header so that the API knows which church database to direct the request to. Set the ``CmsHost`` header to your church's TouchPoint subdomain — for example:: CmsHost: mychurch You can provide this header in two ways: - **Per-request** — Add it manually in the request headers panel when expanding an endpoint in Swagger UI. - **Globally via Authorize** — Click the **Authorize** button, find the ``CmsHost`` field, enter your hostname, and click **Authorize**. This applies the header to all subsequent requests automatically, alongside your PAT. .. tip:: When building a real integration that calls your church's URL directly (e.g., ``https://mychurch.tpsdb.com/api/v1/...``), the ``CmsHost`` header is **not needed** — the hostname is already embedded in the URL itself. The header is only required when routing requests through the shared Swagger host. | | +--------------------+------------------+ | **Latest Update** | **04/21/2026** | +--------------------+------------------+ Initial documentation for Swagger API Documentation Site