Breeze API

Reference Guide

Getting Started

The Breeze API allows you to build custom applications integrated with the Breeze database. If you have a specific need and programming talent, you can build the solution you're looking for using the data you already have in Breeze.

You can use any programming language you'd like. If you'd like to use an API wrapper, you'll find some below (disclaimer: API wrappers are not necessarily created or maintained by Breeze).

People

List People

https://yoursubdomain.breezechms.com/api/people

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$people = $breeze->url('https://yoursubdomain.breezechms.com/api/people/');
Gems
Snakes

Example Response

{
    "id":"157857",
    "first_name":"Thomas",
    "last_name":"Anderson",
    "path":"img\/profiles\/generic\/blue.jpg"
},
{
    "id":"157859",
    "first_name":"Kate",
    "last_name":"Austen",
    "path":"img\/profiles\/upload\/2498d7f78s.jpg"
},
{
    ...
}

Description

List people from your database.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/people?limit=50&details=1
Name Description Example Default
details Option to return all information (slower) or just names. 1 = get all information pertaining to person; 0 = only get id and name 1 0
filter_json Option to filter through results based on criteria (tags, status, etc). Refer to profile field response to know values to search for or if you're hard-coding the field ids, watch the URL bar when filtering for people within Breeze's people filter page and use the variables you see listed. {"2000138015":"226-227","835255370":"Male"} None
limit Number of people to return. If 0 or not present, will return all people. 50 0
offset Number of people to skip before beginning to return results. Can be used in conjunction with limit for pagination. 51 0

Show Person

https://yoursubdomain.breezechms.com/api/people/[PERSON_ID]

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$person = $breeze->url('https://yoursubdomain.breezechms.com/api/people/157857');
Gems
Snakes

Example Response

{
    "id":"157857",
    "first_name":"Thomas",
    "last_name":"Anderson",
    "thumb_path":"",
    "path":"img\/profiles\/generic\/blue.jpg",
    "details":{
        "street_address":"123 Test Ave",
        "city":"Grandville",
        "state":"MI",
        "zip":"49123",
        "longitude":"",
        "latitude":""
    }
}

Description

Retrieve the details for a specific person by their ID.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/people/[PERSON_ID]?details=0
Name Description Example Default
details Option to return all information (slower) or just names. 1 = get all information pertaining to person; 0 = only get id and name 0 1

List Profile Fields

https://yoursubdomain.breezechms.com/api/profile

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$fields = $breeze->url('https://yoursubdomain.breezechms.com/api/profile');
Gems
Snakes

Example Response

{
    "id":"10098",
    "oid":"2749",
    "section_id":"1",
    "name":"Main",
    "column_id":"1",
    "position":"1",
    "profile_id":"537bf5efc8f96",
    "created_on":"2023-05-20 20:40:15",
    "fields":[
{
            "id":"31025",
            "oid":"2749",
            "field_id":"806926751",
            "profile_section_id":"1",
            "field_type":"name",
            "name":"Name",
            "position":"2",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        },
{
            "id":"31026",
            "oid":"2749",
            "field_id":"835255370",
            "profile_section_id":"1",
            "field_type":"gender",
            "name":"Gender",
            "position":"3",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        },
{
            "id":"31027",
            "oid":"2749",
            "field_id":"1375466967",
            "profile_section_id":"1",
            "field_type":"relationship",
            "name":"Marital Status",
            "position":"4",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        },
{
            "id":"31028",
            "oid":"2749",
            "field_id":"2000138015",
            "profile_section_id":"1",
            "field_type":"multiple_choice",
            "name":"Status",
            "position":"5",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[
{
                    "id":"9690",
                    "oid":"2749",
                    "option_id":"225",
                    "profile_field_id":"2000138015",
                    "name":"Member",
                    "position":"6",
                    "profile_id":"537bf5efc8f96",
                    "created_on":"2023-05-20 20:40:15"
                },
{
                    "id":"9691",
                    "oid":"2749",
                    "option_id":"226",
                    "profile_field_id":"2000138015",
                    "name":"Neighbor",
                    "position":"7",
                    "profile_id":"537bf5efc8f96",
                    "created_on":"2023-05-20 20:40:15"
                }
            ]
        },
{
            "id":"31029",
            "oid":"2749",
            "field_id":"656342607",
            "profile_section_id":"1",
            "field_type":"birthdate",
            "name":"Age",
            "position":"8",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        },
{
            "id":"31030",
            "oid":"2749",
            "field_id":"2000138028",
            "profile_section_id":"1",
            "field_type":"multiple_choice",
            "name":"Resturaunt",
            "position":"9",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[
{
                    "id":"9692",
                    "oid":"2749",
                    "option_id":"240",
                    "profile_field_id":"2000138028",
                    "name":"Bob Evans",
                    "position":"10",
                    "profile_id":"537bf5efc8f96",
                    "created_on":"2023-05-20 20:40:15"
                },
{
                    "id":"9693",
                    "oid":"2749",
                    "option_id":"241",
                    "profile_field_id":"2000138028",
                    "name":"Dennys",
                    "position":"11",
                    "profile_id":"537bf5efc8f96",
                    "created_on":"2023-05-20 20:40:15"
                },
{
                    "id":"9694",
                    "oid":"2749",
                    "option_id":"242",
                    "profile_field_id":"2000138028",
                    "name":"Perkins",
                    "position":"12",
                    "profile_id":"537bf5efc8f96",
                    "created_on":"2023-05-20 20:40:15"
                }
            ]
        }
    ]
},
{
    "id":"10099",
    "oid":"2749",
    "section_id":"2",
    "name":"Family",
    "column_id":"1",
    "position":"13",
    "profile_id":"537bf5efc8f96",
    "created_on":"2023-05-20 20:40:15",
    "fields":[
{
            "id":"31031",
            "oid":"2749",
            "field_id":"1594149090",
            "profile_section_id":"2",
            "field_type":"family",
            "name":"Family",
            "position":"14",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        }
    ]
},
{
    "id":"10100",
    "oid":"2749",
    "section_id":"35",
    "name":"Dates",
    "column_id":"1",
    "position":"15",
    "profile_id":"537bf5efc8f96",
    "created_on":"2023-05-20 20:40:15",
    "fields":[
{
            "id":"31032",
            "oid":"2749",
            "field_id":"2000138012",
            "profile_section_id":"35",
            "field_type":"date",
            "name":"Baptized On",
            "position":"16",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        },
{
            "id":"31033",
            "oid":"2749",
            "field_id":"2000138013",
            "profile_section_id":"35",
            "field_type":"date",
            "name":"Prof of Faith On",
            "position":"17",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        }
    ]
},
{
    "id":"10101",
    "oid":"2749",
    "section_id":"3",
    "name":"Education & Work",
    "column_id":"2",
    "position":"18",
    "profile_id":"537bf5efc8f96",
    "created_on":"2023-05-20 20:40:15",
    "fields":[
{
            "id":"31034",
            "oid":"2749",
            "field_id":"1334056438",
            "profile_section_id":"3",
            "field_type":"school",
            "name":"School",
            "position":"19",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        },
{
            "id":"31035",
            "oid":"2749",
            "field_id":"1394542945",
            "profile_section_id":"3",
            "field_type":"grade",
            "name":"Grade",
            "position":"20",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        },
{
            "id":"31036",
            "oid":"2749",
            "field_id":"2000137780",
            "profile_section_id":"3",
            "field_type":"employer",
            "name":"Employer",
            "position":"21",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        }
    ]
},
{
    "id":"10102",
    "oid":"2749",
    "section_id":"4",
    "name":"Contact",
    "column_id":"2",
    "position":"22",
    "profile_id":"537bf5efc8f96",
    "created_on":"2023-05-20 20:40:15",
    "fields":[
{
            "id":"31037",
            "oid":"2749",
            "field_id":"1148898687",
            "profile_section_id":"4",
            "field_type":"phone",
            "name":"Phone",
            "position":"23",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        },
{
            "id":"31038",
            "oid":"2749",
            "field_id":"1173210860",
            "profile_section_id":"4",
            "field_type":"campus",
            "name":"Campus",
            "position":"24",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[
{
                    "id":"9695",
                    "oid":"2749",
                    "option_id":"1",
                    "profile_field_id":"1173210860",
                    "name":"North",
                    "position":"25",
                    "profile_id":"537bf5efc8f96",
                    "created_on":"2023-05-20 20:40:15"
                },
{
                    "id":"9696",
                    "oid":"2749",
                    "option_id":"2",
                    "profile_field_id":"1173210860",
                    "name":"Central",
                    "position":"26",
                    "profile_id":"537bf5efc8f96",
                    "created_on":"2023-05-20 20:40:15"
                }
            ]
        },
{
            "id":"31039",
            "oid":"2749",
            "field_id":"1508481877",
            "profile_section_id":"4",
            "field_type":"email",
            "name":"Email",
            "position":"27",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        },
{
            "id":"31040",
            "oid":"2749",
            "field_id":"1537527569",
            "profile_section_id":"4",
            "field_type":"address",
            "name":"Address",
            "position":"28",
            "profile_id":"537bf5efc8f96",
            "created_on":"2023-05-20 20:40:15",
            "options":[

            ]
        }
    ]
}

Add Person

https://yoursubdomain.breezechms.com/api/people/add

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$person = $breeze->url('https://yoursubdomain.breezechms.com/api/people/add?first=Jiminy&last=Cricket');
Gems
Snakes

Example Response

[
{
        "id":"12345678",
        "first_name":"Jiminy",
        "force_first_name":"Jiminy",
        "last_name":"Cricket",
        "thumb_path":"",
        "path":"img\/profiles\/generic\/gray.png",
        "street_address":null,
        "city":null,
        "state":null,
        "zip":null,
        "details":{
            "person_id":12345678
        },
        "family":[

        ]
    }
]

Description

Add a new person.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/people/add?first=Jiminy&last=Cricket
Name Description Example Default
first The first name of the person. Jack
Christina
Jorge
-
last The last name of the person Anderson
Smith
Brown
-
fields_json Additional fields to update. See Update Person for eligible values. -

Update Person

https://yoursubdomain.breezechms.com/api/people/update

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');

// See parameters for all available options
$field = new stdClass();
$field->field_id = "123456789";
$field->field_type = "text";
$field->response = "Testing";
$fields[] = $field;

$person = $breeze->url('https://yoursubdomain.breezechms.com/api/people/update?person_id=12345678&fields_json='.json_encode($fields));
Gems
Snakes

Example Response

[
{
        "id":"12345678",
        "first_name":"Jiminy",
        "force_first_name":"Jiminy",
        "last_name":"Cricket",
        "thumb_path":"",
        "path":"img\/profiles\/generic\/gray.png",
        "street_address":null,
        "city":null,
        "state":null,
        "zip":null,
        "details":{
            "person_id":12345678
        },
        "family":[

        ]
    }
]

Description

Update a person.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/people/update?person_id=12345678&fields_json=[json_string]
Name Description Example Default
person_id The id of the person to update. 15235634
58234234
2485234
-
fields_json Additional fields to update. These fields are passed as a JSON encoded array of fields, each containing a field id, field type, response, and in some cases, more information. The field information itself can be found on List Profile Fields. Code samples are below for the fields that can be updated.
// TEXT
$field = new stdClass();
$field->field_id = "2000138875"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "text";
$field->response = "Testing";
$fields[] = $field;

// MULTIPLE CHOICE
$field = new stdClass();
$field->field_id = "2000138811"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "radio"; // multiple choice uses 'radio' field type
$field->response = "459"; // option id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$fields[] = $field;

// DROPDOWN
$field = new stdClass();
$field->field_id = "2000138746"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "radio"; // dropdown uses 'radio' field type
$field->response = "428"; // option id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$fields[] = $field;

// CHECKBOX
$field = new stdClass();
$field->field_id = "2000138325"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "checkbox";
$field->response = '388'; // option id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$fields[] = $field; // add $field to $fields array

// CHECKBOX (same field, new value)
$field = new stdClass();
$field->field_id = "2000138325"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "checkbox";
$field->response = '390'; // option id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$fields[] = $field; // add $field to $fields array

// DATE
$field = new stdClass();
$field->field_id = "2000138050"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "date";
$field->response = '12/1/2015';
$fields[] = $field; // add $field to $fields array

// TEXTAREA
$field = new stdClass();
$field->field_id = "2000138883"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "textarea ";
$field->response = 'A test here';
$fields[] = $field; // add $field to $fields array

// BIRTHDATE
$field = new stdClass();
$field->field_id = "656342607"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "birthdate";
$field->response = '1/1/2015';
$fields[] = $field; // add $field to $fields array

// EMAIL
$field = new stdClass();
$field->field_id = "1508481877"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "email";
$field->response = true;
$email = new stdClass();
$email->address = 'email@test.com';
$field->details = $email;
$fields[] = $field; // add $field to $fields array

// MOBILE PHONE
$field = new stdClass();
$field->field_id = "1148898687"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "phone";
$field->response = true;
$phone = new stdClass();
$phone->phone_mobile = "111-111-1111";
$field->details = $phone;
$fields[] = $field; // add $field to $fields array

// HOME PHONE
$field = new stdClass();
$field->field_id = "1148898687"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "phone";
$field->response = true;
$phone = new stdClass();
$phone->phone_home = "222-222-2222";
$field->details = $phone;
$fields[] = $field; // add $field to $fields array

// WORK PHONE
$field = new stdClass();
$field->field_id = "1148898687"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "phone";
$field->response = true;
$phone = new stdClass();
$phone->phone_work = "333-333-3333";
$field->details = $phone;
$fields[] = $field; // add $field to $fields array

// ADDRESS
$field = new stdClass();
$field->field_id = "1537527569"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "address";
$field->response = true;
$address = new stdClass();
$address->street_address = "123 Test St.";
$address->city = "Grand Rapids";
$address->state = "MI";
$address->zip = "49506";
$field->details = $address;
$fields[] = $field; // add $field to $fields array

// FAMILY ROLE
$field = new stdClass();
$field->field_id = "62348923451"; // field id (obtainable from https://www.breezechms.com/api#list_profile_fields)
$field->field_type = "family_role ";
$field->response = 'undefined';
$field->details = Array('person_id' => 12345678, 'role_id' => 1); // role_id is numeric and can be 1 (Unassigned), 2 (Child), 3 (Adult), 4 (Head of Household), or 5 (Spouse)
$fields[] = $field; // add $field to $fields array

// UPDATE PERSON
$person = $breeze->url('https://yoursubdomain.breezechms.com/api/people/update?person_id=12345678&fields_json='.json_encode($fields));

Delete Person

https://yoursubdomain.breezechms.com/api/people/delete

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$person = $breeze->url('https://yoursubdomain.breezechms.com/api/people/delete?person_id=12345678');
Gems
Snakes

Example Response

true

Description

Delete a person.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/people/delete?person_id=12345678
Name Description Example Default
person_id The id of the person to delete. Jack
Christina
Jorge
-

Tags

List Tags

https://yoursubdomain.breezechms.com/api/tags/list_tags

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$tags = $breeze->url('https://yoursubdomain.breezechms.com/api/tags/list_tags');
Gems
Snakes

Example Response

[
{
        "id":"523928",
        "name":"4th & 5th",
        "created_on":"2023-09-10 09:19:40",
        "folder_id":"1539"
    },
{
        "id":"51994",
        "name":"6th Grade",
        "created_on":"2023-02-06 06:40:40",
        "folder_id":"1539"
    },
{
        "id":"332546",
        "name":"Andrews Group",
        "created_on":"2023-09-10 09:19:40",
        "folder_id":"1538"
    }
]

Description

List people from your database.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/tags/list_tags?folder_id=123456
Name Description Example Default
folder_id Numeric ID of a folder. If provided, only tags within that folder will be returned. 123456 -

List Folders

https://yoursubdomain.breezechms.com/api/tags/list_folders

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$folders = $breeze->url('https://yoursubdomain.breezechms.com/api/tags/list_folders');
Gems
Snakes

Example Response

[
{
        "id":"1234567",
        "parent_id":"0",
        "name":"All Tags",
        "created_on":"2023-06-05 18:12:34"
    },
{
        "id":"8234253",
        "parent_id":"120425",
        "name":"Kids",
        "created_on":"2023-06-05 18:12:10"
    },
{
        "id":"1537253",
        "parent_id":"5923042",
        "name":"Small Groups",
        "created_on":"2023-09-10 09:19:40"
    },
{
        "id":"20033",
        "parent_id":"20031",
        "name":"Student Ministries",
        "created_on":"2023-12-15 18:11:31"
    }
]

List People

https://yoursubdomain.breezechms.com/api/people

To view people within a certain tag or tags, use the list people API with the appropriate parameters. An example has been provided below.

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$filter['tag_contains'] = 'y_16681'; // see https://www.breezechms.com/api#list_people for details on how to format filter
$filter_json = json_encode($filter);
$people = $breeze->url("https://yoursubdomain.breezechms.com/api/people/?filter_json=$filter_json");
Gems
Snakes

Example Response

{
    "id":"157857",
    "first_name":"Thomas",
    "last_name":"Anderson",
    "path":"img\/profiles\/generic\/blue.jpg"
},
{
    "id":"157859",
    "first_name":"Kate",
    "last_name":"Austen",
    "path":"img\/profiles\/upload\/2498d7f78s.jpg"
},
{
    ...
}

Add Tag

https://yoursubdomain.breezechms.com/api/tags/add_tag

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$tags = $breeze->url('https://yoursubdomain.breezechms.com/api/tags/add_tag?name=Students');
Gems
Snakes

Example Response

[
{
        "id":"523928",
        "name":"Students",
        "created_on":"2017-09-10 09:19:40",
        "folder_id":"4912"
    }
]

Description

Add a new tag.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/tags/add_tag?name=Students&folder_id=12345
Name Description Example Default
name The name of the tag. Students
Small Groups
Elders
-
folder_id The specific folder to place the tag can be specified. If omitted, the tag will be placed in the top level folder. 12345
1521
12314
Top Level

Add Folder

https://yoursubdomain.breezechms.com/api/tags/add_tag_folder

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$tags = $breeze->url('https://yoursubdomain.breezechms.com/api/tags/add_tag_folder?name=Youth Group');
Gems
Snakes

Example Response

[
{
        "id":"1234567",
        "parent_id":"1240",
        "name":"Youth Group",
        "created_on":"2017-06-05 18:12:34"
    }
]

Description

Add a new tag folder.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/tags/add_tag?name=Youth Group&parent_id=76543
Name Description Example Default
name The name of the folder. Youth Group
Adult Ministries
Leadership
-
parent_id The specific parent folder to place this folder within. If omitted, the folder will be placed on the top level. 5023
1521
7192
Top Level

Delete Tag

https://yoursubdomain.breezechms.com/api/tags/delete_tag

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$tags = $breeze->url('https://yoursubdomain.breezechms.com/api/tags/delete_tag?tag_id=41231');
Gems
Snakes

Example Response

true

Delete Folder

https://yoursubdomain.breezechms.com/api/tags/delete_tag_folder

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$tags = $breeze->url('https://yoursubdomain.breezechms.com/api/tags/delete_tag_folder?folder_id=12345');
Gems
Snakes

Example Response

true

Assign Tag

https://yoursubdomain.breezechms.com/api/tags/assign

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$tags = $breeze->url('https://yoursubdomain.breezechms.com/api/tags/assign?person_id=12345&tag_id=45678');
Gems
Snakes

Example Response

true

Description

Assign a tag to a person

Arguments

e.g. https://yoursubdomain.breezechms.com/api/tags/assign?person_id=12345&tag_id=45678
Name Description Example Default
person_id The id of the person to which tag should be assigned to. 12498124
82395235
121821493
-
tag_id The id of the tag that should be assigned 523523
234534
623523
-

Unassign Tag

https://yoursubdomain.breezechms.com/api/tags/unassign

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$tags = $breeze->url('https://yoursubdomain.breezechms.com/api/tags/unassign?person_id=12345&tag_id=45678');
Gems
Snakes

Example Response

true

Description

Assign a tag to a person

Arguments

e.g. https://yoursubdomain.breezechms.com/api/tags/unassign?person_id=12345&tag_id=45678
Name Description Example Default
person_id The id of the person to which tag should be unassigned from. 12498124
82395235
121821493
-
tag_id The id of the tag that should be unassigned 523523
234534
623523
-

Events

List Events

https://yoursubdomain.breezechms.com/api/events

Note that responses from this endpoint are cached and may lag up to 15 minutes behind the live site.

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$events = $breeze->url('https://yoursubdomain.breezechms.com/api/events?start=2023-3-1&end=2023-3-7');
Gems
Snakes

Example Response

{
    "id":"40984",
    "oid":"2749",
    "event_id":"736",
    "name":"Jr High Youth Group",
    "category_id":"0",
    "settings_id":"0",
    "start_datetime":"2023-03-05 00:00:00",
    "end_datetime":"0000-00-00 00:00:00",
    "is_modified":"0",
    "created_on":"2015-09-09 23:09:08"
},
{
    "id":"56104",
    "oid":"2749",
    "event_id":"949",
    "name":"Elementary Class1",
    "category_id":"1553",
    "settings_id":"0",
    "start_datetime":"2023-03-02 00:00:00",
    "end_datetime":"0000-00-00 00:00:00",
    "is_modified":"0",
    "created_on":"2015-10-25 14:33:06"
},
{
    "id":"68124",
    "oid":"2749",
    "event_id":"1830",
    "name":"Sunday AM",
    "category_id":"1553",
    "settings_id":"0",
    "start_datetime":"2023-03-02 00:00:00",
    "end_datetime":"0000-00-00 00:00:00",
    "is_modified":"0",
    "created_on":"2015-11-25 17:30:25"
},
{
    "id":"71429",
    "oid":"2749",
    "event_id":"2056",
    "name":"Men's Bible Study",
    "category_id":"7232",
    "settings_id":"0",
    "start_datetime":"2023-03-04 00:00:00",
    "end_datetime":"0000-00-00 00:00:00",
    "is_modified":"0",
    "created_on":"2015-12-03 09:25:58"
},
{
    "id":"125540",
    "oid":"2749",
    "event_id":"4377",
    "name":"Small Group Check In",
    "category_id":"7232",
    "settings_id":"0",
    "start_datetime":"2023-03-07 00:00:00",
    "end_datetime":"0000-00-00 00:00:00",
    "is_modified":"0",
    "created_on":"2023-03-06 22:39:12"
},
{
    "id":"125538",
    "oid":"2749",
    "event_id":"4375",
    "name":"Group Test",
    "category_id":"7232",
    "settings_id":"0",
    "start_datetime":"2023-03-07 00:00:00",
    "end_datetime":"0000-00-00 00:00:00",
    "is_modified":"0",
    "created_on":"2023-03-06 22:03:43"
},
{
    "id":"123017",
    "oid":"2749",
    "event_id":"4219",
    "name":"Test",
    "category_id":"0",
    "settings_id":"0",
    "start_datetime":"2023-03-05 00:00:00",
    "end_datetime":"0000-00-00 00:00:00",
    "is_modified":"0",
    "created_on":"2023-03-04 22:34:10"
}

Description

Retrieve a list of events based on search criteria.
Name Description Example Default
start Events on or after (YYYY-MM-DD) 2015-1-20 The first day of the current month/year
end Events on or before (YYYY-MM-DD) 2018-1-31 The last day of the current month/year
category_id If supplied, only events on the specified calendar will be returned. Note that external calendars are not available via this call. If you need to pull in external calendars, we recommend parsing the calendar's ical feed accessible via List Calendars. 14924
912315
63293
n/a
calendar_id
deprecated
Does the same thing as the category_id parameter. Note that category_id will trump calendar_id if both are used. 14924
912315
63293
n/a
eligible If set to 1, details about who is eligible to be checked in ("everyone", "tags", "forms", or "none") are returned (including tags associated with the event). 1
0
0
details If set to 1, additional event details will be returned (e.g. description, check in settings, etc) 1
0
0
limit Number of events to return. Default is 500. Max is 1000. 100
750
0

List Event

https://yoursubdomain.breezechms.com/api/events/list_event

Note that responses from this endpoint are cached and may lag up to 15 minutes behind the live site.

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$events = $breeze->url('https://yoursubdomain.breezechms.com/api/events/list_event?instance_id=123456');
Gems
Snakes

Example Response

{
    "id":"1234567",
    "oid":"1234",
    "event_id":"9876",
    "name":"Youth Group",
    "category_id":"0",
    "settings_id":"0",
    "start_datetime":"2016-06-25 18:00:00",
    "end_datetime":"2016-06-25 20:00:00",
    "is_modified":"0",
    "created_on":"2016-06-23 13:06:16"
}

Description

Retrieve a list of events based on search criteria.
Name Description Example Default
instance_id The id of the event instance that should be returned 29034243
92340243
8923424
-
schedule If other instances in the same series should be included. Note that if set to true, response will be an array of events, each element only containing the id and starting timestamp. true
1
-
schedule_direction If including the schedule, should it include events before the instance_id or after the instance_id before
after
before
schedule_limit If including the schedule, how many events in the series should be returned. Default is 10. Max is 100. 5
20
50
unlimited
eligible If set to 1, details about who is eligible to be checked in ("everyone", "tags", "forms", or "none") are returned (including tags associated with the event). 1
0
0
details If set to 1, additional event details will be returned (e.g. description, check in settings, etc) 1
0
0

List Calendars

https://yoursubdomain.breezechms.com/api/events/calendars/list

Note that responses from this endpoint are cached and may lag up to 15 minutes behind the live site.

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$calendars = $breeze->url('https://yoursubdomain.breezechms.com/api/events/calendars/list');
Gems
Snakes

Example Response

[
{
        "id":0,
        "name":"Main",
        "color":"b2cd92",
        "address":"https://yoursubdomain.breezechms.com/events/feed/eXGoxSB6C234ksdfkjf02jfklsdfjklf23lkjsd,fdHT8xFNnsPyXGm3",
        "embed_key":"AbC%3D"
    },
{
        "id":"905",
        "oid":"2749",
        "name":"Staff",
        "color":"d1ba39",
        "address":"https://yoursubdomain.breezechms.com/events/feed/kfj032fkdsfkjl23fj9fdsijfkl2fj90fjklsdkfmvndm23k",
        "created_on":"2016-01-20 11:38:18",
        "embed_key":"BcD%3D"
    },
{
        "id":"1291",
        "oid":"2749",
        "name":"Students",
        "color":"a773b8",
        "address":"https://yoursubdomain.breezechms.com/events/feed/vs92k3kdfsdkfJFkdfwodlkfweLFKLDF3sdfewklfjweoflkj23ifjlksdfjksdsfkljinsl35jo",
        "created_on":"2016-03-03 08:28:34",
        "embed_key":"CdE%3D"
    },
{
        "id":"1283",
        "oid":"2749",
        "name":"Google Calendar",
        "color":"b2cd92",
        "address":"webcal://path/to/external/calendar.ics",
        "created_on":"2016-03-02 14:11:32",
        "embed_key":"EFg%3D"
    }
]

List Locations

https://yoursubdomain.breezechms.com/api/events/locations

Note that responses from this endpoint are cached and may lag up to 15 minutes behind the live site.

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$locations = $breeze->url('https://yoursubdomain.breezechms.com/api/events/locations');
Gems
Snakes

Example Response

[
{
        "id":"190",
        "name":"Adult Ministries Room"
    },
{
        "id":"188",
        "name":"Auditorium"
    },
{
        "id":"189",
        "name":"Gathering Space"
    },
{
        "id":"850",
        "name":"Room 301"
    },
{
        "id":"187",
        "name":"Student Room"
    }
]

Add Event

https://yoursubdomain.breezechms.com/api/events/add

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$tags = $breeze->url('https://yoursubdomain.breezechms.com/api/events/add?name=Bonfire&starts_on=1467161100');
Gems
Snakes

Example Response

[
{
        "id":"8324092",
        "oid":"1234",
        "event_id":"4567",
        "name":"Bonfire",
        "category_id":"0",
        "start_datetime":"2016-06-28 19:45:00",
        "end_datetime":"2016-06-23 20:45:00",
        "created_on":"2016-06-23 15:40:06"
    }
]

Description

Add a new event.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/events/add?name=Bonfire&starts_on=1467161100
Name Description Example Default
name The name of the event. Bonfire
Service
Small Group
-
starts_on The numeric timestamp for when the event should start (more details on this format can be found here). 1467161100
1466711372
1498247371
-
ends_on The numeric timestamp for when the event should end (more details on this format can be found here). 1467161100
1466711372
1498247371
One hour after starts_on
all_day If set, event will be all day and only the date from starts_on will be used, time will be ignored. 1
0
0
description The description of the event. HTML can be used. Come to this event wearing a windsuit! -
category_id The id of the calendar this event should be placed on 1234
2344
0
calendar_id
deprecated
Does the same thing as the category_id parameter. Note that category_id will trump calendar_id if both are used. 1234
2344
0
event_id The id of an existing event for this event to be in the same series with 1251
2923
New series

Delete Event

https://yoursubdomain.breezechms.com/api/events/delete

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$tags = $breeze->url('https://yoursubdomain.breezechms.com/api/events/delete?instance_id=12345');
Gems
Snakes

Example Response

true

Description

Delete an Event.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/events/delete?instance_id=12345
Name Description Example Default
instance_id The id of the instance that should be deleted. 235324
8543239
82539230
-

Check In

Add Attendance Record

https://yoursubdomain.breezechms.com/api/events/attendance/add

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$add = $breeze->url('https://yoursubdomain.breezechms.com/api/events/attendance/add?person_id=1234567&instance_id=7654321');
Gems
Snakes

Example Response

true

Description

Add an attendance record for a profile to an individual event instance.
Name Description Examples Default
direction Set whether someone is being checked into or out of an event. Note that checking "out" is not the same as "removing" the attendance record. Checking out refers to recording a timestamp of when the individual left the event.

If the check "out" call is made on a profile that is not already checked in, a new attendance record will be created that has a checked in time that matches the checked out time.

The check out command will work even if the event's settings aren't set to enable check out (the setting simply controls the Breeze check in user interface for the event which the API bypasses).
in
out
in

Remove Attendance Record

https://yoursubdomain.breezechms.com/api/events/attendance/delete

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$remove = $breeze->url('https://yoursubdomain.breezechms.com/api/events/attendance/delete?person_id=1234567&instance_id=7654321');
Gems
Snakes

Example Response

true

List Attendance

https://yoursubdomain.breezechms.com/api/events/attendance/list

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$attendance = $breeze->url('https://yoursubdomain.breezechms.com/api/events/attendance/list?instance_id=12345&details=true');
Gems
Snakes

Example Response

[
{
        "instance_id":"3778451",
        "person_id":"824512",
        "check_out":"0000-00-00 00:00:00",
        "created_on":"2023-12-09 11:01:33",
        "details":{
            "id":"824512",
            "first_name":"Carol",
            "force_first_name":"Carol",
            "last_name":"Adams",
            "thumb_path":"img\/profiles\/upload\/thumbnails\/123456789.jpg",
            "path":"img\/profiles\/upload\/123456789.jpg",
            "details":{
                "gender":"Female",
                "birthdate":"2013-12-26",
                "age_years":"1",
                "age_months":"11",
                "age_days":"14",
                "mobile":"123-123-1234",
                "email_primary":"email@address.com",
                "street_address":"123 Test St",
                "city":"Holland",
                "state":"MI",
                "zip":"49424",
                "longitude":"",
                "latitude":""
            }
        }
    },
{
        "instance_id":"3778451",
        "person_id":"981238123",
        "check_out":"0000-00-00 00:00:00",
        "created_on":"2023-12-09 11:01:34",
        "details":{
            "id":"1291272",
            "first_name":"Luther",
            "force_first_name":"Luther",
            "last_name":"Anderson",
            "thumb_path":"",
            "path":"img\/profiles\/generic\/blue.jpg",
            "details":{
                "gender":"Male",
                "birthdate":"2001-08-21",
                "age_years":"14",
                "age_months":"3",
                "age_days":"19",
                "school_id":"4743",
                "school":[

                ],
                "graduation_year":"2019",
                "grade_name":"9th",
                "home":"(616) 555-5555",
                "mobile":"(616) 555-5555",
                "work":"555-5555",
                "email_primary":"luther_anderson@breezechms.com",
                "street_address":"450 Fulton Ave SE",
                "city":"Grand Rapids",
                "state":"MI",
                "zip":"49503",
                "longitude":"-85.6581776129543",
                "latitude":"42.9629853284722"
            }
        }
    }
]

Description

List attendance from a given event.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/events/attendance/list?instance_id=1521321&type=person
Name Description Example Default
instance_id The ID of the instance you'd like to return the attendance for 190152081
25982342
-
details If set to true, details of the person will be included in the response true
false
false
type Determines if result should contain people or anonymous head count by setting to either 'person' or 'anonymous' person
anonymous
person

List Eligible People

https://yoursubdomain.breezechms.com/api/events/attendance/eligible

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$remove = $breeze->url('https://yoursubdomain.breezechms.com/api/events/attendance/eligible?instance_id=1234567');
Gems
Snakes

Example Response

[
{
        "id":"123",
        "first_name":"Alex",
        "force_first_name":"Alexa",
        "last_name":"Amaz",
        "path":"img\/profiles\/generic\/gray.png"
    },
{
        "id":"124",
        "first_name":"Cortana",
        "force_first_name":"Cortana",
        "last_name":"Rogers",
        "path":"img\/profiles\/generic\/gray.png"
    },
{
        "id":"125",
        "first_name":"Siri",
        "force_first_name":"Siri",
        "last_name":"Macintosh",
        "path":"img\/profiles\/generic\/gray.png"
    }
]

Forms

List Forms

https://yoursubdomain.breezechms.com/api/forms/list_forms

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$forms = $breeze->url('https://yoursubdomain.breezechms.com/api/forms/list_forms');
Gems
Snakes

Example Response

[
{
        "id":"1258325",
        "name":"Jr High Winter Camp",
        "url_slug":"winter-camp-signup",
        "is_archived":"0",
        "created_on":"2023-01-12 09:14:27"
    },
{
        "id":"1275235",
        "name":"Volunteer Application",
        "url_slug":"volunteer-application",
        "is_archived":"0",
        "created_on":"2023-5-18 04:44:34"
    },
{
        "id":"7",
        "name":"Small Group Interest",
        "url_slug":"small-group-signup",
        "is_archived":"0",
        "created_on":"2023-9-11 11:17:34"
    }
]

Description

Returns a list of forms.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/forms/list_forms?is_archived=1
Name Description Example Default
is_archived If set to 1, archived forms will be returned instead of active forms. 1
0
0

List Form Fields

https://yoursubdomain.breezechms.com/api/forms/list_form_fields

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$forms = $breeze->url('https://yoursubdomain.breezechms.com/api/forms/list_form_fields?form_id=15326');
Gems
Snakes

Example Response

[
{
        "id":"185",
        "oid":"1512",
        "field_id":"45",
        "profile_section_id":"0",
        "field_type":"name",
        "name":"Name",
        "position":"3",
        "profile_id":"5877b98301fc2",
        "created_on":"2023-01-12 09:14:43",
        "options":[

        ]
    },
{
        "id":"186",
        "oid":"1512",
        "field_id":"46",
        "profile_section_id":"0",
        "field_type":"single_line",
        "name":"Email",
        "position":"4",
        "profile_id":"5877b98301fc2",
        "created_on":"2023-01-12 09:14:43",
        "options":[

        ]
    },
{
        "id":"187",
        "oid":"1512",
        "field_id":"47",
        "profile_section_id":"0",
        "field_type":"single_line",
        "name":"Favorite Color",
        "position":"5",
        "profile_id":"5877b98301fc2",
        "created_on":"2023-01-12 09:14:43",
        "options":[

        ]
    }
]

Description

List the fields for a given form.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/forms/list_form_fields?form_id=12345
Name Description Example Default
form_id The fields will be returned that correspond to the numeric form id provided. See List Forms for retrieving form IDs. 115234
234634
693435
-

List Form Entries

https://yoursubdomain.breezechms.com/api/forms/list_form_entries

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$forms = $breeze->url('https://yoursubdomain.breezechms.com/api/forms/list_form_entries?form_id=15326&details=1');
Gems
Snakes

Example Response

[
{
        "id":"11",
        "form_id":"15326",
        "created_on":"2023-03-09 13:04:02",
        "person_id":null,
        "response":{
            "45":{
                "id":"13",
                "oid":"1512",
                "first_name":"Zoe",
                "last_name":"Washburne",
                "created_on":"2023-03-09 13:04:03"
            },
            "46":"zwashburne@test.com",
            "47":"Red"
        }
    },
{
        "id":"10",
        "form_id":"15326",
        "created_on":"2023-03-09 13:03:24",
        "person_id":null,
        "response":{
            "45":{
                "id":"12",
                "oid":"1512",
                "first_name":"Malcolm",
                "last_name":"Reynolds",
                "created_on":"2023-03-09 13:03:24"
            },
            "46":"mreynolds@test.com",
            "47":"Green"
        }
    }
]

Description

List the fields for a given form.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/forms/list_form_entries?form_id=12345&details=1
Name Description Example Default
form_id The entries will be returned that correspond to the numeric form id provided. See List Forms for retrieving form IDs. 115234
234634
693435
-
details If set to 1, the entry responses will be returned as well. The entry response array has key values that correspond to the form fields. 1
0
0

Remove Form Entry

https://yoursubdomain.breezechms.com/api/forms/remove_form_entry

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$forms = $breeze->url('https://yoursubdomain.breezechms.com/api/forms/remove_form_entry?entry_id=15326');

Example Response

true

Description

Remove an entry from a form.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/forms/remove_form_entry?form_id=12345
Name Description Example Default
entry_id The id of the form entry you want to remove. 115234 -

Volunteers

List Volunteers

https://yoursubdomain.breezechms.com/api/volunteers/list

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$volunteers = $breeze->url('https://yoursubdomain.breezechms.com/api/volunteers/list?instance_id=123456');
Gems
Snakes

Example Response

[
{
        "id":"12345678",
        "oid":"1234",
        "instance_id":"123456",
        "person_id":"3008467",
        "response":"0",
        "comment":"",
        "rsvped_on":"0000-00-00 00:00:00",
        "created_on":"2023-09-06 03:07:32",
        "role_ids":null
    },
{
        "id":"23051231",
        "oid":"2749",
        "instance_id":"123456",
        "person_id":"3349681",
        "response":"0",
        "comment":"",
        "rsvped_on":"0000-00-00 00:00:00",
        "created_on":"2023-09-06 03:07:32",
        "role_ids":[
            "9627",
            "9628"
        ]
    },
{
        "id":"3248759",
        "oid":"2749",
        "instance_id":"123456",
        "person_id":"3248759",
        "response":"0",
        "comment":"",
        "rsvped_on":"0000-00-00 00:00:00",
        "created_on":"2023-09-06 03:26:53",
        "role_ids":null
    }
]

Description

List volunteers from a specific event.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/volunteers/list?instance_id=123456
Name Description Example Default
instance_id The id of the event instance you want to list the volunteers for. 123456 -

Add Volunteer

https://yoursubdomain.breezechms.com/api/volunteers/add

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$response = $breeze->url('https://yoursubdomain.breezechms.com/api/volunteers/add?instance_id=123456&person_id=654321');
Gems
Snakes

Example Response

true

Description

Schedule a volunteer for a specific event.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/volunteers/add?instance_id=123456&person_id=654321
Name Description Example Default
instance_id The id of the event instance you want to schedule the volunteer for. 123456 -
person_id The id of the person you wish to schedule. 654321 -

Remove Volunteer

https://yoursubdomain.breezechms.com/api/volunteers/remove

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$response = $breeze->url('https://yoursubdomain.breezechms.com/api/volunteers/remove?instance_id=123456&person_id=654321');
Gems
Snakes

Example Response

true

Description

Unschedule a volunteer from a specific event.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/volunteers/remove?instance_id=123456&person_id=654321
Name Description Example Default
instance_id The id of the event instance you want to unschedule the volunteer from. 123456 -
person_id The id of the person you wish to unschedule. 654321 -

Update Volunteer

https://yoursubdomain.breezechms.com/api/volunteers/update

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$role_ids_json = json_encode(Array(523, 524));
$response = $breeze->url('https://yoursubdomain.breezechms.com/api/volunteers/update?instance_id=123456&person_id=5182132&role_ids_json='.$role_ids_json);
Gems
Snakes

Example Response

true

Description

Update the volunteer role(s) for a person in a given event.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/volunteers/update?instance_id=123456
Name Description Example Default
instance_id The id of the event instance containing the person you wish to update. 123456 -
person_id The id of the person you wish to update. 9520342 -
role_ids_json The id(s) of the role(s) you wish the person to have. Note that this replaces current values, so if a volunteer currently has a role and this command is run and does not pass in that same role_id, the current role will be removed and replaced with the passed role(s). If excluded, the volunteer will be assigned no role. {563, 564}
empty
-

List Volunteer Roles

https://yoursubdomain.breezechms.com/api/volunteers/list_roles

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$roles = $breeze->url('https://yoursubdomain.breezechms.com/api/volunteers/list_roles?instance_id=123456&show_quantity=1');
Gems
Snakes

Example Response

[
{
        "id":"9627",
        "name":"Teacher",
        "quantity":"2"
    },
{
        "id":"9628",
        "name":"Greeter",
        "quantity":"0"
    },
{
        "id":"9629",
        "name":"Small Group Leader",
        "quantity":"1"
    }
]

Description

List the volunteer roles for a specific event.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/volunteers/list_roles?instance_id=123456&show_quantity=1
Name Description Example Default
instance_id The id of the event instance you want to retrieve the volunteer roles for. 123456 -
show_quantity Option to return quantity requested for each role. 1 = show quantity for role 1 -

Add Volunteer Role

https://yoursubdomain.breezechms.com/api/volunteers/add_role

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$response = $breeze->url('https://yoursubdomain.breezechms.com/api/volunteers/add_role?instance_id=123456&name=Greeter&quantity=2');
Gems
Snakes

Example Response

{
    "id":9631,
    "name":"Greeter",
    "quantity":"2"
}

Description

Add a role to an event.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/volunteers/add_role?instance_id=123456&name=Greeter&quantity=2
Name Description Example Default
instance_id The id of the event instance you want to retrieve the volunteer roles for. Note that if the event is part of a series, the role will become available on all events within the series. 123456 -
name The name of the role you'd like to add. Small Group Leader
Greeter
Usher
-
quantity The quantity of volunteers needed for the role you'd like to add. Note that if the event is part of a series, this will overwrite any current quantity settings for any events in this series. 1
2
-

Remove Volunteer Role

https://yoursubdomain.breezechms.com/api/volunteers/remove_role

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$response = $breeze->url('https://yoursubdomain.breezechms.com/api/volunteers/remove_role?instance_id=123456&role_id=567');
Gems
Snakes

Example Response

true

Description

Remove a role from an event.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/volunteers/remove_role?instance_id=123456&role_id=567
Name Description Example Default
instance_id The id of the event instance you want to remove the role from. Note that if the event is part of a series, the role will be removed on all events within the series. 123456 -
role_id The id of the role to be removed. 567 -

Families

Create Family

https://yoursubdomain.breezechms.com/api/families/create

This command does NOT create new profiles. Rather it links already existing profiles to one another to form a family. If you're looking for how to create new profiles via the API, see Add Person.

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$response = $breeze->url('https://yoursubdomain.breezechms.com/api/families/create?people_ids_json=[1111111,2222222,3333333]');
Gems
Snakes

Example Response

{
    "success":true
}

Description

Creates a new family from a set of people.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/families/create?people_ids_json=[1111111,2222222,3333333]
Name Description Example Default
people_ids_json The json encoded ids of the people that should be connected into the same family. Note that if any of these people are in alternate families, this action will remove them from their previous family as a person can only be part of one family at a time. [1111111,2222222,3333333] -

Destroy Family

https://yoursubdomain.breezechms.com/api/families/destroy

This command does NOT delete any people, rather it disconnects all people from a given family, effectively unlinking all of those individual profiles from one another so those profiles are not in a family.

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$response = $breeze->url('https://yoursubdomain.breezechms.com/api/families/destroy?people_ids_json=[4444444,5555555]');
Gems
Snakes

Example Response

{
    "success":true
}

Description

List the fields for a given form.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/families/destroy?people_ids_json=[4444444,5555555]
Name Description Example Default
people_ids_json The id of the person belonging to a family you'd like to destroy. This does not delete any people, it simply removes their association with the family. Only one person id from the family is needed (e.g. if you specify one person in a family of seven, all 7 people are removed from the family). Passing in multiple people ids (where those people are in different families) allows developers to destroy multiple families in a single call. [5555555,6666666] -

Add Person to Existing Family

https://yoursubdomain.breezechms.com/api/families/add

This command does NOT create new profiles. Rather it links an already existing profile to an already existing family. If you're looking for how to create new profiles via the API, see Add Person. Additionally, the advantage in using this endpoint over Create Family when defining a new family is that this will keep the original family ID in the database intact which retains the family's profile picture if one is defined (rather than creating a brand new family which would create a new family ID in the database and lose the family's profile picture).

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$response = $breeze->url('https://yoursubdomain.breezechms.com/api/families/add?people_ids_json=[1111111,2222222,3333333]&target_person_id=9999999');
Gems
Snakes

Example Response

{
    "success":true
}

Description

List the fields for a given form.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/families/create?people_ids_json=[1111111,2222222,3333333]&target_person_id=9999999
Name Description Example Default
people_ids_json The json encoded ids of the people that should be added into the existing family. [1111111,2222222,3333333] -
target_person_id The person id of anyone who is in the existing family that the people_ids_json should be added to. It does not matter which family member it is. 9999999 -

Remove Person from Existing Family

https://yoursubdomain.breezechms.com/api/families/remove

This command does NOT delete any people, rather it disconnects the specified person/people from a family they are a part of (if any).

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');
$response = $breeze->url('https://yoursubdomain.breezechms.com/api/families/remove?people_ids_json=[1111111,2222222,3333333]');
Gems
Snakes

Example Response

{
    "success":true
}

Description

List the fields for a given form.

Arguments

e.g. https://yoursubdomain.breezechms.com/api/families/remove?people_ids_json=[1111111,2222222,3333333]
Name Description Example Default
people_ids_json The json encoded ids of the people that should be removed from the family they are currently in. [1111111,2222222,3333333] -

Account

Account Summary

https://yoursubdomain.breezechms.com/api/account/summary

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');

// get all breeze ids for people updated since 2016-1-25
$summary = $breeze->url('https://yoursubdomain.breezechms.com/api/account/summary');
Gems
Snakes

Example Response

{
    "id":"1234",
    "name":"Grace Church",
    "subdomain":"gracechurchdemo",
    "status":"1",
    "created_on":"2023-09-10 09:19:35",
    "details":{
        "timezone":"America\/New_York",
        "country":{
            "id":"2",
            "name":"United States of America",
            "abbreviation":"USA",
            "abbreviation_2":"US",
            "currency":"USD",
            "currency_symbol":"$",
            "date_format":"MDY",
            "sms_prefix":"1"
        }
    }
}

List Account Log

https://yoursubdomain.breezechms.com/api/account/list_log

Example Request

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');

// get all breeze ids for people updated since 2016-1-25
$logged_actions = $breeze->url('https://yoursubdomain.breezechms.com/api/account/list_log?action=person_updated&start=2016-1-25');
Gems
Snakes

Example Response

[
{
        "id":"112",
        "oid":"123",
        "user_id":"261",
        "action":"person_updated",
        "object_json":"\"5023943\"",
        "created_on":"2023-08-15 04:41:10"
    },
{
        "id":"113",
        "oid":"123",
        "user_id":"261",
        "action":"person_updated",
        "object_json":"\"5023253\"",
        "created_on":"2023-08-15 04:44:25"
    },
{
        "id":"114",
        "oid":"123",
        "user_id":"261",
        "action":"person_updated",
        "object_json":"\"5023129\"",
        "created_on":"2023-08-15 04:49:31"
    }
]

Description

Retrieve a list of events based on search criteria.
Name Description Example Default
action A required parameter indicating which type of logged action should be returned. Communications
text_sent

Contributions
contribution_added
contribution_updated
contribution_deleted
bulk_contributions_deleted
envelope_created
envelope_updated
envelope_deleted
payment_method_updated
payment_method_deleted
payment_method_created
bank_account_added
bank_account_updated
transfer_day_changed
bank_account_deleted
payment_association_deleted
payment_association_created
bulk_import_contributions
bulk_import_pledges
bulk_pledges_deleted
batch_updated
batch_deleted
bulk_envelopes_deleted

Events
event_created
event_updated
event_deleted
event_instance_deleted
event_future_deleted
events_calendar_created
events_calendar_updated
events_calendar_deleted
bulk_import_attendance
attendance_deleted
bulk_attendance_deleted

Volunteers
volunteer_role_created
volunteer_role_deleted

People
person_created
person_updated
person_deleted
person_archived
person_merged
people_updated
bulk_update_people
bulk_people_deleted
bulk_people_archived
bulk_import_people
bulk_notes_deleted

Tags
tag_created
tag_updated
tag_deleted
bulk_tags_deleted
tag_folder_created
tag_folder_updated
tag_folder_deleted
tag_assign
tag_unassign

Forms
form_created
form_updated
form_deleted
form_entry_updated
form_entry_deleted

Follow Ups
followup_option_created
followup_option_updated
followup_option_deleted

Users
user_created
user_updated
user_deleted
role_created
role_updated
role_deleted

Extensions
extension_installed
extension_uninstalled
extension_upgraded
extension_downgraded

Account
sub_payment_method_updated
-
start The start date range for actions that should be returned. If not provided, logged items will be fetched from as long ago as the log is storing. 2016-10-25
2013-11-15
-
end The end date range for actions that should be returned. If not provided, logged items will be fetched up until the current moment. 2017-04-25
2017-12-17
-
user_id The user_id of the user who made the logged action. If not provided, all users' actions will be returned. 145
420
250
-
details If details about the logged action should be returned. Note that this column is not guaranteed to be standardized and should not be relied upon for anything more than a description. 1
0
0
limit The number of logged items to return. Max is 3,000. 50
1000
500

Examples

Display Person

This example shows how to fetch all profile fields and then, for a given person, iterate through each profile field, outputting the data for that field for that person.

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key');

// get person information
$person_id = 3959584;
$person = $breeze->url('https://yoursubdomain.breezechms.com/api/people/'.$person_id);
$person = json_decode($person);
$person_details = $person->details;

// get all profile fields
$field_sections = $breeze->url('https://yoursubdomain.breezechms.com/api/profile');
$field_sections = json_decode($field_sections);

// output person's name
echo "<h1>" . $person->first_name . " " . $person->last_name . "</h1><hr />";

// for each profile field section
foreach($field_sections as $field_section) {
    
    // include the section name
    echo "<h2>" . $field_section->name . "</h2>";
    
    // for each field in that section
    foreach($field_section->fields as $field) {
     
        // output the field name and ID
        echo "<h4>" . $field->name . " (".$field->field_id.")</h4>";
        
        // and output the person's details for that field
        var_dump($person_details->{$field->field_id});
        
    }
    
}
          
Gems
Snakes

Payment Integration

This example shows a typical integration a third party payment processor might use to store processed payments within Breeze.

require_once('breeze/breeze.php');
$breeze = new Breeze('your_api_key ');

$date = "2024-1-25"; // date gift was given

$processor = "Acme Corp"; // name of 3rd party giving platform

$method = "Check"; // method name; can be any string as if it does not already exist, it will be auto-created

$amount = 100; // full contribution amount

$funds = Array(); // list of funds that the gift is given to (can accept more than one for split fund gifts)

// designate $70 to General Fund
$fund = new stdClass();
$fund->name = "General Fund";
$fund->amount = 70;
$funds[] = $fund;

// designate $30 to Missions Fund
$fund = new stdClass();
$fund->name = "Missions Fund";
$fund->amount = 30;
$funds[] = $fund;

$funds_json = json_encode($funds); // store as json to pass in URL

$group = date('YW'); // all contributions with the same group will be put into the same batch - by creating a group out of the date('YW'), we effectively create a new batch for each week

$batch_name = $processor . " Giving";

// Pass along person's information.  If person is not already matched in Breeze, this will help the Breeze user either create or match the gift with the correct profile
$person = new stdClass();
$person->name = "John Doe";
$person->email = "john.doe@example.com";
$person_json = json_encode($person); // store as json to pass in URL

// A unique ID for the person as defined by the giving platform, not Breeze (i.e. this can be whatever you'd like).  After the Breeze user initially matches this gift, all future gifts with this same unique ID will automatically connect to the correct profile
$uid = "123f3d5g62";

// store payment
$response = $breeze->url('https://yoursubdomain.breezechms.com/api/giving/add?date=' . $date . '&person_json=' . $person_json . '&uid=' . $uid . '&processor=' . $processor . '&method=' . $method . '&funds_json=' . $funds_json . '&amount=' . $amount . '&group=' . $group . '&batch_name=' . $batch_name);
          
Gems
Snakes