@factorialco/api-client 3.0.0-beta.2026100128 → 3.0.0-beta.2026100129

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1367,6 +1367,75 @@ export type CompaniesLegalEntity = {
1367
1367
  */
1368
1368
  address_line_2?: string;
1369
1369
  };
1370
+ export type CompensationsAdditionalCompensation = {
1371
+ /**
1372
+ * The identifier of the additional compensation
1373
+ */
1374
+ id: string;
1375
+ /**
1376
+ * Contract version this additional compensation is attached to
1377
+ */
1378
+ contract_version_id: string;
1379
+ /**
1380
+ * Company id
1381
+ */
1382
+ company_id: string;
1383
+ /**
1384
+ * Payroll concept classifying this additional compensation
1385
+ */
1386
+ payroll_concept_id: string;
1387
+ /**
1388
+ * Employee id derived from the contract version
1389
+ */
1390
+ employee_id: string;
1391
+ /**
1392
+ * Recurrence label. One of `monthly`, `every_2_months`, `every_3_months`, `every_4_months`, `every_5_months`, `every_6_months`, `every_7_months`, `every_8_months`, `every_9_months`, `every_10_months`, `every_11_months`, `every_12_months`.
1393
+ */
1394
+ recurrence?: string;
1395
+ /**
1396
+ * Date of the first payment
1397
+ */
1398
+ first_payment_on?: string;
1399
+ /**
1400
+ * Free-text description
1401
+ */
1402
+ description?: string;
1403
+ /**
1404
+ * Amount strategy discriminator — one of `contracts_fixed_amount_strategy`, `contracts_variable_amount_strategy`, `contracts_per_worked_day_amount_strategy`
1405
+ */
1406
+ amount_strategy_type: 'contracts_fixed_amount_strategy' | 'contracts_variable_amount_strategy' | 'contracts_per_worked_day_amount_strategy';
1407
+ /**
1408
+ * Amount strategy id
1409
+ */
1410
+ amount_strategy_id: string;
1411
+ /**
1412
+ * Amount value (Fixed / PerWorkedDay strategies)
1413
+ */
1414
+ amount?: number;
1415
+ /**
1416
+ * Upper limit (Variable strategy only)
1417
+ */
1418
+ upper_limit?: number;
1419
+ /**
1420
+ * Definition object populated for PerWorkedDay strategies. Carries `calculation_source`, `reference_time`, `minimum_amount_of_hours_in_minutes`, `work_locations`, `timeoff_leave_type_ids`, and `eligible_days`. `null` for Fixed / Variable strategies.
1421
+ */
1422
+ per_worked_day_definition: {
1423
+ calculation_source: string;
1424
+ reference_time: string;
1425
+ minimum_amount_of_hours_in_minutes?: number;
1426
+ work_locations?: Array<string>;
1427
+ timeoff_leave_type_ids?: Array<string>;
1428
+ eligible_days?: Array<string>;
1429
+ };
1430
+ /**
1431
+ * Timestamp when the additional compensation was created
1432
+ */
1433
+ created_at: string;
1434
+ /**
1435
+ * Timestamp when the additional compensation was last updated
1436
+ */
1437
+ updated_at: string;
1438
+ };
1370
1439
  export type CompensationsConcept = {
1371
1440
  /**
1372
1441
  * The identifier of the concept
@@ -3468,7 +3537,7 @@ export type ExpensesExpensable = {
3468
3537
  */
3469
3538
  effective_on?: string;
3470
3539
  /**
3471
- * The optional date and time when the expensable was requested for review
3540
+ * The date and time the expensable was submitted for review. Null while it is a draft; set at submission and never cleared, so it is always present once an approval flow or a policy check runs (they start at submission). Compare it with `effective_on` to measure how late a document was submitted.
3472
3541
  */
3473
3542
  review_request_at?: string;
3474
3543
  /**
@@ -11857,6 +11926,190 @@ export type GetApi20261001ResourcesCompaniesLegalEntitiesByIdResponses = {
11857
11926
  200: CompaniesLegalEntity;
11858
11927
  };
11859
11928
  export type GetApi20261001ResourcesCompaniesLegalEntitiesByIdResponse = GetApi20261001ResourcesCompaniesLegalEntitiesByIdResponses[keyof GetApi20261001ResourcesCompaniesLegalEntitiesByIdResponses];
11929
+ export type GetApi20261001ResourcesCompensationsAdditionalCompensationsData = {
11930
+ body?: never;
11931
+ path?: never;
11932
+ query?: {
11933
+ /**
11934
+ * Filter by additional compensation ids
11935
+ */
11936
+ 'ids[]'?: Array<string>;
11937
+ /**
11938
+ * Filter by contract version ids, refers to contracts/contract_versions endpoint.
11939
+ */
11940
+ 'contract_version_ids[]'?: Array<string>;
11941
+ /**
11942
+ * Filter by employee ids, refers to employees/employees endpoint.
11943
+ */
11944
+ 'employee_ids[]'?: Array<string>;
11945
+ /**
11946
+ * Filter by payroll concept ids, refers to compensations/concepts endpoint.
11947
+ */
11948
+ 'payroll_concept_ids[]'?: Array<string>;
11949
+ };
11950
+ url: '/api/2026-10-01/resources/compensations/additional_compensations';
11951
+ };
11952
+ export type GetApi20261001ResourcesCompensationsAdditionalCompensationsResponses = {
11953
+ /**
11954
+ * OK
11955
+ */
11956
+ 200: {
11957
+ data?: Array<CompensationsAdditionalCompensation>;
11958
+ meta?: PagedIndexMeta;
11959
+ };
11960
+ };
11961
+ export type GetApi20261001ResourcesCompensationsAdditionalCompensationsResponse = GetApi20261001ResourcesCompensationsAdditionalCompensationsResponses[keyof GetApi20261001ResourcesCompensationsAdditionalCompensationsResponses];
11962
+ export type PostApi20261001ResourcesCompensationsAdditionalCompensationsData = {
11963
+ body?: {
11964
+ /**
11965
+ * Target contract version id, refers to contracts/contract_versions endpoint.
11966
+ */
11967
+ contract_version_id: string;
11968
+ /**
11969
+ * Payroll concept id, refers to compensations/concepts endpoint.
11970
+ */
11971
+ payroll_concept_id: string;
11972
+ /**
11973
+ * Amount strategy discriminator
11974
+ */
11975
+ amount_strategy_type: 'contracts_fixed_amount_strategy' | 'contracts_variable_amount_strategy' | 'contracts_per_worked_day_amount_strategy';
11976
+ /**
11977
+ * Amount value (required for Fixed and PerWorkedDay strategies)
11978
+ */
11979
+ amount?: number;
11980
+ /**
11981
+ * Upper limit for Variable strategy (ignored for others)
11982
+ */
11983
+ upper_limit?: number;
11984
+ /**
11985
+ * Definition object required when `amount_strategy_type = contracts_per_worked_day_amount_strategy`. Carries `calculation_source`, `reference_time`, `minimum_amount_of_hours_in_minutes`, `work_locations`, `timeoff_leave_type_ids`, and `eligible_days`.
11986
+ */
11987
+ per_worked_day_definition: {
11988
+ calculation_source: string;
11989
+ reference_time: string;
11990
+ minimum_amount_of_hours_in_minutes?: number;
11991
+ work_locations?: Array<string>;
11992
+ timeoff_leave_type_ids?: Array<string>;
11993
+ eligible_days?: Array<string>;
11994
+ };
11995
+ /**
11996
+ * Free-text description
11997
+ */
11998
+ description?: string;
11999
+ /**
12000
+ * Recurrence label. One of `monthly`, `every_2_months`, `every_3_months`, `every_4_months`, `every_5_months`, `every_6_months`, `every_7_months`, `every_8_months`, `every_9_months`, `every_10_months`, `every_11_months`, `every_12_months`.
12001
+ */
12002
+ recurrence?: 'monthly' | 'every_2_months' | 'every_3_months' | 'every_4_months' | 'every_5_months' | 'every_6_months' | 'every_7_months' | 'every_8_months' | 'every_9_months' | 'every_10_months' | 'every_11_months' | 'every_12_months';
12003
+ /**
12004
+ * Date of the first payment (must be on or after the contract version's effective month)
12005
+ */
12006
+ first_payment_on?: string;
12007
+ };
12008
+ path?: never;
12009
+ query?: never;
12010
+ url: '/api/2026-10-01/resources/compensations/additional_compensations';
12011
+ };
12012
+ export type PostApi20261001ResourcesCompensationsAdditionalCompensationsResponses = {
12013
+ /**
12014
+ * CREATED
12015
+ */
12016
+ 201: CompensationsAdditionalCompensation;
12017
+ };
12018
+ export type PostApi20261001ResourcesCompensationsAdditionalCompensationsResponse = PostApi20261001ResourcesCompensationsAdditionalCompensationsResponses[keyof PostApi20261001ResourcesCompensationsAdditionalCompensationsResponses];
12019
+ export type DeleteApi20261001ResourcesCompensationsAdditionalCompensationsByIdData = {
12020
+ body?: never;
12021
+ path: {
12022
+ /**
12023
+ * Additional compensation id to delete
12024
+ */
12025
+ id: string;
12026
+ };
12027
+ query?: never;
12028
+ url: '/api/2026-10-01/resources/compensations/additional_compensations/{id}';
12029
+ };
12030
+ export type DeleteApi20261001ResourcesCompensationsAdditionalCompensationsByIdResponses = {
12031
+ /**
12032
+ * OK
12033
+ */
12034
+ 200: CompensationsAdditionalCompensation;
12035
+ };
12036
+ export type DeleteApi20261001ResourcesCompensationsAdditionalCompensationsByIdResponse = DeleteApi20261001ResourcesCompensationsAdditionalCompensationsByIdResponses[keyof DeleteApi20261001ResourcesCompensationsAdditionalCompensationsByIdResponses];
12037
+ export type GetApi20261001ResourcesCompensationsAdditionalCompensationsByIdData = {
12038
+ body?: never;
12039
+ path: {
12040
+ /**
12041
+ * Filter by additional compensation ids
12042
+ */
12043
+ id: string;
12044
+ };
12045
+ query?: never;
12046
+ url: '/api/2026-10-01/resources/compensations/additional_compensations/{id}';
12047
+ };
12048
+ export type GetApi20261001ResourcesCompensationsAdditionalCompensationsByIdResponses = {
12049
+ /**
12050
+ * OK
12051
+ */
12052
+ 200: CompensationsAdditionalCompensation;
12053
+ };
12054
+ export type GetApi20261001ResourcesCompensationsAdditionalCompensationsByIdResponse = GetApi20261001ResourcesCompensationsAdditionalCompensationsByIdResponses[keyof GetApi20261001ResourcesCompensationsAdditionalCompensationsByIdResponses];
12055
+ export type PutApi20261001ResourcesCompensationsAdditionalCompensationsByIdData = {
12056
+ body?: {
12057
+ /**
12058
+ * Additional compensation id
12059
+ */
12060
+ id: string;
12061
+ /**
12062
+ * Amount strategy discriminator
12063
+ */
12064
+ amount_strategy_type?: 'contracts_fixed_amount_strategy' | 'contracts_variable_amount_strategy' | 'contracts_per_worked_day_amount_strategy';
12065
+ /**
12066
+ * Updated amount value (Fixed and PerWorkedDay strategies)
12067
+ */
12068
+ amount?: number;
12069
+ /**
12070
+ * Updated upper limit (Variable strategy only)
12071
+ */
12072
+ upper_limit?: number;
12073
+ /**
12074
+ * Definition object for PerWorkedDay strategies. Same shape as on create — replaces the previous definition when supplied.
12075
+ */
12076
+ per_worked_day_definition: {
12077
+ calculation_source: string;
12078
+ reference_time: string;
12079
+ minimum_amount_of_hours_in_minutes?: number;
12080
+ work_locations?: Array<string>;
12081
+ timeoff_leave_type_ids?: Array<string>;
12082
+ eligible_days?: Array<string>;
12083
+ };
12084
+ /**
12085
+ * Free-text description
12086
+ */
12087
+ description?: string;
12088
+ /**
12089
+ * Recurrence label. Same enum as on create.
12090
+ */
12091
+ recurrence?: 'monthly' | 'every_2_months' | 'every_3_months' | 'every_4_months' | 'every_5_months' | 'every_6_months' | 'every_7_months' | 'every_8_months' | 'every_9_months' | 'every_10_months' | 'every_11_months' | 'every_12_months';
12092
+ /**
12093
+ * Date of the first payment
12094
+ */
12095
+ first_payment_on?: string;
12096
+ };
12097
+ path: {
12098
+ /**
12099
+ * Additional compensation id
12100
+ */
12101
+ id: string;
12102
+ };
12103
+ query?: never;
12104
+ url: '/api/2026-10-01/resources/compensations/additional_compensations/{id}';
12105
+ };
12106
+ export type PutApi20261001ResourcesCompensationsAdditionalCompensationsByIdResponses = {
12107
+ /**
12108
+ * OK
12109
+ */
12110
+ 200: CompensationsAdditionalCompensation;
12111
+ };
12112
+ export type PutApi20261001ResourcesCompensationsAdditionalCompensationsByIdResponse = PutApi20261001ResourcesCompensationsAdditionalCompensationsByIdResponses[keyof PutApi20261001ResourcesCompensationsAdditionalCompensationsByIdResponses];
11860
12113
  export type GetApi20261001ResourcesCompensationsConceptsData = {
11861
12114
  body?: never;
11862
12115
  path?: never;