---
title: "Create an appointment"
method: POST
path: "/api/v1/appointments"
tags: ["Appointments"]
---

# Create an appointment

`POST /api/v1/appointments`

## Request

- Base URL: `https://api.checkcherry.com`
- URL: `https://api.checkcherry.com/api/v1/appointments`
- Auth: none declared. Required headers: `Api-Key`

Creates a new appointment for the business. The appointment is assigned to the authenticated user by default, or to a specific user via `user_id`.

The `location` field specifies where the appointment takes place (e.g., "Phone", "In Person", a Zoom link, etc.).

**Required permission:** `appointment_create`

## Headers

- `Api-Key` string, required

## Request body

- object
  - `guest_name` string, required: Guest name
  - `guest_email` string, required: Guest email address
  - `guest_phone` string: Guest phone number
  - `additional_guests` string: Additional guest names or details
  - `starts_at_date` string, required: Appointment date (YYYY-MM-DD)
  - `starts_at_time` string, required: Appointment start time (e.g., "2:00 PM")
  - `length_in_minutes` integer, required: Duration in minutes
  - `location` string: Appointment location (e.g., "Phone", "In Person")
  - `private_notes` string: Private internal notes
  - `message` string: Message to the guest
  - `user_id` integer: Staff member ID to assign (defaults to authenticated user)
  - `brand_id` integer: Brand ID (defaults to the primary brand)
  - `user_appointment_calendar_id` integer: Appointment calendar ID for scheduling
  - `created_via` 'quick_add' | 'widget' | 'app', required: How the appointment was created

## Response `200`

appointment created

---

[API](https://skmtc.dev/checkcherry/apis/check-cherry-business-api.md) · [All operations](https://skmtc.dev/checkcherry/apis/check-cherry-business-api/llms.txt) · [OpenAPI document](https://skmtc.dev/checkcherry/apis/check-cherry-business-api/revisions/84a9aabdf519?raw)
