---
title: "Get Class"
method: GET
path: "/classes/{class_id}"
tags: ["Class"]
---

# Get Class

`GET /classes/{class_id}`

Get a Class by ID.

## Path parameters

- `class_id` integer, required

## Headers

- `x-api-key` string, required

## Response `200`

Class Data

- ClassResponse — Class Data
  - `id` integer, required — Class Id
  - `name` string, required — Class Name
  - `description` string — Class Description
  - `program_id` integer, required — Class Program Id
  - `program_name` string — Class Program Name
  - `location_id` integer, required — Location Id
  - `location` string — Location Name
  - `start_date_time` string, date-time, required — Class Start Date Time, in Customer&#39;s time zone
  - `start_date` string, date — Class Start Date in Customer&#39;s Time Zone
  - `start_time` string, time, required — Class Start Time in Customer&#39;s Time Zone
  - `end_date_time` string, date-time, required — Class End Date Time, in Customer&#39;s Timezone
  - `end_date` string, date — Class End Date, In Customer&#39;s Timezone
  - `recurring_class_id` integer — Class&#39;s Recurring Class Id
  - `recurring_class` string — Class&#39;s Recurring Class Name
  - `calendar_color` string — Class Calendar Icon Color
  - `class_limit` integer, required — Maximum Attendees Allowed in Class
  - `allow_waitlist` boolean — True if the Class has a Waitlist Allowed
  - `reservation_open` integer — Units of Time Before the Class when Reservations Open, based on the Reservation Open Time format
  - `reservation_open_time_format_id` integer — Time Format Unit Id for Reservation Open
  - `reservation_open_time_format` string — Time Format Unit Name for Reservation Open
  - `reservation_close` integer — Units of Time Before the Class when Reservations Open, based on the Reservation Open Time format
  - `reservation_close_time_format_id` integer — Time Format Unit Id for Reservation Close
  - `reservation_close_time_format` string — Time Format Unit Name for Reservation Close
  - `cancellation_time` integer — Units of Time Before the Class when Attendees are allowed to cancel, based on the Reservation Open Time format
  - `cancellation_time_format_id` integer — Time Format Unit Id for CancellationTime
  - `cancellation_time_format` string — Time Format Unit Name for CancellationTime
  - `cancel_class_if_no_reservations` boolean — True If the Class Will Be Cancelled If It Has No Reservations
  - `cancel_class_time` integer — Units of Time Before A Class Cancels If There Are No Reservations
  - `cancel_class_time_format_id` integer — Time Format Unit Id for CancelClassTime
  - `cancel_class_time_format` string — Cancel Class Time Format
  - `cancel_close_date_time` string, date-time — Date Time At Which Cancellations Close
  - `reservation_close_date_time` string, date-time — Date Time At Which Reservations Close
  - `is_cancelled` boolean — True When The Class Is Marked As Cancelled
  - `count_towards_attendance_limits` boolean, required — True If Class Attendances Count Toward Client Attendance Limits
  - `reserved` integer — Number of Reservations, When Class Limit Is Enabled
  - `signed_in` integer — Number Signed In, When Class Limit Is Enabled
  - `drop_in` integer — Number of Drop In Attendees For A Class
  - `waitlisted` integer — Number Waitlisted, If The Class Limit Is Enabled
  - `available` integer — Number Of Available Class Slots, If The Class Limit Is Enabled
  - `cancelled` integer — Number Of Attendee Cancellations, If The Class Limit Is Enabled
  - `no_show` integer — Number Of No Shows, If The Class Limit Is Enabled
  - `percent_filled` integer — Percent Of The Class Limit Filled By Attendees
  - `is_full` boolean — True If The Class Is Full, If The Class Limit Is Enabled
  - `class_warning_status_id` integer — Class Warning Status Id
  - `class_warning_status` string — Class Warning Status Label
  - `warning` string — Class Warning
  - `is_warning_ignored` boolean — True If The Class Warning Is Ignored
  - `is_changed` boolean — True If The Class Has Been Changed
  - `change_log` string — Text Log Of Changes To The Class
  - `is_marked_for_removal` boolean — True If The Class Has Been Marked For Removal
  - `is_drop_in_online` boolean — True If Online Dropins Are Enabled For The Class
  - `is_free_trial_online` boolean — True If Free Trials Have Been Enabled For The Class
  - `is_no_show_warning_completed` boolean — True If The No Show Warning Has Been Completed
  - `is_no_show_completed` boolean — True If No Shows Have Been Completed
  - `start_date_time_server` string, date-time, required — Server Date Time When The Class Starts
  - `start_date_server` string, date — Server Date When The Class Starts
  - `start_time_server` string, time, required — Server Time When The Class Starts
  - `end_date_time_server` string, date-time, required — Server Date Time When The Class Ends
  - `end_date_server` string, date — Server Date When The Class Ends
  - `reservation_close_date_time_server` string, date-time — Server Date Time When Class Reservations Close
  - `cancel_class_date_time_server` string, date-time — Server Date Time When The Cancellation Window Closes
  - `is_deleted` boolean — Indicates if the class was manually deleted by a User. Only applied to classes that were borned from recurring classes. Eventually it will be hard deleted through a timer
  - `waitlist_type_id` integer — The Type Of Class Waitlist, Indicating How The Waitlist Should Behave. NULL Or FirstReply - All Clients Emailed, First To Reply Gets Added To Class. PriorityWaitlist_FirstSignUp - Client Automatically Added To The Class In The Order They Signed Up.
  - `waitlist_type` string
  - `free_trial_limit` integer — Limit Of Allowed Free Trials For The Class
  - `has_free_trial_limit` boolean — True if there is a Free Trial Limit
  - `is_free_trial_full` boolean — True if the number of Free Trials for this class is at capacity given the FreeTrialLimit number.
  - `is_classpass_enabled` boolean — True if ClassPass is Enabled
  - `is_wellhub_enabled` boolean — True if Wellhub is enabled
  - `coaches` CoachResponse[]
    - `coach_id` integer — User Id (Identifier) of the coach
    - `coach` string — Name of the coach
    - `payroll_position_id` integer — Payroll position Id of the coach
    - `payroll_position` string — Name of the payroll position the coach is assigned to for the class
  - `created` Created — Record creation data.
    - `created_by_id` integer — Unique ID of the user that created the record.
    - `created_by` string — Name of the user that created the record.
    - `created_on_datetime` string, date-time — Datetime on which the record was created.
  - `updated` Updated — Update info
    - `updated_by_id` integer — Unique ID of the user that last updated the record.
    - `updated_by` string — Name of the user that most recently updated the record.
    - `updated_on_datetime` string, date-time — Datetime on which the record was last updated.
  - `wodify_validation_result` string — The purpose of this attribute is to save any UserException message, that is, and user friendly message that should be shown to the end user. All methods should have, just like service actions: - an UserException with Abort Transaction = Yes, and a Log Error = No - an AllExceptions with Abort Transaction = Yes, and a Log Error = Yes With this, any known issue that we don&#39;t consider an error log, like a business validation, we raise it to be catch in the UserException and we don&#39;t log it. Then, in the OnResponse of the full REST service, the Build_Response_JSON action will take care on the output json format. An Exception will have the default formatted error message. If its an AllException, it will log the error so that we can fix it. If its a UserException, it will deliver as an error but it won&#39;t log it as an error. A success output will not have this attribute, the Build_Response_JSON will remove it from the final output.

---

[API](https://skmtc.net/wodify/apis/leads.md) · [All operations](https://skmtc.net/wodify/apis/leads/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/wodify/leads/revisions/974500ca0714/schema)
