Breeze ChMS People API

Members, contacts, custom profile fields, and families.

Operations 9

GET /people List people #
GET /people/{person_id} Retrieve a person #
GET /people/add Add a person #
GET /people/update Update a person #
GET /people/delete Delete a person #
GET /profile List profile fields #
GET /families/create Create a family #
GET /families/add Add people to a family #
GET /families/remove Remove people from a family #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/breeze-chms-people-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

breeze-chms-people-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Breeze ChMS Account People 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: People
  description: Members, contacts, custom profile fields, and families.
paths:
  /people:
    get:
      operationId: listPeople
      tags:
      - People
      summary: List people
      description: Retrieves a paged list of people (members and contacts).
      parameters:
      - name: limit
        in: query
        schema:
          type: integer
        description: Number of people to return.
      - name: offset
        in: query
        schema:
          type: integer
        description: Number of people to skip for paging.
      - name: details
        in: query
        schema:
          type: integer
          enum:
          - 0
          - 1
        description: Set to 1 to include full profile field details.
      - name: filter_json
        in: query
        schema:
          type: string
        description: JSON-encoded filter of profile field criteria.
      responses:
        '200':
          description: A list of people.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /people/{person_id}:
    get:
      operationId: getPerson
      tags:
      - People
      summary: Retrieve a person
      description: Retrieves a single person by ID.
      parameters:
      - name: person_id
        in: path
        required: true
        schema:
          type: string
      - name: details
        in: query
        schema:
          type: integer
          enum:
          - 0
          - 1
      responses:
        '200':
          description: The requested person.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /people/add:
    get:
      operationId: addPerson
      tags:
      - People
      summary: Add a person
      parameters:
      - name: first
        in: query
        schema:
          type: string
      - name: last
        in: query
        schema:
          type: string
      - name: fields_json
        in: query
        schema:
          type: string
        description: JSON-encoded array of profile field values.
      responses:
        '200':
          description: The created person.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /people/update:
    get:
      operationId: updatePerson
      tags:
      - People
      summary: Update a person
      parameters:
      - name: person_id
        in: query
        required: true
        schema:
          type: string
      - name: fields_json
        in: query
        schema:
          type: string
      responses:
        '200':
          description: The updated person.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /people/delete:
    get:
      operationId: deletePerson
      tags:
      - People
      summary: Delete a person
      parameters:
      - name: person_id
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Deletion result.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /profile:
    get:
      operationId: listProfileFields
      tags:
      - People
      summary: List profile fields
      description: Lists the profile fields (and sections) configured for the church.
      responses:
        '200':
          description: A list of profile fields.
        '401':
          $ref: '#/components/responses/Unauthorized'
  /families/create:
    get:
      operationId: createFamily
      tags:
      - People
      summary: Create a family
      parameters:
      - name: people_ids_json
        in: query
        schema:
          type: string
      responses:
        '200':
          description: The created family.
  /families/add:
    get:
      operationId: addToFamily
      tags:
      - People
      summary: Add people to a family
      parameters:
      - name: people_ids_json
        in: query
        schema:
          type: string
      - name: target_person_id
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Result.
  /families/remove:
    get:
      operationId: removeFromFamily
      tags:
      - People
      summary: Remove people from a family
      parameters:
      - name: people_ids_json
        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.