# Updates a billing template with the specified ID.

This method will update an existing billing template with the specified ID.

Endpoint: PUT /billingTemplates/{tenantId}/{id}
Version: v1-2025-04-18
Security: knox-authorizer

## Security:

  - `knox-authorizer` (unknown)
    http bearer JWT

## Path parameters:

  - `tenantId` (string, required)
    The id of the tenant being accessed.

  - `id` (string, required)
    The ID of the billing template to update.

## Request body:

  - `application/json` (unknown)
    The updated billing template that will be saved.

## Request fields (application/json):

  - `activate_applications` (boolean)
    If set, this billing run should activate all applications that have met all requirements

  - `application_activation_options` (object, required)

  - `application_activation_options.application_notice_id` (string)
    The notice to send when a renewal order is created

  - `application_activation_options.application_types` (array)

  - `application_activation_options.program_ids` (array)

  - `application_activation_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `application_activation_options.restrict_application_types` (boolean)
    If true, only certain types of applications are included

  - `application_activation_options.restrict_status_reasons` (boolean)
    If true, only applications with certain status reasons will be included

  - `application_activation_options.status_reason_ids` (array)

  - `application_activation_options.training_provider_ids` (array)

  - `application_activation_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

  - `application_expiration_options` (object, required)

  - `application_expiration_options.application_notice_id` (string)
    The notice to send when a renewal order is created

  - `application_expiration_options.application_types` (array)

  - `application_expiration_options.expiration_date_range_end` (object, required)
    The date to use to filter out which memberships are candidate

  - `application_expiration_options.expiration_date_range_end.number` (number, required)
    The unit of time

  - `application_expiration_options.expiration_date_range_end.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `application_expiration_options.expiration_date_range_end.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `application_expiration_options.expiration_date_range_end.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `application_expiration_options.expiration_date_range_start` (object, required)
    The date to use to filter out which memberships are candidate

  - `application_expiration_options.expiration_date_range_start.number` (number, required)
    The unit of time

  - `application_expiration_options.expiration_date_range_start.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `application_expiration_options.expiration_date_range_start.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `application_expiration_options.expiration_date_range_start.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `application_expiration_options.program_ids` (array)

  - `application_expiration_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `application_expiration_options.restrict_application_types` (boolean)
    If true, only certain types of applications are included

  - `application_expiration_options.restrict_status_reasons` (boolean)
    If true, only applications with certain status reasons will be included

  - `application_expiration_options.status_reason_ids` (array)

  - `application_expiration_options.training_provider_ids` (array)

  - `application_expiration_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

  - `application_reminder_options` (object, required)

  - `application_reminder_options.application_types` (array)

  - `application_reminder_options.program_ids` (array)

  - `application_reminder_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `application_reminder_options.reminders` (array, required)

  - `application_reminder_options.reminders.expiration_date_range_end` (object, required)
    The date to use to filter out which memberships are candidate

  - `application_reminder_options.reminders.expiration_date_range_end.number` (number, required)
    The unit of time

  - `application_reminder_options.reminders.expiration_date_range_end.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `application_reminder_options.reminders.expiration_date_range_end.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `application_reminder_options.reminders.expiration_date_range_end.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `application_reminder_options.reminders.expiration_date_range_start` (object, required)
    The date to use to filter out which memberships are candidate

  - `application_reminder_options.reminders.expiration_date_range_start.number` (number, required)
    The unit of time

  - `application_reminder_options.reminders.expiration_date_range_start.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `application_reminder_options.reminders.expiration_date_range_start.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `application_reminder_options.reminders.expiration_date_range_start.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `application_reminder_options.reminders.id` (number)
    A unique, unchangeable reminder id

  - `application_reminder_options.reminders.name` (string)
    Optional name

  - `application_reminder_options.reminders.reminder_notice_id` (string, required)
    The reminder notice

  - `application_reminder_options.restrict_application_types` (boolean)
    If true, only certain types of applications are included

  - `application_reminder_options.restrict_status_reasons` (boolean)
    If true, only applications with certain status reasons will be included

  - `application_reminder_options.status_reason_ids` (array)

  - `application_reminder_options.training_provider_ids` (array)

  - `application_reminder_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

  - `bill_training_providers` (boolean)
    When true, training providers should be sent invoices for training registrations

  - `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)
    A description of the template

  - `drop_options` (object, required)

  - `drop_options.drop_notice_id` (string)
    The notice to send when a renewal order is created

  - `drop_options.expiration_date_range_end` (object, required)
    The date to use to filter out which memberships are candidate

  - `drop_options.expiration_date_range_end.number` (number, required)
    The unit of time

  - `drop_options.expiration_date_range_end.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `drop_options.expiration_date_range_end.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `drop_options.expiration_date_range_end.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `drop_options.expiration_date_range_start` (object, required)
    The date to use to filter out which memberships are candidate

  - `drop_options.expiration_date_range_start.number` (number, required)
    The unit of time

  - `drop_options.expiration_date_range_start.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `drop_options.expiration_date_range_start.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `drop_options.expiration_date_range_start.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `drop_options.program_ids` (array)

  - `drop_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `drop_options.restrict_status_reasons` (boolean)
    If true, only applications with certain status reasons will be included

  - `drop_options.status_reason_ids` (array)

  - `drop_options.training_provider_ids` (array)

  - `drop_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

  - `expire_applications` (boolean)
    If set, applications that are past their expiration date are expired

  - `forecast_renewals` (boolean)
    Whether this template should be issuing renewal forecasts

  - `id` (string, required)
    The unique, string identifier of this billing template

  - `is_active` (boolean)
    Whether or not this billing template is active

  - `name` (string, required)
    The name of the billing template

  - `notification_email` (string)
    Te address to send notifications

  - `perform_drops` (boolean)
    Whether this template should be dropping expired members

  - `renewal_forecasting_options` (object, required)

  - `renewal_forecasting_options.expiration_date_range_end` (object, required)
    The date to use to filter out which memberships are candidate

  - `renewal_forecasting_options.expiration_date_range_end.number` (number, required)
    The unit of time

  - `renewal_forecasting_options.expiration_date_range_end.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `renewal_forecasting_options.expiration_date_range_end.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `renewal_forecasting_options.expiration_date_range_end.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `renewal_forecasting_options.expiration_date_range_start` (object, required)
    The date to use to filter out which memberships are candidate

  - `renewal_forecasting_options.expiration_date_range_start.number` (number, required)
    The unit of time

  - `renewal_forecasting_options.expiration_date_range_start.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `renewal_forecasting_options.expiration_date_range_start.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `renewal_forecasting_options.expiration_date_range_start.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `renewal_forecasting_options.program_ids` (array)

  - `renewal_forecasting_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `renewal_forecasting_options.restrict_status_reasons` (boolean)
    If true, only applications with certain status reasons will be included

  - `renewal_forecasting_options.status_reason_ids` (array)

  - `renewal_forecasting_options.training_provider_ids` (array)

  - `renewal_forecasting_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

  - `renewal_reminder_options` (object, required)

  - `renewal_reminder_options.application_types` (array)

  - `renewal_reminder_options.program_ids` (array)

  - `renewal_reminder_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `renewal_reminder_options.reminders` (array, required)

  - `renewal_reminder_options.reminders.expiration_date_range_end` (object, required)
    The date to use to filter out which memberships are candidate

  - `renewal_reminder_options.reminders.expiration_date_range_end.number` (number, required)
    The unit of time

  - `renewal_reminder_options.reminders.expiration_date_range_end.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `renewal_reminder_options.reminders.expiration_date_range_end.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `renewal_reminder_options.reminders.expiration_date_range_end.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `renewal_reminder_options.reminders.expiration_date_range_start` (object, required)
    The date to use to filter out which memberships are candidate

  - `renewal_reminder_options.reminders.expiration_date_range_start.number` (number, required)
    The unit of time

  - `renewal_reminder_options.reminders.expiration_date_range_start.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `renewal_reminder_options.reminders.expiration_date_range_start.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `renewal_reminder_options.reminders.expiration_date_range_start.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `renewal_reminder_options.reminders.id` (number)
    A unique, unchangeable reminder id

  - `renewal_reminder_options.reminders.name` (string)
    Optional name

  - `renewal_reminder_options.reminders.reminder_notice_id` (string, required)
    The reminder notice

  - `renewal_reminder_options.restrict_application_types` (boolean)
    If true, only certain types of applications are included

  - `renewal_reminder_options.restrict_status_reasons` (boolean)
    If true, only applications with certain status reasons will be included

  - `renewal_reminder_options.status_reason_ids` (array)

  - `renewal_reminder_options.training_provider_ids` (array)

  - `renewal_reminder_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

  - `send_application_reminders` (boolean)
    If set, this billing run should send out application reminders to applications missing requirements and approaching expiration

  - `send_renewal_reminders` (boolean)
    If set, this billing run should send out renewal reminders to those approaching expiration

  - `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

  - `training_provider_billing_options` (object, required)

  - `training_provider_billing_options.email_invoices_to_training_providers` (boolean)
    If true, all contact roles that are training provider administrators will receive an email with the invoice

  - `training_provider_billing_options.expiration_date_range_end` (object, required)
    The date to use to filter out which memberships are candidate

  - `training_provider_billing_options.expiration_date_range_end.number` (number, required)
    The unit of time

  - `training_provider_billing_options.expiration_date_range_end.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `training_provider_billing_options.expiration_date_range_end.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `training_provider_billing_options.expiration_date_range_end.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `training_provider_billing_options.expiration_date_range_start` (object, required)
    The date to use to filter out which memberships are candidate

  - `training_provider_billing_options.expiration_date_range_start.number` (number, required)
    The unit of time

  - `training_provider_billing_options.expiration_date_range_start.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `training_provider_billing_options.expiration_date_range_start.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `training_provider_billing_options.expiration_date_range_start.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `training_provider_billing_options.invoice_template_id` (string, required)
    The invoice template to use to send out the training provider invoice

  - `training_provider_billing_options.payment_terms_id` (string, required)
    The payment terms to use to send out the training provider invoice

  - `training_provider_billing_options.program_ids` (array)

  - `training_provider_billing_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `training_provider_billing_options.training_provider_ids` (array)

  - `training_provider_billing_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

## Response 200:

  - `200` (unknown)
    The billing template was updated successfully.

## Response 200 fields (application/json):

  - `activate_applications` (boolean)
    If set, this billing run should activate all applications that have met all requirements

  - `application_activation_options` (object, required)

  - `application_activation_options.application_notice_id` (string)
    The notice to send when a renewal order is created

  - `application_activation_options.application_types` (array)

  - `application_activation_options.program_ids` (array)

  - `application_activation_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `application_activation_options.restrict_application_types` (boolean)
    If true, only certain types of applications are included

  - `application_activation_options.restrict_status_reasons` (boolean)
    If true, only applications with certain status reasons will be included

  - `application_activation_options.status_reason_ids` (array)

  - `application_activation_options.training_provider_ids` (array)

  - `application_activation_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

  - `application_expiration_options` (object, required)

  - `application_expiration_options.application_notice_id` (string)
    The notice to send when a renewal order is created

  - `application_expiration_options.application_types` (array)

  - `application_expiration_options.expiration_date_range_end` (object, required)
    The date to use to filter out which memberships are candidate

  - `application_expiration_options.expiration_date_range_end.number` (number, required)
    The unit of time

  - `application_expiration_options.expiration_date_range_end.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `application_expiration_options.expiration_date_range_end.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `application_expiration_options.expiration_date_range_end.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `application_expiration_options.expiration_date_range_start` (object, required)
    The date to use to filter out which memberships are candidate

  - `application_expiration_options.expiration_date_range_start.number` (number, required)
    The unit of time

  - `application_expiration_options.expiration_date_range_start.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `application_expiration_options.expiration_date_range_start.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `application_expiration_options.expiration_date_range_start.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `application_expiration_options.program_ids` (array)

  - `application_expiration_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `application_expiration_options.restrict_application_types` (boolean)
    If true, only certain types of applications are included

  - `application_expiration_options.restrict_status_reasons` (boolean)
    If true, only applications with certain status reasons will be included

  - `application_expiration_options.status_reason_ids` (array)

  - `application_expiration_options.training_provider_ids` (array)

  - `application_expiration_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

  - `application_reminder_options` (object, required)

  - `application_reminder_options.application_types` (array)

  - `application_reminder_options.program_ids` (array)

  - `application_reminder_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `application_reminder_options.reminders` (array, required)

  - `application_reminder_options.reminders.expiration_date_range_end` (object, required)
    The date to use to filter out which memberships are candidate

  - `application_reminder_options.reminders.expiration_date_range_end.number` (number, required)
    The unit of time

  - `application_reminder_options.reminders.expiration_date_range_end.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `application_reminder_options.reminders.expiration_date_range_end.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `application_reminder_options.reminders.expiration_date_range_end.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `application_reminder_options.reminders.expiration_date_range_start` (object, required)
    The date to use to filter out which memberships are candidate

  - `application_reminder_options.reminders.expiration_date_range_start.number` (number, required)
    The unit of time

  - `application_reminder_options.reminders.expiration_date_range_start.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `application_reminder_options.reminders.expiration_date_range_start.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `application_reminder_options.reminders.expiration_date_range_start.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `application_reminder_options.reminders.id` (number)
    A unique, unchangeable reminder id

  - `application_reminder_options.reminders.name` (string)
    Optional name

  - `application_reminder_options.reminders.reminder_notice_id` (string, required)
    The reminder notice

  - `application_reminder_options.restrict_application_types` (boolean)
    If true, only certain types of applications are included

  - `application_reminder_options.restrict_status_reasons` (boolean)
    If true, only applications with certain status reasons will be included

  - `application_reminder_options.status_reason_ids` (array)

  - `application_reminder_options.training_provider_ids` (array)

  - `application_reminder_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

  - `bill_training_providers` (boolean)
    When true, training providers should be sent invoices for training registrations

  - `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)
    A description of the template

  - `drop_options` (object, required)

  - `drop_options.drop_notice_id` (string)
    The notice to send when a renewal order is created

  - `drop_options.expiration_date_range_end` (object, required)
    The date to use to filter out which memberships are candidate

  - `drop_options.expiration_date_range_end.number` (number, required)
    The unit of time

  - `drop_options.expiration_date_range_end.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `drop_options.expiration_date_range_end.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `drop_options.expiration_date_range_end.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `drop_options.expiration_date_range_start` (object, required)
    The date to use to filter out which memberships are candidate

  - `drop_options.expiration_date_range_start.number` (number, required)
    The unit of time

  - `drop_options.expiration_date_range_start.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `drop_options.expiration_date_range_start.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `drop_options.expiration_date_range_start.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `drop_options.program_ids` (array)

  - `drop_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `drop_options.restrict_status_reasons` (boolean)
    If true, only applications with certain status reasons will be included

  - `drop_options.status_reason_ids` (array)

  - `drop_options.training_provider_ids` (array)

  - `drop_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

  - `expire_applications` (boolean)
    If set, applications that are past their expiration date are expired

  - `forecast_renewals` (boolean)
    Whether this template should be issuing renewal forecasts

  - `id` (string, required)
    The unique, string identifier of this billing template

  - `is_active` (boolean)
    Whether or not this billing template is active

  - `name` (string, required)
    The name of the billing template

  - `notification_email` (string)
    Te address to send notifications

  - `perform_drops` (boolean)
    Whether this template should be dropping expired members

  - `renewal_forecasting_options` (object, required)

  - `renewal_forecasting_options.expiration_date_range_end` (object, required)
    The date to use to filter out which memberships are candidate

  - `renewal_forecasting_options.expiration_date_range_end.number` (number, required)
    The unit of time

  - `renewal_forecasting_options.expiration_date_range_end.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `renewal_forecasting_options.expiration_date_range_end.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `renewal_forecasting_options.expiration_date_range_end.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `renewal_forecasting_options.expiration_date_range_start` (object, required)
    The date to use to filter out which memberships are candidate

  - `renewal_forecasting_options.expiration_date_range_start.number` (number, required)
    The unit of time

  - `renewal_forecasting_options.expiration_date_range_start.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `renewal_forecasting_options.expiration_date_range_start.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `renewal_forecasting_options.expiration_date_range_start.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `renewal_forecasting_options.program_ids` (array)

  - `renewal_forecasting_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `renewal_forecasting_options.restrict_status_reasons` (boolean)
    If true, only applications with certain status reasons will be included

  - `renewal_forecasting_options.status_reason_ids` (array)

  - `renewal_forecasting_options.training_provider_ids` (array)

  - `renewal_forecasting_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

  - `renewal_reminder_options` (object, required)

  - `renewal_reminder_options.application_types` (array)

  - `renewal_reminder_options.program_ids` (array)

  - `renewal_reminder_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `renewal_reminder_options.reminders` (array, required)

  - `renewal_reminder_options.reminders.expiration_date_range_end` (object, required)
    The date to use to filter out which memberships are candidate

  - `renewal_reminder_options.reminders.expiration_date_range_end.number` (number, required)
    The unit of time

  - `renewal_reminder_options.reminders.expiration_date_range_end.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `renewal_reminder_options.reminders.expiration_date_range_end.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `renewal_reminder_options.reminders.expiration_date_range_end.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `renewal_reminder_options.reminders.expiration_date_range_start` (object, required)
    The date to use to filter out which memberships are candidate

  - `renewal_reminder_options.reminders.expiration_date_range_start.number` (number, required)
    The unit of time

  - `renewal_reminder_options.reminders.expiration_date_range_start.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `renewal_reminder_options.reminders.expiration_date_range_start.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `renewal_reminder_options.reminders.expiration_date_range_start.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `renewal_reminder_options.reminders.id` (number)
    A unique, unchangeable reminder id

  - `renewal_reminder_options.reminders.name` (string)
    Optional name

  - `renewal_reminder_options.reminders.reminder_notice_id` (string, required)
    The reminder notice

  - `renewal_reminder_options.restrict_application_types` (boolean)
    If true, only certain types of applications are included

  - `renewal_reminder_options.restrict_status_reasons` (boolean)
    If true, only applications with certain status reasons will be included

  - `renewal_reminder_options.status_reason_ids` (array)

  - `renewal_reminder_options.training_provider_ids` (array)

  - `renewal_reminder_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

  - `send_application_reminders` (boolean)
    If set, this billing run should send out application reminders to applications missing requirements and approaching expiration

  - `send_renewal_reminders` (boolean)
    If set, this billing run should send out renewal reminders to those approaching expiration

  - `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

  - `training_provider_billing_options` (object, required)

  - `training_provider_billing_options.email_invoices_to_training_providers` (boolean)
    If true, all contact roles that are training provider administrators will receive an email with the invoice

  - `training_provider_billing_options.expiration_date_range_end` (object, required)
    The date to use to filter out which memberships are candidate

  - `training_provider_billing_options.expiration_date_range_end.number` (number, required)
    The unit of time

  - `training_provider_billing_options.expiration_date_range_end.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `training_provider_billing_options.expiration_date_range_end.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `training_provider_billing_options.expiration_date_range_end.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `training_provider_billing_options.expiration_date_range_start` (object, required)
    The date to use to filter out which memberships are candidate

  - `training_provider_billing_options.expiration_date_range_start.number` (number, required)
    The unit of time

  - `training_provider_billing_options.expiration_date_range_start.position` (string, required)
    How the unit relates to the reference date
    Enum: "after", "before", "on"

  - `training_provider_billing_options.expiration_date_range_start.relative_to` (string, required)
    Enum: "the beginning of the month", "the beginning of the quarter", "the beginning of the week", "the beginning of the year", "the end of the month", "the end of the quarter", "the end of the week", "the end of the year", "the reference date"

  - `training_provider_billing_options.expiration_date_range_start.unit_of_time` (string, required)
    Enum: "days", "months", "weeks", "years"

  - `training_provider_billing_options.invoice_template_id` (string, required)
    The invoice template to use to send out the training provider invoice

  - `training_provider_billing_options.payment_terms_id` (string, required)
    The payment terms to use to send out the training provider invoice

  - `training_provider_billing_options.program_ids` (array)

  - `training_provider_billing_options.program_restriction` (string)
    Determines if/how to restrict the programs in this run
    Enum: "exclude", "include", "none"

  - `training_provider_billing_options.training_provider_ids` (array)

  - `training_provider_billing_options.training_provider_restriction` (string)
    Determines if/how to restrict the training providers in this run
    Enum: "exclude", "include", "none"

## Response 200 headers (application/json):

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 400:

  - `400` (unknown)
    The billing template supplied was not valid.

## Response 400 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 401:

  - `401` (unknown)
    Unauthorized.

## Response 401 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 403:

  - `403` (unknown)
    Forbidden.

## Response 403 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 404:

  - `404` (unknown)
    The billing template could not be found.

## Response 404 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 409:

  - `409` (unknown)
    The billing template could not be saved because it refers to/depends on a non-existent object.

## Response 409 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 429:

  - `429` (unknown)
    Limit exceeded... unable to retrieve billing template based on tenant limits.

## Response 429 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

## Response 500:

  - `500` (unknown)
    General server error.

## Response 500 headers:

  - `Access-Control-Allow-Headers` (string)

  - `Access-Control-Allow-Methods` (string)

  - `Access-Control-Allow-Origin` (string)

