Skip to main content

Base URL

All API paths are prefixed with /api.

Authentication

All endpoints (except the public ones listed below) require a JWT access token in the Authorization header:
Obtain a token by logging in:
Response:

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, pass churchName 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 accept page and limit query parameters:
Paginated responses include metadata:

Interactive docs

The Swagger UI is available in non-production environments at:

Modules