curl --request POST \
--url https://sandbox.nmbr.co/services/payroll/forms/{form}/approve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'{
"id": "<id>",
"object": "form",
"data": {
"owner": {
"id": "<id>",
"object": "employee",
"links": {
"self": "/employees/<id>"
}
},
"form_batch": null,
"stage": "original",
"note": null,
"type": "t4",
"effective_date": "2026-01-01",
"version_year": "2026",
"version_month": "january",
"validation_error_count": 0,
"status": "approved",
"is_editable": false,
"metadata": {
"flags": {
"is_editable": false,
"is_amendable": false,
"is_approvable": false,
"is_unapprovable": true,
"is_pdf_exportable": true
}
},
"tax_year": "2025",
"employee_first_name": null,
"employee_initial": null,
"employee_surname": "Prosacco",
"employee_address_line_1": null,
"employee_address_line_2": null,
"employee_city": null,
"employee_province_or_territory_code": null,
"employee_country_code": null,
"employee_postal_code": null,
"box_12_social_insurance_number": "196710156",
"employee_number": null,
"box_54_payroll_account_number": "123456789RP0001",
"box_50_rpp_or_dpsp_registration_number": null,
"box_28_cpp_or_qpp_exempt_code": false,
"box_28_employment_insurance_exempt_code": false,
"box_28_ppip_exempt_code": false,
"box_29_employment_code": null,
"box_10_province_territory_or_country_of_employment_code": "ON",
"box_45_employer_offered_dental_benefits": "1",
"box_14_employment_income": null,
"box_16_employees_cpp_contributions": null,
"box_16a_employees_cpp2_contributions": null,
"box_17_employees_qpp_contributions": null,
"box_17a_employees_qpp2_contributions": null,
"box_18_employees_ei_premiums": null,
"box_20_rpp_contributions": null,
"box_22_income_tax_deducted": null,
"box_24_ei_insurable_earnings": 1000.04,
"box_26_cpp_or_qpp_pensionable_earnings": 2000.73,
"box_27_employer_cpp_contributions": null,
"box_27a_employers_cpp2_contributions": null,
"box_19_employer_ei_premiums": null,
"box_44_union_dues": null,
"box_46_charitable_donations": null,
"box_52_pension_adjustment": null,
"box_55_employees_ppip_premiums": null,
"box_56_ppip_insurable_earnings": null,
"code_30_housing_board_and_lodging_amount": null,
"code_31_special_work_site_amount": null,
"code_32_travel_in_a_prescribed_zone_amount": null,
"code_33_medical_travel_amount": null,
"code_34_personal_use_of_employer_automobile_amount": null,
"code_35_total_reasonable_per_kilometre_allowance_amount": null,
"code_36_interest_free_and_low_interest_loan_amount": null,
"code_37_employee_home_relocation_loan_deduction_amount": null,
"code_97_stock_option_benefit_amount_before_february_28_2000": null,
"code_38_security_options_benefits_before_june_25_2024": null,
"code_39_security_options_deductions_110_1_d_before_june_25_2024": null,
"code_40_other_taxable_allowance_and_benefits": null,
"code_41_security_options_deduction_110_1_d1_before_june_25_2024": null,
"code_42_employment_commissions": null,
"code_43_canadian_armed_forces_personnel_and_police_deduction": null,
"code_53_deferred_security_option_benefits": null,
"code_57_employment_income_march_15_to_may_9_2020_tax_year_only": null,
"code_58_employment_income_may_10_to_july_4_2020_tax_year_only": null,
"code_59_employment_income_july_5_to_august_29_2020_tax_year_only": null,
"code_60_employment_income_august_30_to_september_26_2020_tax_year_only": null,
"code_66_eligible_retiring_allowances": null,
"code_67_non_eligible_retiring_allowances": null,
"code_69_indian_exempt_income_non_eligible_retiring_allowances": null,
"code_71_indian_exempt_income_employment": null,
"code_72_outside_of_canada_employment_income_amount_section_122_3": null,
"code_73_employment_outside_of_canada_day_count": null,
"code_74_pre_1990_past_service_contributions_while_a_contributor": null,
"code_75_pre_1990_past_service_contributions_while_not_a_contributor": null,
"code_77_workers_compensation_benefit_repaid_to_the_employer_amount": null,
"code_78_fishers_gross_earnings": null,
"code_79_fishers_net_partnership_amount": null,
"code_80_fishers_shareperson_amount": null,
"code_81_placement_or_employment_agency": null,
"code_82_driver_of_taxi_or_other_passenger_carrying_vehicle": null,
"code_83_barber_or_hairdresser": null,
"code_84_public_transit_pass": null,
"code_85_employee_paid_premiums_for_private_health_services_plans": null,
"code_86_stock_option_cash_out_expense": null,
"code_87_emergency_services_volunteer_exempt_amount": null,
"code_88_indian_exempt_income_self_employment": null,
"code_90_security_options_benefits_on_or_after_june_25_2024": null,
"code_91_security_options_deduction_110_1_d_on_or_after_june_25_2024": null,
"code_92_security_options_deduction_110_1_d1_on_or_after_june_25_2024": null,
"code_94_indian_exempt_income_rpp_contributions": null,
"code_95_indian_exempt_income_union_dues": null,
"code_98_stock_option_and_share_deduction_110_1_d_amount_before_february_28_2000": null,
"code_99_stock_option_and_share_deduction_110_1_d1_amount_before_february_28_2000": null,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/forms/<id>"
}
}Approve a form
Endpoint to approve a Form.
The following example is for a T4, but the same flow will work for any submittable form.
curl --request POST \
--url https://sandbox.nmbr.co/services/payroll/forms/{form}/approve \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{}'{
"id": "<id>",
"object": "form",
"data": {
"owner": {
"id": "<id>",
"object": "employee",
"links": {
"self": "/employees/<id>"
}
},
"form_batch": null,
"stage": "original",
"note": null,
"type": "t4",
"effective_date": "2026-01-01",
"version_year": "2026",
"version_month": "january",
"validation_error_count": 0,
"status": "approved",
"is_editable": false,
"metadata": {
"flags": {
"is_editable": false,
"is_amendable": false,
"is_approvable": false,
"is_unapprovable": true,
"is_pdf_exportable": true
}
},
"tax_year": "2025",
"employee_first_name": null,
"employee_initial": null,
"employee_surname": "Prosacco",
"employee_address_line_1": null,
"employee_address_line_2": null,
"employee_city": null,
"employee_province_or_territory_code": null,
"employee_country_code": null,
"employee_postal_code": null,
"box_12_social_insurance_number": "196710156",
"employee_number": null,
"box_54_payroll_account_number": "123456789RP0001",
"box_50_rpp_or_dpsp_registration_number": null,
"box_28_cpp_or_qpp_exempt_code": false,
"box_28_employment_insurance_exempt_code": false,
"box_28_ppip_exempt_code": false,
"box_29_employment_code": null,
"box_10_province_territory_or_country_of_employment_code": "ON",
"box_45_employer_offered_dental_benefits": "1",
"box_14_employment_income": null,
"box_16_employees_cpp_contributions": null,
"box_16a_employees_cpp2_contributions": null,
"box_17_employees_qpp_contributions": null,
"box_17a_employees_qpp2_contributions": null,
"box_18_employees_ei_premiums": null,
"box_20_rpp_contributions": null,
"box_22_income_tax_deducted": null,
"box_24_ei_insurable_earnings": 1000.04,
"box_26_cpp_or_qpp_pensionable_earnings": 2000.73,
"box_27_employer_cpp_contributions": null,
"box_27a_employers_cpp2_contributions": null,
"box_19_employer_ei_premiums": null,
"box_44_union_dues": null,
"box_46_charitable_donations": null,
"box_52_pension_adjustment": null,
"box_55_employees_ppip_premiums": null,
"box_56_ppip_insurable_earnings": null,
"code_30_housing_board_and_lodging_amount": null,
"code_31_special_work_site_amount": null,
"code_32_travel_in_a_prescribed_zone_amount": null,
"code_33_medical_travel_amount": null,
"code_34_personal_use_of_employer_automobile_amount": null,
"code_35_total_reasonable_per_kilometre_allowance_amount": null,
"code_36_interest_free_and_low_interest_loan_amount": null,
"code_37_employee_home_relocation_loan_deduction_amount": null,
"code_97_stock_option_benefit_amount_before_february_28_2000": null,
"code_38_security_options_benefits_before_june_25_2024": null,
"code_39_security_options_deductions_110_1_d_before_june_25_2024": null,
"code_40_other_taxable_allowance_and_benefits": null,
"code_41_security_options_deduction_110_1_d1_before_june_25_2024": null,
"code_42_employment_commissions": null,
"code_43_canadian_armed_forces_personnel_and_police_deduction": null,
"code_53_deferred_security_option_benefits": null,
"code_57_employment_income_march_15_to_may_9_2020_tax_year_only": null,
"code_58_employment_income_may_10_to_july_4_2020_tax_year_only": null,
"code_59_employment_income_july_5_to_august_29_2020_tax_year_only": null,
"code_60_employment_income_august_30_to_september_26_2020_tax_year_only": null,
"code_66_eligible_retiring_allowances": null,
"code_67_non_eligible_retiring_allowances": null,
"code_69_indian_exempt_income_non_eligible_retiring_allowances": null,
"code_71_indian_exempt_income_employment": null,
"code_72_outside_of_canada_employment_income_amount_section_122_3": null,
"code_73_employment_outside_of_canada_day_count": null,
"code_74_pre_1990_past_service_contributions_while_a_contributor": null,
"code_75_pre_1990_past_service_contributions_while_not_a_contributor": null,
"code_77_workers_compensation_benefit_repaid_to_the_employer_amount": null,
"code_78_fishers_gross_earnings": null,
"code_79_fishers_net_partnership_amount": null,
"code_80_fishers_shareperson_amount": null,
"code_81_placement_or_employment_agency": null,
"code_82_driver_of_taxi_or_other_passenger_carrying_vehicle": null,
"code_83_barber_or_hairdresser": null,
"code_84_public_transit_pass": null,
"code_85_employee_paid_premiums_for_private_health_services_plans": null,
"code_86_stock_option_cash_out_expense": null,
"code_87_emergency_services_volunteer_exempt_amount": null,
"code_88_indian_exempt_income_self_employment": null,
"code_90_security_options_benefits_on_or_after_june_25_2024": null,
"code_91_security_options_deduction_110_1_d_on_or_after_june_25_2024": null,
"code_92_security_options_deduction_110_1_d1_on_or_after_june_25_2024": null,
"code_94_indian_exempt_income_rpp_contributions": null,
"code_95_indian_exempt_income_union_dues": null,
"code_98_stock_option_and_share_deduction_110_1_d_amount_before_february_28_2000": null,
"code_99_stock_option_and_share_deduction_110_1_d1_amount_before_february_28_2000": null,
"created_at": "2026-01-01T00:00:00.000000Z",
"updated_at": "2026-01-01T00:00:00.000000Z"
},
"links": {
"self": "/forms/<id>"
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
The body is of type object.
Response
OK
The unique identifier of the object in Nmbr.
The type of the object in Nmbr ("form").
Hide child attributes
Hide child attributes
The Form Batch this form belongs to, if any.
The lifecycle stage of this form: original, amendment, or cancellation.
amendment, cancellation, original An optional note for this form.
The type of form (e.g. T4, ROE, RL-1).
rl1, roe, t4, t4a, td1, td1ab, td1bc, td1mb, td1nb, td1nl, td1ns, td1nt, td1nu, td1on, td1pe, td1sk, td1x, td1yt, tp_1015_3_v, tp_1015_r_13_v 255The effective date used to determine the form variant (e.g. the T4 tax year).
The form variant's version year. New versions are typically released in January. Note: the version year may differ from the tax year. For example, income earned in the 2025 tax year is typically reported on a 2026 version of the T4.
The month component of the form variant, for forms with monthly variants. null for annual forms.
The number of validation errors currently present in the form's fields.
Whether the form can be edited.
Whether the form can currently be modified.
The date and time the object was created in Nmbr.
The date and time the object was last updated in Nmbr.

