# Creates a new fee record that does not already exist. This method will auto-generate an ID and create a new fee. If an ID is specified for the fee, an error will be thrown. Endpoint: POST /fees/{tenantId} Version: v1-2025-04-18 Security: knox-authorizer ## Path parameters: - `tenantId` (string, required) The id of the tenant being accessed. ## Request fields (application/json): - `allow_customer_to_choose_installment_plan` (boolean) If true, the customer can choose their installment plan - `bundled_products` (array, required) - `bundled_products.product_id` (string, required) The product ID - `bundled_products.product_type` (string, required) The product type - `bundled_products.quantity` (integer, required) The quantity to bundle - `bundled_products.type` (string, required) Enum: "bundled product" - `bundled_products_inventory_handling` (string) Whether to track inventory for the entire bundle, or for each product separately Enum: "bundle", "each product" - `business_unit_id` (string, required) The business unit of the product - `cancellation_fee` (number) Cancellation fees associated with this product - `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) - `enable_bundled_products` (boolean) Whether to enable bundled products - `enable_cancellation_fees` (boolean) Whether or not cancellation fees are applicable - `enable_purchasing_eligibility` (boolean) If set, purchases of this merchandise are restricted - `foreign_currency_prices` (array) - `foreign_currency_prices.cancellation_fee` (number) The cancellation fee of the product for this currency - `foreign_currency_prices.currency_code` (string, required) Enum: "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYR", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUC", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EEK", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GQE", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LVL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRO", "MUR", "MVR", "MWK", "MXN", "MYR", "MZM", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SRD", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VEB", "VND", "VUV", "WST", "XAF", "XCD", "XDR", "XOF", "XPF", "YER", "ZAR", "ZMK", "ZWR" - `foreign_currency_prices.member_price` (number) The price of the product for a member - `foreign_currency_prices.price` (number) The price of the product - `foreign_currency_prices.restocking_fee` (number) The restocking fee of the product for this currency - `id` (string, required) The unique, string identifier of this miscellaneous product - `installment_plan_options` (array, required) - `installment_plan_options.additional_cost` (number) The additional cost of the installment plan - `installment_plan_options.installment_plan_id` (string, required) The installment plan that this product supports - `installment_plan_options.is_default` (boolean) Whether this is the default installment plan option - `is_active` (boolean) Whether this product is active/used - `member_price` (number) The price of the product for an active member - `name` (string, required) The name of the miscellaneous product - `notes` (string) Notes - `portal_options` (object) - `portal_options.available_from` (string) The date from which this product should be available - `portal_options.available_until` (string) The date until which this product should be available - `publish_to_portal` (boolean) Whether or not this product should be available in the portal - `purchasing_eligibility_criteria` (object, required) - `purchasing_eligibility_criteria.certificants` (boolean) If set, only people with specific certifications - `purchasing_eligibility_criteria.certification_options` (object, required) - `purchasing_eligibility_criteria.certification_options.program_ids` (array) - `purchasing_eligibility_criteria.committee_member_options` (object, required) - `purchasing_eligibility_criteria.committee_member_options.committee_ids` (array) - `purchasing_eligibility_criteria.committee_member_options.committee_position_ids` (array) - `purchasing_eligibility_criteria.committee_member_options.committee_type_ids` (array) - `purchasing_eligibility_criteria.committee_members` (boolean) If set, active members who belong to a committee can purchase - `purchasing_eligibility_criteria.customer_type` (string) Enum: "contact", "organization" - `purchasing_eligibility_criteria.maximum_age` (number) The maximum age of the contact - `purchasing_eligibility_criteria.member_options` (object, required) - `purchasing_eligibility_criteria.member_options.chapter_member_options` (object, required) - `purchasing_eligibility_criteria.member_options.chapter_member_options.chapter_ids` (array) - `purchasing_eligibility_criteria.member_options.chapter_member_options.chapter_type_ids` (array) - `purchasing_eligibility_criteria.member_options.chapter_members` (boolean) If set, active members who belong to a chapter can purchase - `purchasing_eligibility_criteria.member_options.member_package_ids` (array) The member package - `purchasing_eligibility_criteria.member_options.member_status_reason_ids` (array) - `purchasing_eligibility_criteria.member_options.member_statuses` (array) Enum: "active", "inactive", "suspended" - `purchasing_eligibility_criteria.member_options.member_type_ids` (array) The member types - `purchasing_eligibility_criteria.member_options.section_member_options` (object, required) - `purchasing_eligibility_criteria.member_options.section_member_options.section_ids` (array) - `purchasing_eligibility_criteria.member_options.section_member_options.section_type_ids` (array) - `purchasing_eligibility_criteria.member_options.section_members` (boolean) If set, active members who belong to a section can purchase - `purchasing_eligibility_criteria.members` (boolean) If set, active members can purchase this - `purchasing_eligibility_criteria.minimum_age` (number) The minimum age of the contact - `purchasing_eligibility_criteria.non_members` (boolean) If set, only nonmembers can purchase - `sys_bulk_load_id` (string) If this record was loaded via bulk, the ID of the bulk load process - `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_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_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_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_locked` (boolean) If set, this record is locked and cannot be changed via the API - `sys_version` (number) A number representing the version of this record in the database - `type` (string) The product type Enum: "certifications-fees" ## Response 200 fields (application/json): - `allow_customer_to_choose_installment_plan` (boolean) If true, the customer can choose their installment plan - `bundled_products` (array, required) - `bundled_products.product_id` (string, required) The product ID - `bundled_products.product_type` (string, required) The product type - `bundled_products.quantity` (integer, required) The quantity to bundle - `bundled_products.type` (string, required) Enum: "bundled product" - `bundled_products_inventory_handling` (string) Whether to track inventory for the entire bundle, or for each product separately Enum: "bundle", "each product" - `business_unit_id` (string, required) The business unit of the product - `cancellation_fee` (number) Cancellation fees associated with this product - `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) - `enable_bundled_products` (boolean) Whether to enable bundled products - `enable_cancellation_fees` (boolean) Whether or not cancellation fees are applicable - `enable_purchasing_eligibility` (boolean) If set, purchases of this merchandise are restricted - `foreign_currency_prices` (array) - `foreign_currency_prices.cancellation_fee` (number) The cancellation fee of the product for this currency - `foreign_currency_prices.currency_code` (string, required) Enum: "AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BRL", "BSD", "BTN", "BWP", "BYR", "BZD", "CAD", "CDF", "CHF", "CLP", "CNY", "COP", "CRC", "CUC", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EEK", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GQE", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LTL", "LVL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRO", "MUR", "MVR", "MWK", "MXN", "MYR", "MZM", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SRD", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "UYU", "UZS", "VEB", "VND", "VUV", "WST", "XAF", "XCD", "XDR", "XOF", "XPF", "YER", "ZAR", "ZMK", "ZWR" - `foreign_currency_prices.member_price` (number) The price of the product for a member - `foreign_currency_prices.price` (number) The price of the product - `foreign_currency_prices.restocking_fee` (number) The restocking fee of the product for this currency - `id` (string, required) The unique, string identifier of this miscellaneous product - `installment_plan_options` (array, required) - `installment_plan_options.additional_cost` (number) The additional cost of the installment plan - `installment_plan_options.installment_plan_id` (string, required) The installment plan that this product supports - `installment_plan_options.is_default` (boolean) Whether this is the default installment plan option - `is_active` (boolean) Whether this product is active/used - `member_price` (number) The price of the product for an active member - `name` (string, required) The name of the miscellaneous product - `notes` (string) Notes - `portal_options` (object) - `portal_options.available_from` (string) The date from which this product should be available - `portal_options.available_until` (string) The date until which this product should be available - `publish_to_portal` (boolean) Whether or not this product should be available in the portal - `purchasing_eligibility_criteria` (object, required) - `purchasing_eligibility_criteria.certificants` (boolean) If set, only people with specific certifications - `purchasing_eligibility_criteria.certification_options` (object, required) - `purchasing_eligibility_criteria.certification_options.program_ids` (array) - `purchasing_eligibility_criteria.committee_member_options` (object, required) - `purchasing_eligibility_criteria.committee_member_options.committee_ids` (array) - `purchasing_eligibility_criteria.committee_member_options.committee_position_ids` (array) - `purchasing_eligibility_criteria.committee_member_options.committee_type_ids` (array) - `purchasing_eligibility_criteria.committee_members` (boolean) If set, active members who belong to a committee can purchase - `purchasing_eligibility_criteria.customer_type` (string) Enum: "contact", "organization" - `purchasing_eligibility_criteria.maximum_age` (number) The maximum age of the contact - `purchasing_eligibility_criteria.member_options` (object, required) - `purchasing_eligibility_criteria.member_options.chapter_member_options` (object, required) - `purchasing_eligibility_criteria.member_options.chapter_member_options.chapter_ids` (array) - `purchasing_eligibility_criteria.member_options.chapter_member_options.chapter_type_ids` (array) - `purchasing_eligibility_criteria.member_options.chapter_members` (boolean) If set, active members who belong to a chapter can purchase - `purchasing_eligibility_criteria.member_options.member_package_ids` (array) The member package - `purchasing_eligibility_criteria.member_options.member_status_reason_ids` (array) - `purchasing_eligibility_criteria.member_options.member_statuses` (array) Enum: "active", "inactive", "suspended" - `purchasing_eligibility_criteria.member_options.member_type_ids` (array) The member types - `purchasing_eligibility_criteria.member_options.section_member_options` (object, required) - `purchasing_eligibility_criteria.member_options.section_member_options.section_ids` (array) - `purchasing_eligibility_criteria.member_options.section_member_options.section_type_ids` (array) - `purchasing_eligibility_criteria.member_options.section_members` (boolean) If set, active members who belong to a section can purchase - `purchasing_eligibility_criteria.members` (boolean) If set, active members can purchase this - `purchasing_eligibility_criteria.minimum_age` (number) The minimum age of the contact - `purchasing_eligibility_criteria.non_members` (boolean) If set, only nonmembers can purchase - `sys_bulk_load_id` (string) If this record was loaded via bulk, the ID of the bulk load process - `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_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_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_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_locked` (boolean) If set, this record is locked and cannot be changed via the API - `sys_version` (number) A number representing the version of this record in the database - `type` (string) The product type Enum: "certifications-fees" ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 409 fields ## Response 429 fields ## Response 500 fields