---
title: "Appointments.create"
method: POST
path: "/entities/Appointments"
tags: ["Activity"]
---

# Appointments.create

`POST /entities/Appointments`

## Request

- Base URL: `https://us-east.api.coevera.com/api/v100/rest/spaces/your_space_id`
- URL: `https://us-east.api.coevera.com/api/v100/rest/spaces/your_space_id/entities/Appointments`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/coevera/apis/coevera-crm-api/docs/entities/Appointments/post.ts> (a function with typed inputs; its response is checked against the schema)

Creates a Appointment record.

## Query parameters

- `validation-level` integer

## Request body

- CreateAppointmentInput: Field values of a new Appointment record.
  - `media_transcription_id` string, uuid: Id of the linked Media record holding the activity's call recording / transcription, when available.
  - `modified` string, date-time: Last modification time.
  - `created` string, date-time: Creation time.
  - `activity_type_id` string, uuid: Id of the appointment type.
  - `currency_exchange_rates_list_id` string, uuid: Id of the currency exchange rate list applied to this appointment.
  - `description` string: Free-form description of the appointment.
  - `duration` number, double: Duration of the appointment, derived from start/end dates.
  - `end_date` string, date-time, required: End timestamp of the appointment.
  - `invitees_can_edit` boolean: True when invitees are allowed to edit the appointment. Defaults to false.
  - `is_recurrence_active` boolean: True when the recurrence series is still generating new occurrences. Read-only.
  - `is_recurrence_exception` boolean: True when this occurrence has been modified independently of the recurring series. Read-only.
  - `location` string: Free-text physical location of the appointment.
  - `meeting_url` object: Online meeting link associated with the appointment (join URL plus meeting type, e.g. Zoom, Teams). Empty when the appointment has no online meeting attached.
  - `occurence_date` string, date-time: Original date of this occurrence in the recurring series. Set automatically.
  - `organizer` string: Email of the user organising the appointment. Set automatically and used as the reply-to address in invitation emails.
  - `owner_id` string, uuid, required: Id of the appointment owner.
  - `recurrence_master_id` string, uuid: Id of the master appointment.
  - `recurrence_rule` string: iCalendar RRULE string describing the recurrence pattern (e.g. "FREQ=WEEKLY;BYDAY=MO,WE"). Empty for non-recurring appointments.
  - `recurrence_tzid` string: IANA timezone the recurrence rule is evaluated in.
  - `schedule_id` string, uuid: Id of the appointment schedule.
  - `schedule_tzid` string: IANA timezone the appointment was booked in (e.g. "Europe/Bratislava"). Used to evaluate availability against the schedule.
  - `start_date` string, date-time: Start timestamp of the appointment.
  - `subject` string, required: Short summary line shown in calendars and lists.
  - `unit_id` string, uuid: Id of the sales unit.
  - `revision` integer: Revision when entity was lastly changed.
  - `account_relations` object[]: Accounts this appointment is linked to.
    - `id` string, uuid: Id of the related ActivityRelation record.
  - `contact_relations` object[]: Contacts this appointment is linked to.
    - `id` string, uuid: Id of the related ActivityRelation record.
  - `lead_relations` object[]: Leads this appointment is linked to.
    - `id` string, uuid: Id of the related ActivityRelation record.
  - `opportunity_relations` object[]: Opportunities this appointment is linked to.
    - `id` string, uuid: Id of the related ActivityRelation record.
  - `project_relations` object[]: Projects this appointment is linked to, including the per-objective ordering.
    - `id` string, uuid: Id of the related ActivityRelation record.
  - `quote_relations` object[]: Quotes this appointment is linked to.
    - `id` string, uuid: Id of the related ActivityRelation record.
  - `custom_entity_relations` object[]: Custom entity records this appointment is linked to.
    - `id` string, uuid: Id of the related ActivityRelation record.
  - `invitees_contacts` object[]: Non-user invitees on this appointment, identified by email. Contacts are auto-linked when their email matches an existing Contact record.
    - `id` string, uuid: Id of the related AppointmentContactInviteesRelation record.
  - `invitees_clients` object[]: Internal-user invitees on this appointment.
    - `id` string, uuid: Id of the related AppointmentClientInviteesRelation record.
  - `reminder` object: Reminder set by the current authenticated user for this appointment. Per-user; empty when no reminder has been set. Related AppointmentReminder record; see 'createAppointmentReminderInput' for its fields.
    - `id` string, uuid: Id of the related AppointmentReminder record.
  - `documents` object[]: Documents linked to this appointment.
    - `id` string, uuid: Id of the related CloudObjectRelation record.
  - `comments` object[]: Comments authored on this appointment.
    - `id` string, uuid: Id of the related ActivityComment record.
  - `tags` object[]: Tag labels applied to this appointment.
    - `id` string, uuid: Id of the related TagRelation record.

## Response `201`

The created Appointment record.

- object
  - `success` boolean: True when the request succeeded; false on error.
  - `data` Appointment: Meeting or call scheduled in the calendar, with its invited users and contacts, linked to the records it concerns.
    - `is_delete_protected` boolean, required: True when the record is protected against deletion because it must always exist in the space. Deleting a record that is not protected can still fail on other checks. Read-only.
    - `id` string, uuid, required: Unique identifier of entity.
    - `active_reminder` string, date-time: Timestamp of the next pending reminder configured for the activity (reminder time, due date or end date as applicable). Empty when no reminder is pending.
    - `media_transcription_id` string, uuid: Id of the linked Media record holding the activity's call recording / transcription, when available.
    - `is_deleted` boolean: Specifies if the entity is considered deleted.
    - `modified` string, date-time: Last modification time.
    - `created` string, date-time: Creation time.
    - `activity_type` string, uri, required: Appointment type that classifies this appointment. Drives form layout and icon. Related AppointmentType record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'AppointmentType' for its fields.
    - `currency_exchange_rates_list` string, uri: Currency exchange rate list used to convert monetary fields linked to this appointment. Empty to inherit the team space default. Related CurrencyExchangeRatesList record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'CurrencyExchangeRatesList' for its fields.
    - `owner` string, uri, required: Sales user who owns this appointment. Related Client record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Client' for its fields.
    - `recurrence_master` string, uri: Master appointment of the recurring series this occurrence belongs to. Empty for standalone appointments and for the master itself. Related Appointment record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Appointment' for its fields.
    - `schedule` string, uri: Appointment schedule (booking link) this appointment was created through, or empty for appointments created directly. Related AppointmentSchedule record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'AppointmentSchedule' for its fields.
    - `unit` string, uri, required: Sales unit this appointment is assigned to. Determines which team members can see the record under unit-based sharing. Related SalesUnit record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'SalesUnit' for its fields.
    - `activity_type_id` string, uuid: Id of the appointment type.
    - `currency_exchange_rates_list_id` string, uuid: Id of the currency exchange rate list applied to this appointment.
    - `description` string: Free-form description of the appointment.
    - `duration` number, double: Duration of the appointment, derived from start/end dates.
    - `end_date` string, date-time, required: End timestamp of the appointment.
    - `invitees_can_edit` boolean: True when invitees are allowed to edit the appointment. Defaults to false.
    - `is_recurrence_active` boolean: True when the recurrence series is still generating new occurrences. Read-only.
    - `is_recurrence_exception` boolean: True when this occurrence has been modified independently of the recurring series. Read-only.
    - `location` string: Free-text physical location of the appointment.
    - `meeting_url` object: Online meeting link associated with the appointment (join URL plus meeting type, e.g. Zoom, Teams). Empty when the appointment has no online meeting attached.
    - `occurence_date` string, date-time: Original date of this occurrence in the recurring series. Set automatically.
    - `organizer` string: Email of the user organising the appointment. Set automatically and used as the reply-to address in invitation emails.
    - `owner_id` string, uuid, required: Id of the appointment owner.
    - `recurrence_master_id` string, uuid: Id of the master appointment.
    - `recurrence_rule` string: iCalendar RRULE string describing the recurrence pattern (e.g. "FREQ=WEEKLY;BYDAY=MO,WE"). Empty for non-recurring appointments.
    - `recurrence_tzid` string: IANA timezone the recurrence rule is evaluated in.
    - `schedule_id` string, uuid: Id of the appointment schedule.
    - `schedule_tzid` string: IANA timezone the appointment was booked in (e.g. "Europe/Bratislava"). Used to evaluate availability against the schedule.
    - `start_date` string, date-time: Start timestamp of the appointment.
    - `subject` string, required: Short summary line shown in calendars and lists.
    - `table_name` string, required: Discriminator identifying the concrete record type — always "appointment" for Appointment records. Read-only; useful when consuming polymorphic Activity results.
    - `unit_id` string, uuid: Id of the sales unit.
    - `revision` integer: Revision when entity was lastly changed.
    - `status` 1 | 2 | 3 | 4 | 5 | 6, required: Current status of the appointment (NotStarted, InProgress, Completed, Canceled). Read-only; derived from the start/end times and the deleted flag. Integer enum value: 1 - NotStarted, 2 - InProgress, 3 - Waiting, 4 - Completed, 5 - Deferred, 6 - Canceled
    - `account_relations` string[]: Accounts this appointment is linked to.
    - `contact_relations` string[]: Contacts this appointment is linked to.
    - `lead_relations` string[]: Leads this appointment is linked to.
    - `opportunity_relations` string[]: Opportunities this appointment is linked to.
    - `project_relations` string[]: Projects this appointment is linked to, including the per-objective ordering.
    - `quote_relations` string[]: Quotes this appointment is linked to.
    - `custom_entity_relations` string[]: Custom entity records this appointment is linked to.
    - `invitees_contacts` string[]: Non-user invitees on this appointment, identified by email. Contacts are auto-linked when their email matches an existing Contact record.
    - `invitees_clients` string[]: Internal-user invitees on this appointment.
    - `exchange_entity_id` string: External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
    - `gapi_entity_id` string: External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
    - `o365_entity_id` string: External identifier of the record in the linked third-party service (e.g. Google, Microsoft 365, Exchange). Maintained by the sync engine.
    - `has_3rd_party_mapping` boolean, required: True when this appointment is mirrored to an external calendar (Office 365, Exchange, Google). Read-only.
    - `reminder` string, uri: Reminder set by the current authenticated user for this appointment. Per-user; empty when no reminder has been set. Related AppointmentReminder record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'AppointmentReminder' for its fields.
    - `documents` string[]: Documents linked to this appointment.
    - `comments` string[]: Comments authored on this appointment.
    - `tags` string[]: Tag labels applied to this appointment.
    - `formatted_name` string, required: Display name of the appointment (alias of subject).
    - `recurrence` object: Recurrence configuration for recurring appointments (parsed RRULE plus exception metadata). Empty for one-off appointments.
    - `modified_by_user` string, date-time: Timestamp of the most recent modification made by an end user (excluding system changes). Read-only; computed by Coevera.

## Other responses

- `400`: Bad request: a bad or unknown parameter (codes 117, 118), a missing permission (code 50), conflicting data (code 2002) or any other API error. The REST API answers 400 where others answer 403 or 409; check `code`.
- `401`: Not authenticated: missing or wrong credentials, a credential of another space, or an expired token (code 401, ERROR_UNAUTHORIZED).
- `422`: Validation failed (code 40000, with the failing fields) or a required parameter is missing (code 119). By default one failed item fails a whole batch and nothing is written.
- `429`: Too many requests (code 182). Wait for the seconds in Retry-After, then retry.
- `500`: Unexpected server error (code 1000, ERROR_UNKNOWN).

---

[API](https://skmtc.dev/coevera/apis/coevera-crm-api.md) - [All operations](https://skmtc.dev/coevera/apis/coevera-crm-api/llms.txt) - [OpenAPI document](https://skmtc.dev/coevera/apis/coevera-crm-api/revisions/40ebbc83f179?raw)
