---
canonical_url: "https://docs.composio.dev/toolkits/check_cherry"
markdown_url: "https://docs.composio.dev/toolkits/check_cherry.md"
product: "platform"
version: null
last_updated: null
---

# Check Cherry

Check Cherry is a business management platform for photography and event service companies, with tools for leads, bookings, appointments, offerings, payments, and workflows.

- **Category:** crm
- **Auth:** API_KEY
- **Composio-managed OAuth available?** N/A
- **Tools:** 25
- **Triggers:** 0
- **Slug:** `CHECK_CHERRY`
- **Version:** 00000000_00

## Tools

### Attach Questionnaire

**Slug:** `CHECK_CHERRY_ATTACH_QUESTIONNAIRE`

Copy a questionnaire template onto a proposal or confirmed booking. The new questionnaire keeps the template contents and visibility settings as they exist when attached.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | integer | Yes | Event resource ID for the proposal or confirmed booking that will receive the questionnaire, from List Events; this is not the related event_booking ID. |
| `questionnaire_template_id` | integer | Yes | Questionnaire template ID to copy, from List Questionnaire Templates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Check Event Availability

**Slug:** `CHECK_CHERRY_CHECK_EVENT_AVAILABILITY`

Check whether a package can be booked on one date or across a date range.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ends_at` | string | No | Last date of the range in YYYY-MM-DD format. Required with starts_at when event_date is omitted. |
| `starts_at` | string | No | First date of the range in YYYY-MM-DD format. Required with ends_at when event_date is omitted. |
| `event_date` | string | No | Single date to check in YYYY-MM-DD format. Use this alone, or omit it and provide both starts_at and ends_at. |
| `package_id` | integer | Yes | Package ID to check. Check Cherry requires this value. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Appointment

**Slug:** `CHECK_CHERRY_CREATE_APPOINTMENT`

Create a staff appointment for a guest at a specific date, time, and duration; this changes the business calendar.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | No | Staff user ID; omit to use the authenticated user. |
| `brand_id` | integer | No | Brand ID; omit to use the primary brand. |
| `location` | string | No | Appointment location or channel, such as Phone or In Person. |
| `guest_name` | string | Yes | Guest's full name. |
| `created_via` | string ("quick_add" | "widget" | "app") | Yes | Provider channel to record for appointment creation. |
| `guest_email` | string | Yes | Guest email address. |
| `guest_phone` | string | No | Guest phone number. |
| `private_notes` | string | No | Internal notes not intended for the guest. |
| `starts_at_date` | string | Yes | Appointment date in YYYY-MM-DD format. |
| `starts_at_time` | string | Yes | Appointment start time, such as 2:00 PM. |
| `length_in_minutes` | integer | Yes | Appointment duration in minutes. |
| `appointment_calendar_id` | integer | No | Staff appointment calendar ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Create Expense

**Slug:** `CHECK_CHERRY_CREATE_EXPENSE`

Record a business expense with its payment date, amount, reference, payee, and optional event and category links.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `amount` | number | Yes | Expense amount in the account currency. |
| `event_id` | integer | No | Event ID to associate with the expense. |
| `staff_id` | integer | No | Staff member ID; required when payee_type is staff. |
| `payee_name` | string | No | Payee name; required when payee_type is custom. |
| `payee_type` | string ("custom" | "staff") | No | Whether the payee is a named external payee or a staff member. |
| `description` | string | No | Reason or details for the expense. |
| `payment_date` | string | Yes | Payment date in YYYY-MM-DD format. |
| `payment_method` | string | No | Payment method, such as Cash, Check, or Credit Card. |
| `reference_number` | string | Yes | Unique expense reference number. |
| `expense_category_id` | integer | No | Expense category ID from List Expense Categories. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Appointment

**Slug:** `CHECK_CHERRY_DELETE_APPOINTMENT`

Soft-delete one appointment so it no longer appears in active business calendar records; Check Cherry retains the deleted record.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `appointment_id` | integer | Yes | Unique appointment ID to remove from active calendar records. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Expense

**Slug:** `CHECK_CHERRY_DELETE_EXPENSE`

Soft-delete one business expense so it no longer appears in listings; Check Cherry retains the record for record-keeping.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `expense_id` | integer | Yes | Unique expense ID to remove from expense listings. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Appointment

**Slug:** `CHECK_CHERRY_GET_APPOINTMENT`

Return full guest, scheduling, and assignment details for one appointment.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `appointment_id` | integer | Yes | Unique appointment ID, available from List Appointments. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Event

**Slug:** `CHECK_CHERRY_GET_EVENT`

Return full details for one proposal or confirmed booking by event ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | integer | Yes | Unique event ID, available from List Events. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Lead

**Slug:** `CHECK_CHERRY_GET_LEAD`

Return full details for one lead by ID.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `lead_id` | integer | Yes | Unique lead ID, available from List Leads. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Questionnaire

**Slug:** `CHECK_CHERRY_GET_QUESTIONNAIRE`

Return one questionnaire with its questions, current answers, and completion state.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `questionnaire_id` | integer | Yes | Unique questionnaire ID, available from List Questionnaires. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Report

**Slug:** `CHECK_CHERRY_GET_REPORT`

Return one time-bucketed Check Cherry business report for bookings, leads, payments, proposals, or projected revenue.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `ends_at` | string | No | End of the report range in YYYY-MM-DD format; defaults to today. |
| `brand_id` | integer | No | Limit the report to one brand. |
| `interval` | string ("year" | "quarter" | "month" | "week" | "day") | No | Time bucket for report results. |
| `starts_at` | string | No | Start of the report range in YYYY-MM-DD format; defaults to one year ago. |
| `date_basis` | string ("created_on" | "scheduled_on") | No | Bucketing date for leads or proposals only. created_on uses creation date; scheduled_on uses the requested or proposed event date. |
| `report_type` | string ("bookings" | "leads" | "payments" | "proposals" | "revenue_projection") | Yes | Business metric to report. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Appointments

**Slug:** `CHECK_CHERRY_LIST_APPOINTMENTS`

Search staff appointments by date, assignee, brand, cancellation state, time direction, or text, returning one page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `brand_id` | integer | No | Return appointments for this brand only. |
| `end_date` | string | No | Latest appointment date in YYYY-MM-DD format. |
| `per_page` | integer | No | Number of appointments to request in this page. |
| `staff_id` | string | No | Staff member ID, or 'my' for the authenticated user. |
| `start_date` | string | No | Earliest appointment date in YYYY-MM-DD format. |
| `next_cursor` | string | No | Continuation cursor from a previous call; omit for the first page. |
| `search_text` | string | No | Text to search across appointment and guest details. |
| `past_or_future` | string ("past" | "future" | "both") | No | Return past, future, or both groups of appointments. |
| `canceled_status` | string | No | Check Cherry cancellation-state filter. The provider does not publish the accepted values for appointments, so use a value confirmed for the connected account. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Appointment Slots

**Slug:** `CHECK_CHERRY_LIST_APPOINTMENT_SLOTS`

Return available appointment times for one staff member and appointment calendar on a selected date.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user_id` | integer | Yes | Staff user ID whose appointment availability to inspect. |
| `selected_date` | string | Yes | Date to inspect in YYYY-MM-DD format. |
| `appointment_calendar_id` | integer | Yes | Appointment calendar ID for the selected staff member. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Event Bookings

**Slug:** `CHECK_CHERRY_LIST_EVENT_BOOKINGS`

List package bookings attached to events within an optional event-date range, returning one page and a continuation cursor.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `per_page` | integer | No | Number of bookings to request in this page. |
| `next_cursor` | string | No | Continuation cursor from a previous call; omit for the first page. |
| `event_date_end` | string | No | Latest event date in YYYY-MM-DD format. |
| `event_date_start` | string | No | Earliest event date in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Events

**Slug:** `CHECK_CHERRY_LIST_EVENTS`

Search proposals and confirmed bookings with date, status, client, staff, payment, and workflow filters, returning one page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `brand_id` | integer | No | Return events for this brand only. |
| `past_due` | boolean | No | When true, return only events with a past-due payment. |
| `per_page` | integer | No | Number of events to request in this page. No provider maximum is verified. |
| `staff_id` | integer | No | Return events assigned to this staff member. |
| `client_id` | integer | No | Return events for this client only. |
| `next_cursor` | string | No | Continuation cursor from a previous call; omit for the first page. |
| `search_text` | string | No | Text to search across event and contact details. |
| `event_status` | string ("proposal_date_open" | "proposal_date_reserved" | "proposal_awaiting_review" | "awaiting_signature" | "confirmed" | "any_proposal" | "any_confirmed" | "any_unsigned") | No | Proposal or confirmed-booking status to return. Cancellation is controlled separately by canceled_status. |
| `event_date_end` | string | No | Latest event date in YYYY-MM-DD format. |
| `canceled_status` | string ("hide_canceled" | "show_canceled_only" | "show_all") | No | Cancellation filter: hide_canceled excludes canceled events, show_canceled_only returns only canceled events, and show_all includes both. Omit to use hide_canceled. |
| `awaiting_deposit` | boolean | No | When true, return only events with an unpaid deposit. |
| `event_date_start` | string | No | Earliest event date in YYYY-MM-DD format. |
| `postponed_status` | string ("hide_postponed" | "show_postponed_only" | "show_all") | No | Postponement filter: hide_postponed excludes postponed events, show_postponed_only returns only postponed events, and show_all includes both. Omit to use hide_postponed. |
| `no_staff_assigned` | boolean | No | When true, return only events with no staff assigned. |
| `unsubmitted_forms` | boolean | No | When true, return only events with an unsubmitted form. |
| `balance_outstanding` | boolean | No | When true, return only events with a balance owed. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Expense Categories

**Slug:** `CHECK_CHERRY_LIST_EXPENSE_CATEGORIES`

Return the expense categories available for classifying business expenses.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Expenses

**Slug:** `CHECK_CHERRY_LIST_EXPENSES`

Search business expenses by event, category, payment date, text, and sort order, returning one page.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `sort_by` | string ("paid_at_asc" | "paid_at_desc" | "relevance") | No | Order returned expenses. |
| `event_id` | integer | No | Return expenses associated with this event. |
| `per_page` | integer | No | Number of expenses to request in this page. |
| `next_cursor` | string | No | Continuation cursor from a previous call; omit for the first page. |
| `search_text` | string | No | Search expense reference numbers, payees, and descriptions. |
| `payment_date_end` | string | No | Latest payment date in YYYY-MM-DD format. |
| `payment_date_start` | string | No | Earliest payment date in YYYY-MM-DD format. |
| `expense_category_id` | integer | No | Return expenses in this category. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Leads

**Slug:** `CHECK_CHERRY_LIST_LEADS`

Search leads by exact email or contact and event text, returning one page of CRM records.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `email` | string | No | Return leads with this exact email address. |
| `per_page` | integer | No | Number of leads to request in this page. The provider has no verified maximum, so the default is a conservative 25. |
| `next_cursor` | string | No | Continuation cursor from a previous response; omit for the first page. |
| `search_text` | string | No | Search lead names, emails, phones, venues, and notes. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Offerings

**Slug:** `CHECK_CHERRY_LIST_OFFERINGS`

List one Check Cherry catalog resource: services, package groups, packages, or add-ons.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `resource` | string ("services" | "package_groups" | "packages" | "add_ons") | Yes | Catalog resource to list. |
| `visibility` | string | No | Package visibility filter, such as public_only. Valid only when resource is packages. |
| `search_text` | string | No | Search add-ons by name. Valid only when resource is add_ons. |
| `category_ids` | array | No | Filter add-ons by category IDs. Valid only when resource is add_ons. |
| `widget_visible_only` | boolean | No | Return only add-ons visible on the booking widget. Valid only when resource is add_ons. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Payments

**Slug:** `CHECK_CHERRY_LIST_PAYMENTS`

List event payment records, including received payments and refunds, by event or payment date; returns one page with monetary values in Check Cherry's original representations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | integer | No | Return payments for this event only. |
| `per_page` | integer | No | Number of payments to request in this page. No provider maximum is verified. |
| `next_cursor` | string | No | Continuation cursor from a previous call; omit for the first page. |
| `payment_date_end` | string | No | Latest payment date in YYYY-MM-DD format. |
| `payment_date_start` | string | No | Earliest payment date in YYYY-MM-DD format. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Questionnaires

**Slug:** `CHECK_CHERRY_LIST_QUESTIONNAIRES`

List questionnaires attached to one event booking. Results reflect the authenticated user's visibility permissions and questionnaire display window.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `event_id` | integer | Yes | Event resource ID for the proposal or confirmed booking whose questionnaires to return, from List Events; do not use the related event_booking ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Questionnaire Templates

**Slug:** `CHECK_CHERRY_LIST_QUESTIONNAIRE_TEMPLATES`

Return questionnaire templates that can be attached to an event booking.

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Questionnaire

**Slug:** `CHECK_CHERRY_REMOVE_QUESTIONNAIRE`

Detach one questionnaire from its event booking and delete its collected answers; the source questionnaire template is unchanged. Requires an admin or extended-staff integration-key user in addition to event write permission.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `questionnaire_id` | integer | Yes | Unique questionnaire ID to detach from the booking with its answers. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Expense

**Slug:** `CHECK_CHERRY_UPDATE_EXPENSE`

Change selected fields on an existing business expense.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `amount` | number | No | Replacement expense amount in the account currency. |
| `event_id` | integer | No | Replacement associated event ID. |
| `staff_id` | integer | No | Replacement staff payee ID. |
| `expense_id` | integer | Yes | Unique expense ID to update. |
| `payee_name` | string | No | Replacement custom payee name. |
| `payee_type` | string ("custom" | "staff") | No | Replacement payee type. |
| `description` | string | No | Replacement expense description. |
| `payment_date` | string | No | Replacement payment date in YYYY-MM-DD format. |
| `payment_method` | string | No | Replacement payment method. |
| `reference_number` | string | No | Replacement reference number. |
| `expense_category_id` | integer | No | Replacement expense category ID. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Questionnaire Answers

**Slug:** `CHECK_CHERRY_UPDATE_QUESTIONNAIRE_ANSWERS`

Update answers on a standard questionnaire. By default, answers merge by field UUID, but each supplied UUID replaces that field's complete answer array. Set replace_all to delete answers for omitted UUIDs as well. The integration-key user must be staff with edit access to the questionnaire.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `replace_all` | boolean | No | Whether answers_by_field_uuid represents the complete questionnaire. False merges by field UUID while replacing each supplied field's full answer array; true also deletes answers for omitted field UUIDs. |
| `questionnaire_id` | integer | Yes | Unique questionnaire ID to update. |
| `answers_by_field_uuid` | object | Yes | Answers keyed by field UUID from Get Questionnaire. Each value is the complete array of entries for that field; entry keys depend on the field type (for example, text_field uses text and dropdown uses dropdown). Include every element of each supplied entry; an empty array clears the field. Example: {"field-uuid": [{"text": "Answer"}]}. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
