Base URL
/api.
Authentication
All endpoints (except the public ones listed below) require a JWT access token in theAuthorization header:
Token refresh
When the access token expires, use the refresh token to get a new pair without re-authenticating:Tenant context
The tenant (church) is determined from the JWT. When logging in, passchurchName as the tenant slug. All subsequent requests are automatically scoped to that tenant — no extra header is needed.
Public endpoints
These endpoints do not require authentication:Response format
All responses are JSON. Successful responses return the requested data directly (no wrapper envelope). Errors return a standard NestJS error shape:Pagination
List endpoints acceptpage and limit query parameters: