Skip to main content

Contracts

Volunteer Serving uses two authenticated contracts:
  • Staff administration endpoints under /api/volunteer-serving require an authenticated administrator and the permission listed for the action.
  • Member endpoints under /v2/volunteer require the signed-in member’s bearer token and always resolve records inside that member’s church.
These endpoints power TheFaithApp’s web dashboard and Flutter app. Existing partner apps should continue using the published v1 Volunteer Opportunity endpoints unless first-party Volunteer Hub access has been agreed for that app.

Staff Permissions

An administrator may have more than one permission. Read responses omit sensitive fields unless the token has volunteer_sensitive.

Staff Endpoints

Publishing a plan changes named draft assignments to invited and empty assignments to unfilled. When coverage or eligibility warnings exist, the request must explicitly send confirm_warnings: true after a human review. Safety-clearance failures cannot be overridden.

Member Endpoints

The hub response includes the member’s own profile, team memberships, availability, blockouts, assignments, eligible open roles, active Volunteer Opportunities, training records, and opted-in recognition. It excludes private leader notes, eligibility notes, clearance values, health flags, and another member’s schedule.

Calendar Feed

GET /api/public/volunteer/calendar/{token}.ics returns the member’s published serving commitments as iCalendar data. Treat the random token as a secret: never log it, include it in analytics, or place it in a public page. A call to POST /v2/volunteer/calendar/rotate immediately invalidates the old URL and returns a profile containing the replacement URL.

Reminder Delivery

The scheduled volunteers:send-reminders workflow creates idempotent assignment and training reminders. It respects quiet hours, category/channel preferences, and active email or confirmed SMS consent before dispatching through existing communication providers.