openapi: 3.0.3 info: title: Breeze ChMS Account Volunteers API description: The Breeze ChMS API is a documented REST API for Breeze church management software. It is scoped to an individual church subdomain (https://{subdomain}.breezechms.com/api) and covers people, tags, events, check-in / attendance, giving (contributions), funds, pledge campaigns, custom forms, volunteers, and account administration. Every operation is an HTTP GET request whose inputs are supplied as query-string parameters; request bodies for create/update operations are passed as JSON-encoded strings in parameters such as fields_json and funds_json. Authentication is an account API key sent in the Api-Key HTTP header. The API is rate limited to roughly 20 requests per minute; wait about 3.5 seconds between calls. The API key is obtained by the Account Owner under Manage Account > API Key. version: '1.0' contact: name: Breeze ChMS url: https://www.breezechms.com servers: - url: https://{subdomain}.breezechms.com/api description: Church-specific Breeze subdomain variables: subdomain: default: yourchurch description: Your church's Breeze subdomain. security: - apiKeyAuth: [] tags: - name: Volunteers description: Volunteers and volunteer roles for events. paths: /volunteers/list: get: operationId: listVolunteers tags: - Volunteers summary: List volunteers for an event parameters: - name: instance_id in: query required: true schema: type: string responses: '200': description: A list of volunteers. '401': $ref: '#/components/responses/Unauthorized' /volunteers/add: get: operationId: addVolunteer tags: - Volunteers summary: Add a volunteer to an event parameters: - name: instance_id in: query schema: type: string - name: person_id in: query schema: type: string responses: '200': description: Result. /volunteers/remove: get: operationId: removeVolunteer tags: - Volunteers summary: Remove a volunteer from an event parameters: - name: instance_id in: query schema: type: string - name: person_id in: query schema: type: string responses: '200': description: Result. /volunteers/update: get: operationId: updateVolunteer tags: - Volunteers summary: Update a volunteer's roles parameters: - name: instance_id in: query schema: type: string - name: person_id in: query schema: type: string - name: role_ids_json in: query schema: type: string responses: '200': description: Result. /volunteers/list_roles: get: operationId: listVolunteerRoles tags: - Volunteers summary: List volunteer roles parameters: - name: instance_id in: query schema: type: string - name: show_quantity in: query schema: type: integer enum: - 0 - 1 responses: '200': description: A list of volunteer roles. /volunteers/add_role: get: operationId: addVolunteerRole tags: - Volunteers summary: Add a volunteer role parameters: - name: instance_id in: query schema: type: string - name: name in: query schema: type: string - name: quantity in: query schema: type: integer responses: '200': description: The created role. /volunteers/remove_role: get: operationId: removeVolunteerRole tags: - Volunteers summary: Remove a volunteer role parameters: - name: instance_id in: query schema: type: string - name: role_id in: query schema: type: string responses: '200': description: Result. components: responses: Unauthorized: description: Missing or invalid Api-Key header. securitySchemes: apiKeyAuth: type: apiKey in: header name: Api-Key description: Account API key sent in the Api-Key header. The Account Owner generates it under Manage Account > API Key in the Breeze web app.