# Creates a new billing run record that does not already exist. This method will auto-generate an ID and create a new billing run. If an ID is specified for the billing run, an error will be thrown. Endpoint: POST /billingRuns/{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): - `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.expiration_date_range_end` (string, required) The date to use to filter out which memberships are candidate - `application_expiration_options.expiration_date_range_start` (string, required) The date to use to filter out which memberships are candidate - `application_reminder_options` (object, required) - `application_reminder_options.reminders` (array, required) - `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 - `bill_training_providers` (boolean) When true, training providers should be sent invoices for training registrations - `drop_options` (object, required) - `drop_options.drop_notice_id` (string) The notice to send when a renewal order is created - `error` (string) The error message - `error_stack` (string) The error stack - `expire_applications` (boolean) If set, applications that are past their expiration date are expired - `forecast_renewals` (boolean) Whether this billing run should be issuing renewal forecasts - `id` (string, required) The unique, string identifier of this billing run - `last_refresh_date` (string) The last time the billing run was refreshed - `name` (string, required) The name of the billing run - `notification_email` (string) Te address to send notifications - `perform_drops` (boolean) Whether this template should be dropping expired members - `preprocessing_date` (string) The date this billing run was actually processed - `recurring_billing_run_id` (string) The recurring billing run - `renewal_forecasting_options` (object, required) - `renewal_reminder_options` (object, required) - `run_date` (string) The date of the billing run - `scheduled_preprocessing_date` (string) The date which this billing run should be preprocessed - `scheduled_run_date` (string) The date the billing run is scheduled for execution - `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 - `statistics` (array) - `statistics.action` (string, required) - `statistics.error` (number) - `statistics.excluded` (number) - `statistics.pending` (number) - `statistics.processing` (number) - `statistics.successful` (number) - `statistics.total` (number) - `status` (string, required) Enum: "cancelled", "completed", "draft", "error", "preprocessing", "ready for execution", "running", "scheduled", "scheduled for execution", "timed out" - `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.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 - `template_id` (string) The billing template that created this run - `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.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 ## 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.expiration_date_range_end` (string, required) The date to use to filter out which memberships are candidate - `application_expiration_options.expiration_date_range_start` (string, required) The date to use to filter out which memberships are candidate - `application_reminder_options` (object, required) - `application_reminder_options.reminders` (array, required) - `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 - `bill_training_providers` (boolean) When true, training providers should be sent invoices for training registrations - `drop_options` (object, required) - `drop_options.drop_notice_id` (string) The notice to send when a renewal order is created - `error` (string) The error message - `error_stack` (string) The error stack - `expire_applications` (boolean) If set, applications that are past their expiration date are expired - `forecast_renewals` (boolean) Whether this billing run should be issuing renewal forecasts - `id` (string, required) The unique, string identifier of this billing run - `last_refresh_date` (string) The last time the billing run was refreshed - `name` (string, required) The name of the billing run - `notification_email` (string) Te address to send notifications - `perform_drops` (boolean) Whether this template should be dropping expired members - `preprocessing_date` (string) The date this billing run was actually processed - `recurring_billing_run_id` (string) The recurring billing run - `renewal_forecasting_options` (object, required) - `renewal_reminder_options` (object, required) - `run_date` (string) The date of the billing run - `scheduled_preprocessing_date` (string) The date which this billing run should be preprocessed - `scheduled_run_date` (string) The date the billing run is scheduled for execution - `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 - `statistics` (array) - `statistics.action` (string, required) - `statistics.error` (number) - `statistics.excluded` (number) - `statistics.pending` (number) - `statistics.processing` (number) - `statistics.successful` (number) - `statistics.total` (number) - `status` (string, required) Enum: "cancelled", "completed", "draft", "error", "preprocessing", "ready for execution", "running", "scheduled", "scheduled for execution", "timed out" - `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.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 - `template_id` (string) The billing template that created this run - `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.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 ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 404 fields ## Response 409 fields ## Response 429 fields ## Response 500 fields