# Returns a course offering from the system by its ID. This method will look up a course offering by the specified ID and return it back. Endpoint: GET /courseOfferings/{tenantId}/{id} Version: v1-2025-04-18 Security: knox-authorizer ## Path parameters: - `tenantId` (string, required) The id of the tenant being accessed. - `id` (string, required) The ID of the course offering to return. ## Query parameters: - `fields` (string) The fields that you want to retrieve; if omitted, the entire object is returned. - `consistentRead` (string) Indicates the API should force a consistent read on the data source. ## Response 200 fields (application/json): - `additional_instructor_ids` (array) Additional instructors - `address` (object) A complete address - `address.city` (string) The city of the address - `address.country` (string) The country ISO code Enum: "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW" - `address.country_name` (string) The full name of hte country - `address.county` (string) The county - `address.latitude` (number) - `address.line1` (string) The first line of the address - `address.line2` (string) The second line of the address - `address.line3` (string) The third line of the address - `address.longitude` (number) - `address.postal_code` (string) The zip/postal code - `address.state` (string) The state/province of the address - `address.time_zone_id` (string) - `capacity_options` (object, required) - `capacity_options.capacity` (number, required) The offering capacity - `course_id` (string, required) The course being scheduled - `course_type_id` (string) The type of course - `credits_to_assign` (array, required) - `credits_to_assign.automatically_verify` (boolean) If true, the credits are verified upon assignment - `credits_to_assign.credit_type_id` (string, required) The credit type - `credits_to_assign.quantity` (number, required) The qty to assign - `custom_field_values` (array) - `custom_field_values.boolean_value` (boolean) The boolean value - `custom_field_values.custom_field_id` (string) The unique identifier of the custom field - `custom_field_values.file_url_value` (string) The pointer to a file value - `custom_field_values.list_value` (array) The list value - `custom_field_values.numeric_value` (number) The numeric value - `custom_field_values.string_value` (string) The string value of the custom field - `custom_field_values.table_value` (array) A list of objects (a table) - `description` (string) Any information you want to display about this in the portal - `eligibility_requirements` (object, required) The criteria to use - `eligibility_requirements.advanced_rule_error_message` (string) The error message to show when the advanced rule fails - `eligibility_requirements.advanced_rules` (object) - `eligibility_requirements.age_restrictions` (object) - `eligibility_requirements.age_restrictions.maximum_age` (number) The maximum age of the contact - `eligibility_requirements.age_restrictions.minimum_age` (number) The minimum age of the contact - `eligibility_requirements.award_options` (object) - `eligibility_requirements.award_options.award_ids` (array) - `eligibility_requirements.award_options.award_type_ids` (array) - `eligibility_requirements.award_options.logic_operator` (string) Enum: "and", "not" - `eligibility_requirements.award_recipients` (boolean) If set, only people who have received awards - `eligibility_requirements.by_location` (boolean) If true, then filter by location - `eligibility_requirements.certificants` (boolean) If set, only people with specific certifications - `eligibility_requirements.certification_options` (object) - `eligibility_requirements.certification_options.program_ids` (array) - `eligibility_requirements.committee_member_options` (object) - `eligibility_requirements.committee_member_options.committee_ids` (array) - `eligibility_requirements.committee_member_options.committee_position_ids` (array) - `eligibility_requirements.committee_member_options.committee_type_ids` (array) - `eligibility_requirements.committee_members` (boolean) If set, active members who belong to a committee can purchase - `eligibility_requirements.custom_logic_options` (object) - `eligibility_requirements.custom_logic_options.lambda_function_id` (string, required) The custom lambda function to use - `eligibility_requirements.customer_type` (string) Enum: "contact", "organization" - `eligibility_requirements.donor_options` (object) - `eligibility_requirements.donor_options.donor_club_ids` (array) - `eligibility_requirements.donors` (boolean) If true, only donors - `eligibility_requirements.enable_advanced_rules` (boolean) Enable advanced JSON rules - `eligibility_requirements.enable_age_restrictions` (boolean) Age registrations - `eligibility_requirements.enable_custom_logic` (boolean) If set, the order engine will call out to a custom lambda function to process/change the order immediately after bundle expansion - `eligibility_requirements.enable_entitlement_restrictions` (boolean) If set, then you must have certain entitlements - `eligibility_requirements.enable_expression` (boolean) Whether or not to enable an expression for evaluation - `eligibility_requirements.enable_organization_restrictions` (boolean) If set, you can restrict organizations - `eligibility_requirements.enable_status_restriction` (boolean) If set, you can restrict by status - `eligibility_requirements.entitlement_restrictions` (array) - `eligibility_requirements.entitlement_restrictions.quantity` (number) The quantity you must have - `eligibility_requirements.entitlement_restrictions.type_id` (string, required) The type of entitlement - `eligibility_requirements.event_registration_options` (object) - `eligibility_requirements.event_registration_options.event_ids` (array) - `eligibility_requirements.event_registration_options.registration_category_ids` (array) - `eligibility_requirements.event_registrations` (boolean) If set, only people who have registered for events - `eligibility_requirements.expression` (string) The expression - `eligibility_requirements.expression_error_message` (string) The error message to show when the expression fails - `eligibility_requirements.location` (object) - `eligibility_requirements.location.countries` (array) Countries - `eligibility_requirements.location.negate_logic` (boolean) If true, the logic in this section is negated; so NOT from these places - `eligibility_requirements.member_options` (object) - `eligibility_requirements.member_options.chapter_member_options` (object) - `eligibility_requirements.member_options.chapter_member_options.chapter_ids` (array) - `eligibility_requirements.member_options.chapter_member_options.chapter_type_ids` (array) - `eligibility_requirements.member_options.chapter_members` (boolean) If set, active members who belong to a chapter can purchase - `eligibility_requirements.member_options.member_package_ids` (array) The member package - `eligibility_requirements.member_options.member_status_reason_ids` (array) - `eligibility_requirements.member_options.member_statuses` (array) Enum: "active", "inactive", "suspended" - `eligibility_requirements.member_options.member_type_ids` (array) The member types - `eligibility_requirements.member_options.section_member_options` (object) - `eligibility_requirements.member_options.section_member_options.section_ids` (array) - `eligibility_requirements.member_options.section_member_options.section_type_ids` (array) - `eligibility_requirements.member_options.section_members` (boolean) If set, active members who belong to a section can purchase - `eligibility_requirements.members` (boolean) If set, active members can purchase this - `eligibility_requirements.non_members` (boolean) If set, only nonmembers can purchase - `eligibility_requirements.organization_restrictions` (object) - `eligibility_requirements.organization_restrictions.contact_role_ids` (array) - `eligibility_requirements.organization_restrictions.organization_type_ids` (array) - `eligibility_requirements.status_restrictions` (array) The statuses - `eligibility_requirements.use_organization_for_eligibility` (boolean) If checked, a person's organization is used to check for eligibility, rather than the person themselves - `enable_capacity` (boolean) Whether capacity is set - `enable_eligibility_requirements` (boolean) If true, this offering is only available to certain individuals - `enable_webinar_integration` (boolean) If selecting, registration will be linked to an external webinar service - `end_date` (string, required) The date of the course - `event_id` (string) If this offering is tied to a course, list it here - `fee_id` (string) The course registration fee - `id` (string, required) The unique, string identifier of this course offering - `instructor_id` (string) The instructor - `instructor_names` (array) The names of the instructors - `meeting_url` (string) The URL of the meeting - `name` (string, required) The name of the course offering - `override_credit_assignment` (boolean) If true, the credit assignment rules for this course are overridden for the offering - `program_ids` (array) The programs for which this course is relevant - `publish_to_portal` (boolean) Whether to sell the offering online - `sell_from` (string) Date to sell online from - `sell_until` (string) Date to sell online from - `short_description` (string) Any short descriptive information to display in the directory - `start_date` (string, required) The date of the course - `survey_url` (string) A link to the survey to use after the course is complete - `sys_bulk_load_at` (string) If this record was loaded via bulk, the timestamp when the record was processed - `sys_bulk_load_id` (string) If this record was loaded via bulk, the ID of the bulk load process - `sys_bulk_load_pk` (string) If this record was loaded via bulk, the tenant and key of the bulk load process used as a partition key - `sys_bulk_load_record_no` (number) If this record was loaded via bulk, the record number in the source file - `sys_bulk_load_source_file` (string) If this record was loaded via bulk, the source file - `sys_calculated_field_error` (string) The error associated with the calculated field - `sys_calculated_field_errors` (array) - `sys_calculated_field_errors.error` (string) - `sys_calculated_field_errors.field` (string) - `sys_configuration_snapshot_id` (string) If a snapshot was restored/applies to this record, the ID of the snapshot - `sys_created_at` (string, required) The date/time that this record was created, expressed in ISO-8601 date format - `sys_created_by_id` (string, required) The ID of the user that created this record - `sys_deleted_by_id` (string) The ID of the user that deleted (or last tried to delete) this object - `sys_directive` (string) Means for passing directive information into an object processing logic - `sys_external_id` (string) The ID that a record has from an external system or data import - `sys_has_files_in_s3` (boolean) If true, this record has files in S3. If false, it doesnt, so no need to hit S3 upon deletion - `sys_last_bulk_data_operation_id` (string) If this record was last touched by a bulk data operation, the ID of that operation - `sys_last_bulk_data_operation_sys_version` (string) If this record was last touched by a bulk data operation, the sys_version at the time of that operation - `sys_last_modified_at` (string, required) The date/time that this record record was last modified, expressed in ISO-8601 date format - `sys_last_modified_by_id` (string, required) The ID of the user that last modified this record - `sys_last_security_context` (object) The security context of the last insert, modify, or delete performed on this item - `sys_locked` (boolean) If set, this record is locked and cannot be changed via the API - `sys_snapshot_base_version` (number) The version to use as a base when creating a configuration snapshot; if not set, 1 is used. Helpful when creating a sandbox - `sys_version` (number) A number representing the version of this record in the database - `timezone` (string, required) The timezone in which the course offering lives - `timezone_abbreviation` (string) The timezone abbreviation, based on the event start date - `timezone_mode` (string) Enum: "local", "specific timezone" - `timezone_offset` (number) The time zone offset, in minutes, from UTC, based on the event start date - `training_location_id` (string, required) The training location - `training_provider_id` (string, required) The training provider administering the course - `type` (string) Enum: "in person", "on-demand", "virtual" - `webinar_integration_options` (object, required) - `webinar_integration_options.meeting_id` (string) The meeting id - `webinar_integration_options.type` (string) The video conference type Enum: "meeting", "webinar" - `webinar_integration_options.webinar_account_id` (string, required) The account ID - `webinar_integration_options.webinar_id` (string) The webinar id - `webinar_integration_options.webinar_service` (string, required) The integration service Enum: "integrations-zoom-accounts" - `webinar_url` (string) The URL of the webinar ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 404 fields ## Response 429 fields ## Response 500 fields