Reference
Error codes
Every failure carries a stable code. The problem document’s type
links straight to that code’s entry on this page, so an error in your logs is one click from
its definition. There are 1075 codes in the catalogue; the
15 below are the ones every integration meets.
Codes every integration handles
| Code | Status | Meaning | What to do |
|---|---|---|---|
invalid_token | 401 | The bearer token is missing, malformed or revoked. | Check the Authorization header; mint a new key if it was revoked. |
api_key_expired | 401 | The key passed its expiry date. | Rotate the key. Owners are warned 14 and 3 days before expiry. |
api_key_owner_inactive | 401 | The membership the key executes as has been deactivated — the credential is fine, the identity behind it is not. | Ask an admin to reassign the service key to a current member. |
api_key_cannot_manage_keys | 403 | Key management requires a human session; a leaked key must not mint credentials. | Perform the operation from the Kelomo UI. |
insufficient_role | 403 | The capability the operation requires is not in your effective set — most often the key’s scope is narrower than the operation. | Compare GET /v1/me/access with the operation’s x-kelomo-capabilities, then mint a key with the missing capability. |
read_only_key | 403 | A read-only key attempted a write. | Use a key without the read-only flag for writes. |
idempotency_key_required | 400 | A money-document write was sent with an API key but no Idempotency-Key header. | Generate a unique key per logical operation and send it in the header. |
idempotency_key_reused | 409 | The same Idempotency-Key arrived with a different request body. | A bug on the caller’s side — mint a new key for a genuinely new operation. |
idempotency_key_in_flight | 409 | The first request with this key is still running. | Wait and retry with the same key; the stored response is replayed. |
too-many-requests | 429 | The per-key or per-organisation rate limit is exhausted. | Wait Retry-After seconds. Pace yourself with the X-RateLimit-* headers. |
range_too_long | 422 | The from–to window exceeds the operation’s documented maximum. | Split the read into windows and page each one with the cursor. |
range_end_before_start | 400 | to is earlier than from. | Swap the bounds. |
version_ranges_overlap | 422 | A versioned record (worktime model, shift type, policy) would overlap in time. | Close the previous version before opening the next. |
report_type_not_public | 403 | The report type is not available over the API — person-level absence and health data never are. | Read GET /v1/reports for the types your credential may render. |
webhook_event_scope_exceeds_actor | 403 | Subscribing an endpoint to events your capabilities do not cover. | See the capability column of the event catalogue. |
Full index
Operation-specific codes name the rule that refused the request — an append-only boundary, a lifecycle state, a missing prerequisite. They are part of the contract: a code is not renamed or removed without the notice period in the deprecation policy. New codes appear as the surface grows, so treat an unknown code as fatal for the request and harmless for your integration.
absence_cancel_after_confirmed_dayabsence_overlaps_confirmed_dayabsence_overlaps_draftabsence_overlaps_exported_dayabsence_overlaps_recorded_dayabsence_pendingabsence_period_modifiedabsence_period_not_foundabsence_period_overlapabsence_period_too_longabsence_policy_code_takenabsence_policy_inactiveabsence_policy_no_version_for_dateabsence_policy_not_foundabsence_postpone_after_confirmed_dayaccount_deletion_request_not_foundaccount_deletion_request_not_openaccrual_rerun_after_rolloveraccrual_rerun_conflictaccrual_run_existsaccrual_year_not_endedactivation_window_invalidactor_unknownaddress_blockedadhoc_shift_notice_not_foundadvance_exceeds_balanceadvance_not_availableai_disabledai_draft_failedai_import_failedai_import_invalidallocation_weight_invalidallocation_weights_must_sumalready_coveredalready_deliveredalready_endedalready_enrolledalready_memberalready_on_breakamount_requiredanchor_day_out_of_rangeannouncement_ack_not_requiredannouncement_already_sentannouncement_audience_emptyannouncement_not_editableannouncement_not_foundannouncements_disabledannual_leave_interruptedanonymization_nothing_eligibleapi_key_cannot_start_human_sessionapi_key_not_foundapi_key_not_reassignableapix_not_configuredapix_rejectedapproval_already_respondedapproval_link_expiredapproval_not_foundapproval_request_not_foundapproval_subject_gonearchive_export_too_largeassignee_can_only_completeassignee_not_foundassignment_not_foundassignment_overlaps_existingassignment_validity_invertedat_least_one_shiftattachment_already_linkedattachment_forbiddenattachment_limit_reachedattachment_lockedattachment_not_foundattachment_not_readyattachment_not_uploadedattachment_owner_not_publicattachment_scan_failedattachment_too_largeattachment_wrong_statusattribute_not_foundattribute_range_overlapattribute_validity_invertedattribute_value_mismatchautonomous_scheduling_disabledbackdated_punch_disabledbackdated_punch_too_oldbackdated_punch_undeclaredbad-requestbalance_account_not_foundbalance_cut_rule_not_foundbalance_import_account_not_foundbalance_import_batch_not_foundbalance_import_duplicate_rowbalance_import_invalid_datebalance_import_invalid_valuebalance_import_not_committedbalance_import_revertedbalance_import_unknown_accountbalance_import_unknown_memberband_not_foundbank_account_not_foundbank_account_requiredbank_cap_exceededbank_leave_balance_exceededbank_leave_half_day_unsupportedbank_leave_no_consuming_daysbank_overdrawnbank_yearly_cap_exceededbase_plan_not_foundbatch_already_canceledbatch_canceledbatch_deliveredbatch_has_no_calculation_runbatch_has_no_targetbatch_too_largebatch_write_offbilling_base_disabledbilling_batch_not_foundbilling_multiplier_requiredbilling_profile_in_usebilling_profile_incompletebilling_profile_not_foundbilling_target_not_foundbilling_unmapped_bucketsblackout_not_foundbody_too_largebooking_cell_conflictbreak_exceeds_elapsed_spanbreak_type_not_foundbreak_type_not_unpaidbuddy_not_foundbuyer_vat_requiredcalendar_connection_not_foundcalendar_feed_disabledcalendar_feed_not_foundcalendar_sync_not_configuredcamt_parse_failedcandidate_already_hiredcandidate_email_requiredcandidate_hash_requiredcandidate_hire_via_actioncandidate_hired_no_deletecandidate_not_eligiblecandidate_not_foundcandidates_changedcannot_approve_owncannot_change_own_rolecannot_deactivate_selfcannot_delete_only_versioncannot_demote_selfcannot_disable_selfcapability_not_grantablecareers_not_foundcase_note_already_acknowledgedcase_note_already_issuedcase_note_not_foundcase_note_not_issuedcase_note_not_yourscase_note_read_onlycase_note_type_inactivecase_note_type_not_foundcatalog_item_not_foundcertificate_incompletecertificate_not_requiredchange_order_already_approvedchange_order_hourly_not_billablechange_order_invoicedchange_order_not_approvedchange_order_not_draftchange_order_not_fixedchange_order_not_foundchange_order_pendingcheckout_session_failedclaim_already_exportedclaim_not_actionablecode_already_existscode_already_in_usecode_in_usecomments_restricted_for_sensitivecompletion_date_futurecomponent_no_anchor_dayconflictconsent_requiredcontract_incompletecontract_min_exceeds_contract_hourscorrection_bucket_unmappedcorrection_no_changescorrection_reference_stalecorrection_request_opencorrection_spans_settled_overtimecost_not_visiblecounterparty_is_selfcounterparty_not_employed_on_datecounterparty_other_unitcounterparty_shift_not_foundcountry_only_for_foreigncountry_required_for_foreigncovered_shift_not_foundcovered_shift_not_publishedcredit_exceeds_originalcredit_type_cannot_count_as_workcrm_activity_no_linkcrm_activity_not_foundcrm_activity_stalecrm_automation_invalidcrm_automation_not_foundcrm_contact_anonymizedcrm_contact_customer_mismatchcrm_contact_in_usecrm_contact_not_foundcrm_contact_stalecrm_deal_customer_mismatchcrm_deal_not_foundcrm_deal_not_opencrm_deal_not_won_or_lostcrm_deal_stalecrm_email_deal_lead_mismatchcrm_email_not_foundcrm_email_recipient_suppressedcrm_email_subject_requiredcrm_email_thread_not_foundcrm_email_thread_not_ownercrm_forbiddencrm_inbound_mail_not_configuredcrm_lead_anonymizedcrm_lead_convertedcrm_lead_not_foundcrm_lead_not_opencrm_lead_stalecrm_lost_reason_not_foundcrm_lost_reason_requiredcrm_new_customer_requiredcrm_pipeline_has_dealscrm_pipeline_has_no_stagecrm_pipeline_not_foundcrm_project_customer_mismatchcrm_project_has_no_customercrm_project_not_foundcrm_retention_too_shortcrm_stage_not_emptycrm_stage_not_foundcrm_tag_existscrm_tag_not_foundcsrf_rejectedcsrf_requiredcustomer_billing_fields_forbiddencustomer_has_invoicescustomer_merge_selfcustomer_merge_target_not_foundcustomer_not_foundcustomer_staledaily_rest_gate_blockeddangling_reference_foundday_already_approvedday_already_confirmedday_already_editableday_already_exportedday_changedday_confirmed_lockedday_has_duration_entriesday_has_manual_entriesday_in_futureday_invoicedday_is_draftday_not_approvedday_not_confirmedday_not_correctableday_on_approved_leaveday_type_bank_requires_credits_targetday_type_counts_as_work_timeday_type_inactiveday_type_not_foundday_type_requireddelegate_equals_delegatordelegation_not_founddelegation_requires_admindelegation_requires_manager_roledelivery_not_founddelivery_not_retryabledemand_forecast_not_founddemand_observation_not_founddemo_reset_runningdevice_not_founddevice_pairing_invaliddimension_must_be_askeddimension_not_founddimension_value_inactivedimension_value_invaliddimension_value_not_founddiscount_days_and_percent_togetherdiscount_window_after_due_datediscovery_endpoint_blockeddiscovery_faileddiscovery_incompletediscovery_unreachablediscussion_not_founddiscussion_template_existsdiscussion_template_not_founddispatch_abandoneddispatch_conflictdispatch_not_founddispatch_recipient_missingdns_emptydns_faileddocument_category_inactivedocument_category_not_founddocument_not_foundduplicate_bucket_mappingduplicate_dimension_defaultduplicate_dimension_on_entryduplicate_parameter_tableduplicate_value_on_dimensioneffective_from_not_after_current_versioneinvoice_address_missingeinvoice_not_supported_for_documenteinvoice_operator_not_configuredeinvoice_operator_unsupportedeinvoice_sender_address_missingemail_already_registeredemail_not_verifiedemail_verification_expiredemail_verification_not_foundemail_verification_usedemergency_notice_already_filedemergency_notice_already_has_statementemergency_notice_not_filedemergency_notice_not_foundemergency_notice_range_invalidemployer_business_id_invalidemployer_code_takenemployer_in_useemployer_not_foundemployment_version_existsemployment_version_lockedendpoint_blockedendpoint_not_configuredendpoint_not_httpsentries_or_day_type_requiredentries_overlapentry_comment_requiredentry_end_not_after_startentry_exported_reopen_to_reattributeentry_invoicedentry_not_on_projectentry_out_of_rangeentry_type_inactiveentry_type_no_version_for_dayentry_type_not_foundentry_type_requiredevent_not_in_scopeexceeds_saveable_leaveexception_day_not_foundexcess_account_requiredexit_interview_not_foundexpense_already_approvedexpense_already_draftexpense_lockedexpense_not_draftexpense_not_foundexpense_not_reviewedexpense_not_submittedexpense_policy_not_foundexpense_policy_violationexpense_rate_in_use_end_date_insteadexpense_rate_period_closedexpense_rate_valid_to_in_pastexpense_type_code_takenexpense_type_invalidexpense_type_not_foundexpense_wrong_statusexport_batch_canceledexport_batch_has_no_calculation_runexport_batch_not_foundexport_cancel_conflictexport_conflictexport_corrections_unsupportedexport_delivery_queue_not_backedexport_retro_deltas_unsupportedexport_unit_mismatchexport_unmapped_componentsfeature_not_in_planfixed_term_requires_groundsflexwork_period_settlement_account_requiredflexwork_period_version_existsflexwork_period_version_lockedflexwork_settlement_account_not_foundforbiddenforce_reason_requiredforeign_travel_disabledgeneration_failedgoal_not_foundgrant_not_foundgrant_units_requiredgranularity_not_supportedgroup_only_for_team_reporthas_active_dependentsholiday_compensation_requires_bank_accountholiday_policy_duplicate_codehr_area_disabledid_token_invalidid_token_missingid_token_no_subjectidentifier_not_supportedidentifier_takenidentifier_unknownimage_too_largeinbound_mail_not_configuredinstallment_billedinstallment_not_foundinstallments_fixed_price_onlyinsufficient_platform_roleintake_not_foundintake_not_openinterview_time_requiredinvalid_amountinvalid_as_of_dateinvalid_band_windowinvalid_boolean_flaginvalid_calendar_dateinvalid_credentialsinvalid_date_formatinvalid_date_rangeinvalid_encrypted_value_formatinvalid_grant_scopeinvalid_handoffinvalid_ibaninvalid_ledger_kindinvalid_milestoneinvalid_national_idinvalid_oauth_stateinvalid_occurred_atinvalid_owner_idinvalid_passwordinvalid_periodinvalid_phaseinvalid_policy_payloadinvalid_qr_tokeninvalid_reference_numberinvalid_section_indexinvalid_signatureinvalid_statusinvalid_target_valueinvalid_tax_numberinvalid_yearinvitation_acceptedinvitation_expiredinvitation_not_foundinvoice_already_dispatchedinvoice_already_issuedinvoice_lockedinvoice_not_advanceinvoice_not_creditableinvoice_not_draftinvoice_not_foundinvoice_not_issuedinvoice_number_series_conflictinvoice_stalejwks_endpoint_blockedkey_already_in_usekey_scope_exceeds_creatorkey_scope_exceeds_ownerlast_end_of_day_reasonleave_balance_exceededleave_balance_would_exceedleave_concurrency_exceededleave_group_has_membersleave_group_inactiveleave_group_not_foundleave_in_blackoutleave_no_consuming_daysleave_outside_employmentleave_save_proposal_already_pendingleave_save_proposal_modifiedleave_save_proposal_not_foundleave_save_proposal_not_pendingleave_season_existsleave_season_has_accrual_runleave_season_lockedleave_season_not_foundleave_season_period_not_foundleave_season_window_invertedlemonsoft_not_configuredline_belongs_to_tripline_not_adjustableline_not_editableline_not_foundlocation_not_enabledlocation_requiredlock_already_liftedlock_not_foundlocked_type_protectedmailbox_connection_not_foundmailbox_needs_reauthmailbox_not_connectedmailbox_sync_not_configuredmanager_cannot_be_selfmanager_cyclemanager_not_foundmanager_recruiting_disabledmanager_skill_recording_disabledmanager_terms_read_disabledmass_correction_catalog_not_foundmass_correction_day_not_correctablemass_correction_reason_requiredmass_correction_run_not_foundmass_correction_run_not_retryablemass_correction_version_requiredmaventa_not_configuredmaventa_rejectedmember_already_scheduledmember_has_no_unitmember_not_assignablemember_not_foundmember_not_in_unitmembership_deactivatedmembership_inactivemembership_not_endedmembership_not_foundmessage_delivery_partial_failuremfa_already_enabledmfa_invalidmfa_not_enabledmfa_not_enrolledmfa_requiredmilestone_not_foundmissing_clock_timesmissing_day_type_versionmissing_external_refmissing_model_version_for_daymissing_signaturemissing_tokenmissing_worktime_modelmixed_entry_formsmodule_not_foundmodule_not_purchasablenetvisor_failednetvisor_host_blockednetvisor_no_datanetvisor_not_configurednetvisor_not_httpsnetvisor_partner_not_configurednetvisor_rejectednetvisor_timeoutnetvisor_unreachableno_default_punch_entry_typeno_exportable_daysno_membership_in_tenantno_membershipsno_model_for_dayno_open_sessionno_planning_unitno_proposal_for_daynonce_mismatchnot-foundnot_a_published_person_shiftnot_allowed_to_flagnot_allowed_to_reattributenot_employed_on_datenot_on_breaknot_project_ownernot_your_delegationnot_your_expensenot_your_reportnot_your_tripnothing_to_exportnothing_to_invoicenothing_to_unpublishnotice_recipient_not_in_unitnotice_shift_not_foundoauth_audience_mismatchoauth_client_disabledoauth_grant_not_foundoauth_grant_owner_inactiveoauth_grant_revokedoauth_redirect_uri_mismatchoauth_request_expiredoauth_request_not_foundoauth_request_usedoauth_unknown_clientobligation_not_foundocr_failedoffboarding_not_activeoffboarding_not_foundon_behalf_disabledopen_shift_already_filledopen_shift_claim_cancel_deadline_passedopen_shift_expiry_after_endopen_shift_expiry_in_pastopen_shift_not_foundopen_shift_not_openopening_has_candidatesopening_not_foundoperator_disabledoperator_email_takenoperator_not_foundoption_not_configurableoutside_geofenceoverflow_chain_cycleoverflow_target_selfowner_not_foundpair_rule_existspair_rule_not_foundparent_in_other_dimensionpassword_change_requiredpassword_reset_expiredpassword_reset_not_foundpassword_reset_usedpay_code_not_foundpayment_allocation_exceeds_openpayment_already_importedpayment_not_foundpayment_term_in_usepayment_term_not_foundpayroll_run_blockedpayroll_target_not_foundperiod_already_generatedperiod_lockedperiod_not_cancellableperiod_not_certifiableperiod_not_draftperiod_not_endedperiod_not_pendingperiod_not_postponableperiod_not_withdrawableperiod_overlaps_existing_lockphase_dates_invertedphase_not_foundphase_not_in_projectpin_invalidpin_requiredplan_not_foundplan_not_purchasableplan_range_too_longplanned_shift_not_foundplanning_day_note_crew_requiredplanning_day_note_members_requiredplanning_day_note_not_foundplanning_unit_not_foundpolicy_half_day_unsupportedpolicy_ledger_and_account_conflictpolicy_not_employer_assignablepolicy_not_self_serviceablepolicy_override_not_foundpolicy_workflow_incoherentposition_not_foundpostpone_covers_whole_periodpostpone_from_after_periodprerequisite_cycleprerequisite_existsprerequisite_not_foundpresence_board_disabledproject_closedproject_dates_invertedproject_dimension_missingproject_log_not_foundproject_log_not_riskproject_not_emptyproject_not_foundproject_report_not_allowedproject_staleproject_template_existsproject_template_invalidproject_template_not_foundpublish_event_not_foundpulse_already_answeredpulse_disabledpulse_round_dates_invalidpulse_round_not_openpunch_allocations_requiredpunch_before_session_startpunch_billable_requiredpunch_client_id_reusedpunch_clock_disabledpunch_day_not_punchedpunch_device_not_foundpunch_device_revokedpunch_entry_type_requiredpunch_identifier_not_foundpunch_in_futurepunch_intent_not_foundpunch_intent_not_openpunch_intent_return_before_outpunch_intent_return_too_far_aheadpunch_note_requiredpunch_reason_inactivepunch_reason_not_foundpunch_reason_not_usable_on_clock_inpunch_reason_requiredpunch_return_gap_invalidpunch_session_openpunch_site_not_foundpunch_too_oldpurchase_approvedpurchase_billedpurchase_inbox_item_not_foundpurchase_inbox_item_not_pendingpurchase_not_foundquantity_requiredquote_already_convertedquote_already_respondedquote_catalog_forbiddenquote_code_requiredquote_emptyquote_is_templatequote_link_expiredquote_link_not_foundquote_not_acceptedquote_not_editablequote_not_foundquote_not_reopenablequote_not_sendablequote_not_sentquote_not_templatequote_stalequotes_forbiddenrange_too_widerate_bulk_raise_effective_in_pastrate_bulk_raise_negative_resultrate_duplicate_scoperate_in_use_end_date_insteadrate_key_missingrate_limitedrate_missingrate_not_foundrate_period_closedrate_scope_conflictrate_valid_to_in_pastrate_validity_invertedreason_is_breakreason_not_breakreason_requiredrecipients_not_allowedrecruiting_stage_inactiverecruiting_stage_not_foundrecurring_period_already_generatedrecurring_publish_not_foundrecurring_schedule_not_foundreminder_not_overduerepeat_horizon_too_longreport_feature_not_enabledreport_not_allowedreport_range_too_longrequiredrequirement_existsrequirement_not_foundrequirement_target_invalidreview_requiredrollover_run_conflictroster_competence_gate_blockedroster_compliance_gate_blockedroster_template_not_foundroster_template_week_emptyrotation_crew_not_foundrotation_horizon_too_longrotation_offset_out_of_rangerotation_pattern_not_foundrotation_slot_out_of_rangerotation_unit_mismatchround_already_resolvedround_cancelledround_not_cancellableround_not_editableround_not_foundround_window_invalidroute_not_foundrun_at_not_futurerun_not_foundsafety_corrective_action_not_foundsafety_incident_not_foundsafety_incident_type_inactivesafety_incident_type_not_foundsaved_route_not_foundsaved_view_not_foundscheduled_publish_conflictscheduled_publish_failedscheduled_publish_not_foundscheduled_report_external_recipientscheduled_report_not_foundseat_limit_reachedseed_reason_protectedseed_type_protectedself_assessment_disabledself_enroll_not_allowedself_review_forbiddenself_service_edit_disabledsequence_not_foundservice_key_requires_capabilitiesservice_request_assignee_invalidservice_request_category_forbiddenservice_request_message_emptyservice_request_message_too_longservice_request_not_foundservice_request_resolved_reopen_window_passedservice_request_subject_requiredservice_requests_disabledsession_revokedsession_time_invertedseverity_requires_accidentsftp_connect_failedsftp_host_blockedsftp_no_credentialssftp_not_configuredsftp_write_failedshift_frame_invalidshift_has_no_unitshift_message_emptyshift_message_too_longshift_messages_disabledshift_modified_concurrentlyshift_not_foundshift_not_found_or_unpublishedshift_not_uncoveredshift_on_absenceshift_report_not_allowedshift_thread_closedshift_thread_not_foundshift_type_inactiveshift_type_no_versionshift_type_not_foundshift_type_override_not_allowedsick_waiting_days_keptsick_within_waiting_dayssigning_already_pendingsigning_already_signedsigning_not_configuredsigning_not_pendingskill_group_existsskill_group_not_foundskill_not_foundskill_sighted_readonlysms_adjustment_would_go_negativesms_bundle_not_foundsms_credits_insufficientsms_not_configuredsource_already_invoicedsplit_not_allowed_for_dimensionsso_client_secret_requiredsso_domain_conflictsso_domain_not_allowedsso_domain_not_configuredsso_domain_unverifiedsso_domain_verification_not_startedsso_email_unverifiedsso_failedsso_membership_deactivatedsso_no_accountsso_no_domainssso_no_emailsso_no_membershipsso_not_availablesso_not_configuredsso_provider_not_foundsso_requiredsso_start_failedstaff_group_code_takenstaff_group_not_foundstaff_group_outside_scopestaff_group_report_admin_onlystaffing_requirement_duplicatestaffing_requirement_duplicate_skill_groupstaffing_requirement_not_foundstandard_attachments_too_largestandard_attachments_too_manystandby_activation_not_foundstandby_changedstandby_no_anchor_daystandby_period_not_foundstandby_type_inactivestandby_type_not_foundstatement_incompletestatement_issuance_not_foundstorage_not_configuredstripe_not_configuredstripe_webhook_not_configuredsubscription_not_foundsubscription_restrictedsupplement_channel_not_allowedsupplement_comment_requiredsupplement_quantity_requiredsupplement_type_inactivesupplement_type_no_version_for_datesupplement_type_not_foundsupplement_window_not_supportedsupport_session_read_onlyswap_already_pendingswap_not_actionableswap_not_foundswap_shift_changedtarget_role_forbiddentask_archivedtask_closedtask_contract_billedtask_dates_invertedtask_dependency_cycletask_dependency_not_foundtask_field_existstask_field_in_usetask_field_not_foundtask_field_value_invalidtask_has_historytask_not_foundtask_not_in_projecttask_recurrence_not_foundtask_staletask_status_in_usetask_status_not_foundtask_status_wrong_boardtask_tag_existstask_tag_not_foundtask_template_existstask_template_not_foundtask_time_tracking_offtask_view_preset_not_foundtasks_disabledteam_report_manager_onlytemplate_key_already_in_usetemplate_not_foundtemplate_process_mismatchtenant_already_purgedtenant_export_in_progresstenant_not_demotenant_not_foundtermination_end_before_starttermination_not_foundterms_not_acceptedtes_accrual_requires_bank_accounttes_assignment_not_foundtes_golden_case_not_foundtes_ruleset_assignedtes_ruleset_has_no_versiontes_ruleset_in_calculation_runtes_ruleset_invalidtes_ruleset_not_foundtes_ruleset_version_not_foundtes_template_not_foundtes_version_not_drafttes_version_not_foundtest_email_recipient_not_membertoken_endpoint_unreachabletoken_exchange_failedtraining_not_attendedtraining_not_foundtraining_participation_not_foundtraining_request_not_foundtraining_request_not_pendingtraining_session_fulltraining_session_not_foundtransport_failedtransport_not_pushtransport_not_pushabletransport_request_failedtransport_timeouttransport_unreachabletravel_export_batch_not_foundtravel_export_target_not_foundtravel_rate_not_foundtravel_rate_release_effective_before_currenttravel_rate_release_not_drafttravel_rate_release_not_foundtravel_rate_release_year_existstrip_already_drafttrip_day_not_foundtrip_end_before_starttrip_leg_outside_triptrip_locked_for_billingtrip_locked_for_exporttrip_not_drafttrip_not_foundtrip_not_reviewedtrip_not_submittedtrip_project_requiredtrip_wrong_statusunconfirmed_absence_dayunit_parent_cycleunit_parent_is_selfunknown_adapterunknown_customerunknown_export_formatunknown_featureunknown_moduleunknown_policy_keyunprocessableunsupported_content_typeunsupported_image_typeunsupported_owner_typeurl_invalidurl_not_httpsuse_change_passworduser_in_multiple_tenantsuser_not_foundvat_treatment_unsupportedvehicle_invalidvehicle_not_foundversion_ends_before_startversion_in_useversion_locked_needs_ackversion_move_overlapsversion_must_start_after_currentversion_not_after_latestversion_not_foundversion_overlaps_existingwebhook_delivery_not_foundwebhook_delivery_queue_not_backedwebhook_delivery_runner_missingwebhook_not_foundwebhook_secret_not_applicableweek_start_minutes_unsupportedweekday_not_applicableweekday_requiredwhistleblowing_assignee_invalidwhistleblowing_disabledwhistleblowing_report_closedwhistleblowing_report_not_foundwhistleblowing_thread_closedwish_limit_exceededwish_window_closedwish_window_not_foundwork_day_not_foundwork_entry_not_foundworktime_import_batch_not_foundworktime_import_day_confirmedworktime_import_duplicate_rowworktime_import_entry_type_not_valid_on_dateworktime_import_invalid_dateworktime_import_invalid_durationworktime_import_invalid_timeworktime_import_not_committedworktime_import_note_too_longworktime_import_period_lockedworktime_import_revertedworktime_import_row_changedworktime_import_time_or_duration_requiredworktime_import_too_many_entriesworktime_import_unknown_entry_typeworktime_import_unknown_memberworktime_model_archivedworktime_model_not_foundworktime_model_unchangedworktime_model_version_existsworktime_model_version_lockedworktime_percent_out_of_rangeworktime_percent_version_existsworktime_percent_version_lockedwrite_off_reason_requiredytj_company_not_found