export type ClientOptions = { baseUrl: 'https://api.factorialhr.com' | 'https://api.demo.factorial.dev' | 'https://api.eu2.demo.factorial.dev' | (string & {}); }; export type Webhooks = PostWebhooks__ApiPublic__WebhookSubscription__CreatesWebhookRequest | PostWebhooks__ApiPublic__WebhookSubscription__DeletesWebhookRequest | PostWebhooks__ApiPublic__WebhookSubscription__UpdatesWebhookRequest | PostWebhooks__Ats__Application__AppliesWebhookRequest | PostWebhooks__Ats__Application__CreatesWebhookRequest | PostWebhooks__Ats__Application__CreateFromEmployeesWebhookRequest | PostWebhooks__Ats__Application__DeletesWebhookRequest | PostWebhooks__Ats__Application__UpdatesWebhookRequest | PostWebhooks__Ats__Candidate__CreatesWebhookRequest | PostWebhooks__Ats__Candidate__DeletesWebhookRequest | PostWebhooks__Ats__Candidate__UpdatesWebhookRequest | PostWebhooks__Ats__EvaluationForm__SaveAsTemplatesWebhookRequest | PostWebhooks__Ats__JobPosting__CreatesWebhookRequest | PostWebhooks__Ats__JobPosting__DeletesWebhookRequest | PostWebhooks__Ats__JobPosting__DuplicatesWebhookRequest | PostWebhooks__Ats__JobPosting__UpdatesWebhookRequest | PostWebhooks__Attendance__Shift__AutofillsWebhookRequest | PostWebhooks__Attendance__Shift__BreakEndsWebhookRequest | PostWebhooks__Attendance__Shift__BreakStartsWebhookRequest | PostWebhooks__Attendance__Shift__ClockInsWebhookRequest | PostWebhooks__Attendance__Shift__ClockOutsWebhookRequest | PostWebhooks__Attendance__Shift__CreatesWebhookRequest | PostWebhooks__Attendance__Shift__DeletesWebhookRequest | PostWebhooks__Attendance__Shift__ToggleClocksWebhookRequest | PostWebhooks__Attendance__Shift__UpdatesWebhookRequest | PostWebhooks__Banking__BankAccountNumber__UpsertsWebhookRequest | PostWebhooks__BookkeepersManagement__Incidence__UpdatesWebhookRequest | PostWebhooks__Companies__LegalEntity__CreatesWebhookRequest | PostWebhooks__Contracts__ContractVersionRequest__ApprovesWebhookRequest | PostWebhooks__Contracts__ContractVersionRequest__CreatePromoteRequestsWebhookRequest | PostWebhooks__Contracts__ContractVersionRequest__DeletesWebhookRequest | PostWebhooks__Contracts__ContractVersionRequest__RejectsWebhookRequest | PostWebhooks__Contracts__ContractVersion__CreatesWebhookRequest | PostWebhooks__Contracts__ContractVersion__DeletesWebhookRequest | PostWebhooks__Contracts__ContractVersion__UpdatesWebhookRequest | PostWebhooks__CustomResources__Schema__CreatesWebhookRequest | PostWebhooks__Documents__Document__BulkCreatesWebhookRequest | PostWebhooks__Documents__Document__CreatesWebhookRequest | PostWebhooks__Documents__Document__DeletesWebhookRequest | PostWebhooks__Documents__Document__MoveToTrashBinsWebhookRequest | PostWebhooks__Documents__Document__RestoreFromTrashBinsWebhookRequest | PostWebhooks__Documents__Document__UpdatesWebhookRequest | PostWebhooks__Documents__Folder__CreatesWebhookRequest | PostWebhooks__Documents__Folder__UpdatesWebhookRequest | PostWebhooks__Employees__Employee__CreateWithContractsWebhookRequest | PostWebhooks__Employees__Employee__InvitesWebhookRequest | PostWebhooks__Employees__Employee__SetRegularAccessStartDatesWebhookRequest | PostWebhooks__Employees__Employee__TerminatesWebhookRequest | PostWebhooks__Employees__Employee__UnterminatesWebhookRequest | PostWebhooks__Employees__Employee__UpdatesWebhookRequest | PostWebhooks__Expenses__Expensable__BulkSetToPaidsWebhookRequest | PostWebhooks__Expenses__Expensable__UpdateReimbursableAmountsWebhookRequest | PostWebhooks__Finance__CostCenter__CreatesWebhookRequest | PostWebhooks__Finance__CostCenter__DeletesWebhookRequest | PostWebhooks__Finance__CostCenter__EditsWebhookRequest | PostWebhooks__Locations__Location__CreatesWebhookRequest | PostWebhooks__Locations__Location__DeletesWebhookRequest | PostWebhooks__Locations__Location__UpdatesWebhookRequest | PostWebhooks__Payroll__PolicyPeriod__ChangeStatusesWebhookRequest | PostWebhooks__Payroll__Supplement__CreatesWebhookRequest | PostWebhooks__Payroll__Supplement__DeletesWebhookRequest | PostWebhooks__Payroll__Supplement__UpdatesWebhookRequest | PostWebhooks__PayrollIntegrationsBase__Code__CreatesWebhookRequest | PostWebhooks__PayrollIntegrationsBase__Code__DeletesWebhookRequest | PostWebhooks__PayrollIntegrationsBase__Code__UpdatesWebhookRequest | PostWebhooks__Performance__ReviewProcess__CreatesWebhookRequest | PostWebhooks__Performance__ReviewProcess__CreateFromTemplatesWebhookRequest | PostWebhooks__Performance__ReviewProcess__DeletesWebhookRequest | PostWebhooks__Performance__ReviewProcess__DuplicatesWebhookRequest | PostWebhooks__Performance__ReviewProcess__RemindInBulksWebhookRequest | PostWebhooks__Performance__ReviewProcess__RemoveSchedulesWebhookRequest | PostWebhooks__Performance__ReviewProcess__ReopensWebhookRequest | PostWebhooks__Performance__ReviewProcess__SchedulesWebhookRequest | PostWebhooks__Performance__ReviewProcess__StartsWebhookRequest | PostWebhooks__Performance__ReviewProcess__StopsWebhookRequest | PostWebhooks__Performance__ReviewProcess__ToggleArchivesWebhookRequest | PostWebhooks__Performance__ReviewProcess__UpdateAgreementsConfigurationsWebhookRequest | PostWebhooks__Performance__ReviewProcess__UpdateBasicInfosWebhookRequest | PostWebhooks__Performance__ReviewProcess__UpdateCompetenciesAssessmentsConfigurationsWebhookRequest | PostWebhooks__Performance__ReviewProcess__UpdateDeadlinesWebhookRequest | PostWebhooks__Performance__ReviewProcess__UpdateEmployeeScoreConfigurationsWebhookRequest | PostWebhooks__Performance__ReviewProcess__UpdateReviewerStrategiesWebhookRequest | PostWebhooks__Performance__ReviewProcess__UpdateSchedulesWebhookRequest | PostWebhooks__Performance__ReviewProcess__UpdateTargetStrategiesWebhookRequest | PostWebhooks__ShiftManagement__Shift__BulkCreatesWebhookRequest | PostWebhooks__ShiftManagement__Shift__BulkDeletesWebhookRequest | PostWebhooks__ShiftManagement__Shift__CreatesWebhookRequest | PostWebhooks__ShiftManagement__Shift__DeletesWebhookRequest | PostWebhooks__Tasks__Task__BulkCreatesWebhookRequest | PostWebhooks__Tasks__Task__BulkDeletesWebhookRequest | PostWebhooks__Tasks__Task__BulkUpdatesWebhookRequest | PostWebhooks__Tasks__Task__CopiesWebhookRequest | PostWebhooks__Tasks__Task__CreatesWebhookRequest | PostWebhooks__Tasks__Task__CreateCommentsWebhookRequest | PostWebhooks__Tasks__Task__DeletesWebhookRequest | PostWebhooks__Tasks__Task__UpdatesWebhookRequest | PostWebhooks__Teams__Membership__BulkUpsertsWebhookRequest | PostWebhooks__Teams__Membership__CreatesWebhookRequest | PostWebhooks__Teams__Membership__DeletesWebhookRequest | PostWebhooks__Teams__Membership__UpdatesWebhookRequest | PostWebhooks__Teams__Team__CreatesWebhookRequest | PostWebhooks__Teams__Team__DeletesWebhookRequest | PostWebhooks__Teams__Team__ProjectsWebhookRequest | PostWebhooks__Teams__Team__UpdatesWebhookRequest | PostWebhooks__Timeoff__BlockedPeriod__CreatesWebhookRequest | PostWebhooks__Timeoff__BlockedPeriod__DeletesWebhookRequest | PostWebhooks__Timeoff__BlockedPeriod__UpdatesWebhookRequest | PostWebhooks__Timeoff__LeaveType__CreatesWebhookRequest | PostWebhooks__Timeoff__LeaveType__UpdatesWebhookRequest | PostWebhooks__Timeoff__Leave__ApprovesWebhookRequest | PostWebhooks__Timeoff__Leave__CreatesWebhookRequest | PostWebhooks__Timeoff__Leave__DeletesWebhookRequest | PostWebhooks__Timeoff__Leave__RejectsWebhookRequest | PostWebhooks__Timeoff__Leave__UpdatesWebhookRequest | PostWebhooks__Timeoff__Policy__CreatesWebhookRequest | PostWebhooks__Timeoff__Policy__DeletesWebhookRequest | PostWebhooks__Timeoff__Policy__UpdatesWebhookRequest | PostWebhooks__Trainings__Category__CreatesWebhookRequest | PostWebhooks__Trainings__Category__DeletesWebhookRequest | PostWebhooks__Trainings__Training__BulkDeletesWebhookRequest | PostWebhooks__Trainings__Training__BulkUpdateCatalogsWebhookRequest | PostWebhooks__Trainings__Training__CreatesWebhookRequest | PostWebhooks__Trainings__Training__DeletesWebhookRequest | PostWebhooks__Trainings__Training__UpdatesWebhookRequest | PostWebhooks__Trainings__Training__UpdateStatusesWebhookRequest | PostWebhooks__WorkSchedule__Schedule__CreatesWebhookRequest | PostWebhooks__WorkSchedule__Schedule__ToggleArchivesWebhookRequest | PostWebhooks__WorkSchedule__Schedule__UpdatesWebhookRequest; export type ApiPublicCredential = { /** * company id for all kind of accesses */ company_id: string; /** * id of the credential prefixed by the type of credential */ id: string; /** * Only for Access Oauth token */ email?: string; /** * Only for Access Oauth token */ login_email?: string; full_name?: string; /** * Only for Access Oauth token */ first_name?: string; /** * Only for Access Oauth token */ last_name?: string; /** * Id for hte employee related. Only for Access Oauth token */ employee_id: string; /** * Employee role in the Company. Only for Access Oauth token */ role?: string; /** * Only for Company Oauth or API key */ gdpr_tos?: boolean; /** * Only for Company Oauth or API key */ legal_name?: string; /** * Only for Company Oauth or API key */ locale?: string; /** * Only for Company Oauth or API key */ logo?: string; /** * Only for Company Oauth or API key */ name?: string; /** * Only for Company Oauth or API key */ onboarded_on?: string; /** * Only for Company Oauth or API key */ subscription_plan?: string; /** * Only for Company Oauth or API key */ tin?: string; /** * Only for Company Oauth or API key */ to_be_deleted?: string; /** * Only for Company Oauth or API key */ tos?: boolean; }; export type ApiPublicWebhookSubscription = { /** * Identifier of the webhook subscription */ id: string; /** * URL where the webhook payload will be sent */ target_url: string; /** * Type of the webhook subscription */ type: string; /** * Company identifier of the webhook subscription */ company_id: string; /** * Name of the webhook subscription */ name?: string; /** * String to verify the subscription */ challenge?: string; /** * Boolean to enable/disable the subscription */ enabled: boolean; /** * API version of the webhook subscription that determines the schema of the payload */ api_version: string; }; export type ApprovalsMaterializedApprovalsFlow = { id: string; author_id: string; author_employee_id?: string; owner_id: string; owner_employee_id?: string; resource_type: string; resource_id: string; resource_url: string; status: 'running' | 'requestedinformation' | 'changes_requested' | 'stopped' | 'approved' | 'rejected'; expires_at: string; final_decision_at?: string; approval_flow_id: string; approvers: Array; email_detail_blocks: Array; override_approver_id?: string; override_approver_employee_id?: string; rules_decision?: string; auto_approval_description?: string; action_type?: string; reason?: string; }; export type AtsAnswer = { /** * Identifier of the answer */ id: string; /** * Identifier of the question */ ats_question_id?: string; /** * Identifier of the application */ ats_application_id: string; /** * Question label of the answer */ original_question_label: string; /** * Value of the answer */ value?: string; /** * Original type of the question */ original_question_type: 'text' | 'long_text' | 'single_choice' | 'multiple_choice' | 'file'; /** * Created date of the answer */ created_at: string; /** * Last updated date of the answer */ updated_at: string; }; export type AtsApplication = { /** * Id of the application */ id: string; /** * Company id of the application */ company_id: string; /** * Job posting id of the application */ ats_job_posting_id: string; /** * Candidate id of the application */ ats_candidate_id: string; /** * Employee id of the application */ employee_id?: string; /** * Candidate phone of the application */ phone?: string; /** * Qualified of the application */ qualified?: boolean; /** * Application phase id */ ats_application_phase_id?: string; /** * Application created at date */ created_at: string; /** * Application cover letter */ cover_letter?: string; /** * CV file attachment of the application (includes filename, url, byte_size, content_type, created_at) */ cv?: { [key: string]: unknown; }; /** * Application conversation id */ ats_conversation_id?: string; /** * Application medium */ medium?: string; /** * Application average rating */ rating_average?: number; /** * Application rejection reason id */ ats_rejection_reason_id?: string; /** * Application source id */ source_id?: string; }; export type AtsApplicationPhase = { /** * Identifier of the application Phase */ id: string; /** * Job posting of the application phase */ ats_job_posting_id: string; /** * Name of the application phase */ name: string; /** * Position of the application phase */ position: number; /** * If the application phase is editable */ editable: boolean; /** * Application phase type */ phase_type: 'initial' | 'normal' | 'hired' | 'screening' | 'interview' | 'assessment' | 'offer'; /** * Active application count */ applications_count?: number; active_applications_count?: number; /** * Hiring stage identifier */ ats_hiring_stage_id?: string; }; export type AtsCandidate = { /** * identifier of the candidate. */ id: string; /** * company identifier. */ company_id?: string; /** * name of the candidate. */ first_name: string; /** * last name of the candidate. */ last_name: string; /** * full name of the candidate. */ full_name: string; /** * email of the candidate. */ email?: string; /** * is the candidate part of talent pool? */ talent_pool: boolean; /** * phone number of the candidate. */ phone_number?: string; /** * creation date of the candidate. */ created_at: string; /** * last update of the candidate. */ updated_at: string; /** * date when the consent was given. */ consent_given_at?: string; /** * date when the candidate became inactive. */ inactive_since?: string; /** * list of job posting identifiers. */ ats_job_posting_ids?: Array; /** * personal web resource from the candidate. */ personal_url?: string; /** * date when the consent expires. */ consent_expiration_date?: string; /** * consent to talent pool. */ consent_to_talent_pool?: boolean; /** * specifies additional details related to the source of the candidate, such as the referrer name for example if the source is referred. */ medium?: string; /** * candidate source identifier, refers to ats/candidate_sources endpoint. */ source_id?: string; /** * gender of the candidate. */ gender?: 'female' | 'male' | 'unanswered' | 'other'; /** * score of the candidate. */ score?: number; }; export type AtsCandidateSource = { /** * identifier of the source. */ id: string; /** * identifier of the company. */ company_id: string; /** * category of the source. */ category: 'job_board' | 'agency_or_external_recruiter' | 'event' | 'social_media' | 'referral' | 'internal' | 'manually_added' | 'organic' | 'system'; /** * name of the source. */ name: string; /** * Translated label of the source if it is a default one, or name otherwise */ label: string; }; export type AtsEvaluationForm = { /** * Id of the evaluation form. */ id: string; /** * Id of the company that the evaluation form belongs to. */ company_id: string; /** * Id of the job posting that the evaluation form is associated with. */ ats_job_posting_id?: string; /** * Name of the evaluation form. */ name: string; /** * Id of the evaluation form that this evaluation form is related. */ based_on_id?: string; /** * List of questions in the evaluation form. */ questions: Array; /** * date and time when the evaluation form was created. */ created_at: string; /** * date and time when the evaluation form was last updated. */ updated_at: string; }; export type AtsFeedback = { /** * the ID of the feedback entry. */ id: string; /** * the overall rating from 1 to 5 for the candidate's application. */ rating?: number; /** * the description of the feedback provided. */ description?: string; /** * the ID of the application related to the feedback. */ ats_application_id?: string; /** * the ID of the phase within the application related to the feedback. */ ats_application_phase_id?: string; /** * the date and time when the feedback entry was created. */ created_at: string; /** * the ID of the candidate to whom the feedback is associated. */ ats_candidate_id: string; /** * the ID of the evaluation form to which the feedback belongs if the evaluation forms feature is active. */ ats_evaluation_forms_id?: string; /** * the answers from the evaluation form, if this feedback is related to an evaluation form. */ evaluation_form_answers?: Array; }; export type AtsHiringStage = { /** * Identifier of the hiring stage */ id: string; /** * Name of the hiring stage */ name: 'new' | 'screening' | 'interview' | 'assessment' | 'offer' | 'hired'; /** * Label of the hiring stage */ label: string; /** * Company identifier of the hiring stage */ company_id: string; /** * Position of the hiring stage */ position: number; }; export type AtsJobPosting = { /** * Unique identifier for the job posting */ id: string; /** * Identifier of the company associated with the job posting */ company_id: string; /** * Identifier of the ATS company associated with the job posting */ ats_company_id: string; /** * Title of the job posting */ title: string; /** * Description of the job posting */ description?: string; contract_type?: 'indefinite' | 'temporary' | 'intern' | 'training' | 'freelance' | 'vendor_contractor' | 'volunteer' | 'per_hour' | 'other' | 'alternant' | 'interim' | 'minijob' | 'werkstudent' | 'apprenticeship' | 'pj' | 'clt' | 'jovem_aprendiz' | 'a_termo_incerto' | 'a_termo_certo' | 'de_curta_duracao' | 'de_muita_curta_duracao' | 'promessa_de_trabalho' | 'a_tempo_parcial' | 'com_pluralidade_de_empregadores' | 'teletrabalho' | 'pre_reforma' | 'recibos_verdes' | 'estagio' | 'sem_termo' | 'apprentissage' | 'fixed_discontinued' | 'apprendistato'; category?: 'administration_and_secretariat' | 'design_and_architecture' | 'education_and_social_policy' | 'engineering' | 'finance' | 'hr' | 'it' | 'legal' | 'management_and_consulting' | 'marketing_and_communication' | 'nursing_and_therapy' | 'physicians' | 'public_sector' | 'purchasing_materials_administration_and_logistics' | 'sales' | 'sciences_and_research' | 'service_industry_and_manufacturing' | 'sports_art_and_creative_jobs' | 'other'; workplace_type?: 'onsite' | 'remote' | 'hybrid'; /** * Indicates if the job posting is remote */ remote: boolean; /** * The current status of the job posting (e.g., draft, published, archived) */ status: 'draft' | 'published' | 'unlisted' | 'archived' | 'cancelled' | 'deleted'; /** * The schedule type of the job posting (e.g., full_time, part_time) */ schedule_type?: 'full_time' | 'part_time'; /** * Identifier of the team associated with the job posting */ team_id?: string; /** * Identifier of the location associated with the job posting */ location_id?: string; /** * Identifier of the legal entity associated with the job posting */ legal_entity_id?: string; /** * The format of the salary (e.g., range, fixed_amount) */ salary_format?: 'fixed_amount' | 'range'; /** * The minimum salary amount in cents */ salary_from_amount_in_cents?: number; /** * The maximum salary amount in cents */ salary_to_amount_in_cents?: number; /** * Indicates whether the salary information for the job posting should be hidden from applicants. */ hide_salary?: boolean; /** * Requirement for the CV (e.g, mandatory, optional, do_not_ask) */ cv_requirement: 'mandatory' | 'optional' | 'do_not_ask'; /** * Requirement for the cover letter (e.g, mandatory, optional, do_not_ask) */ cover_letter_requirement: 'mandatory' | 'optional' | 'do_not_ask'; /** * Requirement for the phone number (e.g, mandatory, optional, do_not_ask) */ phone_requirement: 'mandatory' | 'optional' | 'do_not_ask'; /** * Requirement for the phone number (e.g, mandatory, optional, do_not_ask) */ photo_requirement: 'mandatory' | 'optional' | 'do_not_ask'; /** * Requirement for the personal URL (e.g, mandatory, optional, do_not_ask) */ personal_url_requirement: 'mandatory' | 'optional' | 'do_not_ask'; /** * If published, the public URL of the job posting. Otherwise will be null */ url?: string; /** * The period of the salary (e.g., annual, monthly, daily) */ salary_period: 'annual' | 'monthly' | 'daily'; /** * Published date in ISO 8601 format of the job. If never been published the value will be null */ published_at?: string; /** * Date in ISO 8601 format when the job posting was created */ created_at: string; }; export type AtsMessage = { id: string; content: string; ats_conversation_id: string; sent_by_id: string; sent_by_type: string; created_at: string; attachments: Array; topic: string; delayed_until?: string; sent_at?: string; delivered_at?: string; opened_at?: string; last_error_at?: string; }; export type AtsQuestion = { /** * question identifier */ id: string; /** * job posting identifier. */ ats_job_posting_id: string; /** * text of the question. */ label: string; /** * position of the question in the list. */ position: number; /** * is the question mandatory or not */ mandatory: boolean; /** * if the question autodisqualifies the candidate depending on it's response. */ auto_disqualify: boolean; /** * type of the question. */ question_type: 'text' | 'long_text' | 'single_choice' | 'multiple_choice' | 'file'; /** * creation date */ created_at: string; /** * last update date */ updated_at: string; /** * options for the question. */ options?: Array; }; export type AtsRejectionReason = { /** * Rejection reason identifier */ id: string; /** * Company identifier of the rejection reason */ company_id: string; /** * Decision maker of the rejection reason */ decision_maker: 'company' | 'candidate'; /** * Reason of the rejection */ reason: string; /** * Rejection reason created date */ created_at: string; /** * Rejection reason updated date */ updated_at: string; }; export type AttendanceBreakConfiguration = { id: string; /** * Id of the attendance employee setting */ attendance_employees_setting_id: string; /** * Id of the time settings break configuration */ time_settings_break_configuration_id: string; /** * Status of the break configuration if enabled or not */ enabled: boolean; /** * Name of the break configuration */ name?: string; /** * Check the break configuration is paid or not */ paid?: boolean; }; export type AttendanceEditTimesheetRequest = { /** * Unique identifier for the edit timesheet request */ id: string; /** * Status of the edit timesheet request */ approved?: boolean; /** * Type of the request */ request_type: 'create_shift' | 'delete_shift' | 'update_shift'; /** * Id of the shift's employee */ employee_id: string; /** * Indicates if the shift is workable or a break */ workable?: boolean; /** * Clock in of the shift */ clock_in?: string; /** * Clock out of the shift */ clock_out?: string; /** * Location of the shift */ location_type?: 'office' | 'business_trip' | 'work_from_home'; /** * Approve or reject reason */ reason?: string; /** * Id of the shift for the request */ attendance_shift_id?: string; /** * Id of the type of break for the request */ time_settings_break_configuration_id?: string; /** * Additional observations for the shift */ observations?: string; /** * Date of the shift */ date?: string; /** * Reference date for the shift */ reference_date?: string; }; export type AttendanceEstimatedTime = { date: string; company_id: string; employee_id: string; /** * Amount of minutes the employee has to work without taking into consideration time off leaves and bank holidays. */ expected_minutes: number; /** * Amount of regular minutes the employee has to work. */ regular_minutes: number; /** * Amount of overtime minutes the employee has to work (only available with Shift Management). */ overtime_minutes: number; breaks: Array; time_unit: 'minute' | 'half_day' | 'none'; estimated_half_days: number; shifts: Array; /** * Source of the estimated time. Could be employee's contract, work schedule or shift management. */ source: 'shift_management' | 'work_schedule' | 'contract_hours' | 'none'; /** * ID to specify the estimation time it includes the employee_id and date */ id: string; /** * Amount of minutes the employee has to work. */ minutes: number; }; export type AttendanceOpenShift = { /** * Open Shift identifier. */ id: string; /** * Employee identifier from the open shift. */ employee_id: string; /** * Date of the open shift. */ date: string; /** * Reference date for the shift */ reference_date: string; /** * Clock in time from the shift. Ignore the date part. */ clock_in: string; /** * For open shifts, this field is null. */ clock_out?: string; /** * Status of the shift */ status: 'opened' | 'closed' | 'created'; /** * Indicates if the shift is a break or a workable shift. */ workable: boolean; /** * Indicates if the shift is automatic or not */ automatic_clock_in: boolean; /** * String representing the location type of the shift. Examples work_from_home, office, etc. */ location_type?: string; /** * Identifier for the workplace assinged to the shift. */ workplace_id?: string; /** * If the shift is a break, this field will have the break configuration id. */ time_settings_break_configuration_id?: string; }; export type AttendanceOvertimeRequest = { id: string; employee_id: string; approver_id?: string; author_id: string; status: 'pending' | 'approved' | 'rejected' | 'none'; description?: string; reason?: string; date: string; hours_amount_in_cents: number; created_at?: string; approver: boolean; approver_full_name?: string; /** * Defines if the overtime request can be edited */ is_editable: boolean; }; export type AttendanceReview = { id: string; /** * Employee identifier */ employee_id: string; /** * Date reviewed */ date: string; /** * Reviewed at (ISO 8601 format string) */ reviewed_at: string; /** * Author of the review */ author_id: string; }; export type AttendanceShift = { /** * Unique identifier for the shift */ id: string; /** * Identifier for the employee assigned to the shift */ employee_id: string; /** * Date of the shift */ date: string; /** * Reference date for the shift */ reference_date: string; /** * Time when the employee clocked in */ clock_in?: string; /** * Time when the employee clocked out */ clock_out?: string; /** * Source of the clock-in time */ in_source?: string; /** * Source of the clock-out time */ out_source?: string; /** * Additional observations about the shift */ observations?: string; /** * Type of location for the shift */ location_type?: 'office' | 'business_trip' | 'work_from_home'; /** * Indicates which worked part of the day */ half_day?: 'beginning_of_day' | 'end_of_day'; /** * Latitude of the clock-in location */ in_location_latitude?: number; /** * Longitude of the clock-in location */ in_location_longitude?: number; /** * Accuracy of the clock-in location */ in_location_accuracy?: number; /** * Latitude of the clock-out location */ out_location_latitude?: number; /** * Longitude of the clock-out location */ out_location_longitude?: number; /** * Accuracy of the clock-out location */ out_location_accuracy?: number; /** * Indicates if the shift is workable */ workable?: boolean; /** * Timestamp when the shift record was created */ created_at: string; /** * Identifier for the location */ workplace_id?: string; /** * Identifier for the break configuration */ time_settings_break_configuration_id?: string; /** * Identifier for the company */ company_id: string; /** * Timestamp when the shift record was updated */ updated_at: string; /** * Number in minutes of the shift */ minutes: number; /** * Clock in time with seconds */ clock_in_with_seconds?: string; }; export type AttendanceWorkedTime = { employee_id: string; date: string; company_id: string; tracked_minutes: number; multiplied_minutes: number; pending_minutes: number; minutes: number; time_unit: 'minute' | 'half_day' | 'none'; worked_time_blocks: Array; day_type: 'saturday' | 'sunday' | 'bank_holiday' | 'workday'; /** * ID to specify the worked time it includes the employee_id and date */ id: string; }; export type BankingBankAccount = { /** * Factorial unique identifier. */ id: string; /** * External ID for the bank account. */ external_id: string; /** * Currency. */ currency: string; /** * Country. */ country: string; /** * Account number. */ account_number: string; /** * Account number type. */ account_number_type: 'iban' | 'sort_code_and_account_number' | 'routing_number_and_account_number' | 'clabe' | 'other' | 'bank_name_and_account_number'; /** * Sort code. */ sort_code?: string; /** * Bank Identifier Code. */ bic?: string; /** * International Bank Account Number. */ iban?: string; /** * Routing number. */ routing_number?: string; /** * Account balance in cents. */ account_balance_cents: number; /** * Available balance in cents. */ available_balance_cents: number; /** * Pending balance in cents. */ pending_balance_cents: number; /** * Beneficiary name. */ beneficiary_name?: string; /** * Bank name. */ bank_name?: string; /** * Account alias. */ account_alias?: string; /** * Last updated date. */ updated_at: string; /** * Factorial unique identifier of the legal entity. */ legal_entity_id?: string; }; export type BankingCardPayment = { /** * The ID of the card payment. */ id: string; /** * The ID of the card. */ card_id: string; /** * The amount of the card payment. */ amount_cents: number; /** * The currency of the card payment. */ currency: string; /** * The name of the merchant. */ merchant_name: string; /** * The amount of the merchant. */ merchant_amount_cents: number; /** * The currency of the merchant. */ merchant_currency: string; /** * Whether the card payment was approved. */ approved: boolean; /** * The date and time the card payment was created in the external system. */ external_created_at: string; /** * The status of the card payment. */ status: 'pending' | 'closed' | 'reversed' | 'rejected'; /** * The type of the card payment. */ type: 'payment' | 'refund'; /** * The exchange rate of the card payment. */ exchange_rate: number; /** * The reason the card payment was rejected. */ rejected_reason?: 'account_disabled' | 'card_active' | 'card_canceled' | 'card_expired' | 'card_inactive' | 'cardholder_blocked' | 'cardholder_inactive' | 'cardholder_verification_required' | 'insecure_authorization_method' | 'insufficient_funds' | 'not_allowed' | 'pin_blocked' | 'spending_controls' | 'suspected_fraud' | 'verification_failed' | 'webhook_approved' | 'webhook_declined' | 'webhook_error' | 'webhook_timeout' | 'authentication_failed' | 'incorrect_cvc' | 'incorrect_expiry' | 'account_compliance_disabled' | 'account_inactive' | 'authorization_controls'; /** * The date and time the card payment was created in factorial */ created_at: string; }; export type BankingTransaction = { /** * Factorial unique identifier. */ id: string; /** * Factorial Banking Bank Account unique identifier. */ bank_account_id: string; /** * Amount in cents. */ amount_cents: number; /** * Balance after the transaction in cents. */ balance_after_cents?: number; /** * Currency. */ currency: string; /** * Type of transaction. */ type: 'payroll' | 'payment' | 'topup' | 'unknown' | 'card_payment' | 'dispute' | 'card_refund' | 'fees' | 'outgoing_transfer' | 'incoming_transfer' | 'outgoing' | 'incoming'; /** * Description of the transaction. */ description?: string; /** * Booking date of the transaction. */ booking_date: string; /** * Value date of the transaction. */ value_date: string; /** * Factorial unique identifier of the card payment. */ card_payment_id: string; /** * Date when the transaction was last updated. */ updated_at: string; }; export type BookkeepersManagementIncidence = { /** * identifier of the incidence (aka employee update). */ id: string; /** * identifier of employee related. */ employee_id?: string; /** * identifier of legal entity related. */ legal_entity_id: string; /** * name of the incidence (aka employee update). It also represent the incidence type. For example a new hire incidence will be */ name: string; custom_name?: string; /** * The incidence (aka employee update) is also related to a another resource, for example for a leave target, the target identifier will be the leave id. */ target_id: string; /** * The incidence (aka employee update) is also related to a another resource, for example a leave. This is the target type. The other types are Employee, Contracts::ContractVersion, BookkeepersManagement::ManualIncidence, Finance::CostCenterMembership. */ target_type: string; /** * The date the incidence (aka employee update) starts. */ starts_on?: string; /** * The date the incidence (aka employee update) end. */ ends_on?: string; /** * The date the incidence (aka employee update) was read. */ read_at?: string; status: string; /** * identifier of company related. */ company_id: string; /** * Indicate the message sender on the incidence (aka employee update). It can be any of 'bookkeeper', 'admin' */ message_from?: string; /** * Boolean that indicates if the incidence (aka employee update) has unread messages. */ has_message?: boolean; /** * Date in which incidence (aka employee update) was created. */ created_at: string; /** * Boolean that indicates if the incidence (aka employee update) has been reopened. */ is_reopened: boolean; legal_entity_name?: string; employee_first_name?: string; employee_last_name?: string; }; export type CompaniesLegalEntity = { /** * identifier of the legal entity */ id: string; /** * company identifier */ company_id: string; /** * Country code of the jurisdiction the legal entity is registered in (lowercase two-letter code, e.g. "es"). */ country: string; /** * Legal name of the legal entity */ legal_name: string; /** * The currency code in ISO 4217 format */ currency: string; /** * Tax identification number */ tin?: string; /** * City of the legal entity */ city?: string; /** * State of the legal entity */ state?: string; /** * Postal code of the legal entity */ postal_code?: string; /** * Address line 1 of the legal entity */ address_line_1?: string; /** * Address line 2 of the legal entity */ address_line_2?: string; }; export type CompensationsConcept = { /** * The identifier of the concept */ id: string; /** * The category of the concept */ category?: 'earnings_fixed_salary' | 'earnings_variable' | 'earnings_benefits_in_kind' | 'earnings_others' | 'deductions' | 'company_contribution' | 'summarized_values'; /** * The company identifier of the concept */ company_id: string; /** * Whether the concept is a default or a custom concept */ default: boolean; /** * The description of the concept */ description: string; /** * The label of the concept */ label: string; /** * The name of the concept */ name: string; /** * The translated name of the concept if it is a default concept. */ translated_name: string; /** * The name of the unit of the concept */ unit_name?: string; /** * The type of the unit of the concept */ unit_type?: 'distance' | 'money' | 'time' | 'unit'; }; export type ContractsCompensation = { id: string; contract_version_id: string; contracts_taxonomy_id: string; description?: string; /** * Required field. You can only use the following options: fixed, undefined, up_to, per_worked_day, per_worked_hour */ compensation_type?: string; /** * Value paid on each recurrence, stored in the smallest currency unit (for example cents). Required unless the compensation type is `undefined` */ amount?: number; /** * In which unit compensation is paid */ unit: string; sync_with_supplements?: boolean; payroll_policy_id?: string; /** * How much time will pass between payments. If recurrence is empty, assume months. For example, 12 here means compensation is paid yearly */ recurrence_count?: number; starts_on?: string; /** * Frequency (monthly, yearly, one_time) to determine how often the employee is paid. Could be empty, use `recurrence_count` in that case */ recurrence?: string; /** * Date of the first payout; differs from `starts_on` when payroll scheduling or accrual rules delay payment */ first_payment_on?: string; /** * Human-readable hint about the payroll formula used (for example "current period" or "average of last 3 months") */ calculation?: string; currency?: string; time_condition?: 'full_day' | 'half_day' | 'custom'; minimum_amount_of_hours?: number; /** * Compensation expected minimum amount of hours in cents */ minimum_amount_of_hours_in_cents?: number; }; export type ContractsContractTemplate = { /** * Unique identifier for the contract template */ id: string; /** * ID of the company this template belongs to */ company_id?: string; /** * Type of contract version (e.g., es for Spain, fr for France) */ contract_version_type?: string; }; export type ContractsContractVersion = { /** * identifier for the contract version. */ id?: string; /** * identifier for company. */ company_id: string; /** * employee identifier, refers to /employees/employees endpoint. */ employee_id: string; /** * the day the specific contract starts, in case of hiring the same than starts_on. */ effective_on: string; /** * nationality country code of the employee (Spain ES, United Kingdom GB). */ country?: string; /** * job title of the employee. */ job_title?: string; /** * job catalog level identifier, refers to /job_catalog/levels endpoint. */ job_catalog_level_id?: string; /** * the uuid node in the job catalog tree. For now it only supports level nodes. From this point in the job catalog tree you can get the full ancestor path to the root node including the role. Refer to job_catalog/tree_nodes endpoint. */ job_catalog_tree_node_uuid?: string; /** * the day the employee is hired. */ starts_on?: string; /** * the day the employee is terminated. It has nothing to do with trial period, these are concepts totally unrelated. */ ends_on?: string; /** * boolean that indicates if the employee asociated to this contract belongs to a payroll policy. */ has_payroll: boolean; /** * a flag that indicates if the contract version has ever had a trial period. */ has_trial_period?: boolean; /** * when the trial period ends. If there is no date, it means that the employee has never been in trial. This date is not related with the end date of a contract. */ trial_period_ends_on?: string; /** * the amount of money the employee earns in cents. */ salary_amount?: number; /** * the frequency of the salary payment. */ salary_frequency?: string; /** * the days of the week the employee works. */ working_week_days?: string; /** * the amount of hours the employee works. */ working_hours?: number; /** * the frequency of the working hours. */ working_hours_frequency?: string; /** * the maximum amount of hours the employee can work in a year. */ max_legal_yearly_hours?: number; /** * the maximum amount of hours the employee can work in a week. */ maximum_weekly_hours?: number; /** * Defines whether a bank holiday should be considered as a workable or non-workable day. */ bank_holiday_treatment: 'workable' | 'non_workable'; /** * Working time percentage in cents (e.g., when an employee is working part-time, the percentage of full-time hours they are working). */ working_time_percentage_in_cents?: number; /** * Allows companies to define how annual working hours are spread across the year to ensure compliance with legal limits. */ annual_working_time_distribution?: 'limit_workdays' | 'limit_daily_hours'; /** * Country-specific contract data (template fragments and fields). */ version_data?: { [key: string]: unknown; }; /** * the minimum amount of minutes the employee must rest between working periods. */ min_rest_minutes_between_days?: number; /** * the maximum amount of minutes the employee can work in a day. */ max_work_minutes_per_day?: number; /** * the maximum amount of days the employee can work in a row. */ max_work_days_in_row?: number; /** * the minimum amount of hours the employee must rest in a row. */ min_rest_hours_in_row?: number; /** * the date the contract version was created. */ created_at: string; /** * the date of the last contract version updated. */ updated_at: string; /** * flag that indicates if the contract has teleworking. */ es_has_teleworking_contract?: boolean; /** * the group of cotization of the employee. */ es_cotization_group?: number; /** * the group of cotization of the employee. */ contracts_es_tariff_group_id?: string; /** * observations of the contract. */ es_contract_observations?: string; /** * the job description of the employee. */ es_job_description?: string; /** * contract type identifier. */ es_contract_type_id?: string; /** * working day type identifier. */ es_working_day_type_id?: string; /** * education level identifier. */ es_education_level_id?: string; /** * professional category identifier. */ es_professional_category_id?: string; /** * employee type. */ fr_employee_type?: string; /** * flag that indicates if the employee is allowed to work within the framework of a fixed number of days. */ fr_forfait_jours: boolean; /** * the number of days the employee is allowed to work. */ fr_jours_par_an?: number; /** * coefficient for france contracts. */ fr_coefficient?: string; /** * contract type identifier. */ fr_contract_type_id?: string; /** * level identifier. */ fr_level_id?: string; /** * step identifier. */ fr_step_id?: string; /** * mutual identifier. */ fr_mutual_id?: string; /** * professional category identifier. */ fr_professional_category_id?: string; /** * work type identifier. */ fr_work_type_id?: string; /** * contract type identifier. */ de_contract_type_id?: string; /** * Identifier for the German base salary type. References a payroll concept available via the /payroll/concepts endpoint. */ de_base_salary_type_id?: string; /** * contract type identifier. */ pt_contract_type_id?: string; }; export type ContractsContractVersionHistory = { /** * identifier for the contract version history. */ id: string; /** * employee identifier, refers to /employees/employees endpoint. */ employee_id: string; /** * the day the specific contract starts, in case of hiring the same than starts_on. */ effective_on: string; /** * nationality country code of the employee. */ country?: string; /** * job title of the employee. */ job_title?: string; /** * job catalog level identifier, refers to /job_catalog/levels endpoint. */ job_catalog_level_id?: string; /** * the uuid node in the job catalog tree. For now it only supports level nodes. From this point in the job catalog tree you can get the full ancestor path to the root node including the role. Refer to job_catalog/tree_nodes endpoint. */ job_catalog_tree_node_uuid?: string; /** * the day the employee is hired. */ starts_on?: string; /** * the day the employee is terminated. */ ends_on?: string; /** * boolean that indicates if the employee asociated to this contract belongs to a payroll policy. */ has_payroll: boolean; /** * the amount of money the employee earns in cents. */ salary_amount?: number; /** * the frequency of the salary payment. */ salary_frequency?: string; /** * the days of the week the employee works. */ working_week_days?: string; /** * the amount of hours the employee works. */ working_hours?: number; /** * the frequency of the working hours. */ working_hours_frequency?: string; /** * the maximum amount of hours the employee can work in a year. */ max_legal_yearly_hours?: number; /** * the maximum amount of hours the employee can work in a week. */ maximum_weekly_hours?: number; /** * identifier for the original contract version. */ original_contract_version_id: string; /** * identifier for the current contract version. */ contracts_contract_version_id?: string; /** * the date the contract version was changed. */ changed_at: unknown; /** * when the trial period ends. */ trial_period_ends_on?: string; /** * a flag that indicates if the employee has a trial period. */ has_trial_period?: boolean; /** * the author of the contract version change. */ author?: string; /** * the type of action that was performed on the contract version. */ action_type?: string; /** * adjusted daily minutes for the employee. */ adjusted_daily_minutes?: number; /** * the date the contract version was created. */ created_at: unknown; /** * the date of the last contract version updated. */ updated_at: unknown; /** * spanish boolean that indicates if the employee has a teleworking contract. */ es_has_teleworking_contract?: boolean; /** * spanish cotization group identifier. */ es_cotization_group?: number; /** * spanish observations of the contract. */ es_contract_observations?: string; /** * spanish job description of the contract. */ es_job_description?: string; /** * spanish contract type identifier. */ es_contract_type_id?: string; /** * spanish working day type identifier. */ es_working_day_type_id?: string; /** * spanish education level identifier. */ es_education_level_id?: string; /** * spanish professional category identifier. */ es_professional_category_id?: string; /** * spanish contribution type identifier. */ es_contribution_type_id?: string; /** * spanish agreement code identifier. */ es_agreement_code_id?: string; /** * spanish cno occupation identifier. */ es_cno_occupation_id?: string; /** * spanish tariff group identifier. */ es_tariff_group_id?: string; /** * spanish occupation code identifier. */ es_occupation_code_id?: string; /** * spanish classification identifier. */ es_classification_id?: string; /** * french employee type. */ fr_employee_type?: string; /** * french flag that indicates if the employee is allowed to work within the framework of a fixed number of days. */ fr_forfait_jours: boolean; /** * french number of days the employee is allowed to work. */ fr_jours_par_an?: number; /** * french number of days the employee is allowed to work in cents. */ fr_jours_par_an_cents?: number; /** * french coefficient for france contracts. */ fr_coefficient?: string; /** * french contract type identifier. */ fr_contract_type_id?: string; /** * french level identifier. */ fr_level_id?: string; /** * french step identifier. */ fr_step_id?: string; /** * french mutual identifier. */ fr_mutual_id?: string; /** * french professional category identifier. */ fr_professional_category_id?: string; /** * french work type identifier. */ fr_work_type_id?: string; /** * german contract type identifier. */ de_contract_type_id?: string; /** * Identifier for the German base salary type. References a payroll concept available via the /payroll/concepts endpoint. */ de_base_salary_type_id?: string; /** * portuguese contract type identifier. */ pt_contract_type_id?: string; }; export type ContractsContractVersionMetaData = { /** * identifier for the contract version. */ contract_version_id: string; /** * the action that has been performed on the contract version ex:promotion / evolution / null. */ action_type?: string; }; export type ContractsFrenchContractType = { /** * identifier for the contract type */ id: string; /** * Contract type name */ name: string; }; export type ContractsGermanContractType = { /** * identifier for the contract type */ id: string; /** * Contract type name */ name: string; }; export type ContractsMaterializedTemplate = { /** * Synthetic identifier for this materialized template, composed as {company_id}-{template_type}-{legal_entity_id}-{country_code}. Used as a stable cursor reference for pagination. * */ id: string; /** * Identifier of the company that owns this template. All templates are scoped to a company; use this to correlate templates across different levels (company, country, legal entity) for the same organization. * */ company_id: string; /** * Identifier of the legal entity this template has been materialized for. Present only when template_type is legal_entity. Legal entity templates represent the final merged view of fields applicable to employees hired under that legal entity, combining company-level defaults with country-specific and legal-entity-specific overrides. * */ legal_entity_id?: string; /** * ISO 3166-1 alpha-2 country code identifying the country this template applies to. Present for country and legal_entity template types. Determines which country-specific fields and options are included (e.g. fields required by Spanish or French labor law). * */ country_code?: string; /** * The level at which this template has been materialized. Templates follow a three-tier inheritance hierarchy: company (base defaults for the whole organization), country (overrides per country labor law), and legal_entity (final merged view per legal entity, combining all three levels). Use legal_entity when you need the definitive set of fields for a specific hiring context. * */ template_type: 'company' | 'country' | 'legal_entity' | 'contract_type'; /** * The ordered list of contract fields defined in this template after merging all inheritance levels and removing hidden fields. Each entry is a FragmentField describing a single configurable attribute of a contract (e.g. contract type, job title, salary). The list reflects the final effective set of fields an employee contract under this template will contain. * */ template: Array; }; export type ContractsPortugueseContractType = { /** * identifier for the contract type */ id: string; /** * Contract type name */ name: string; }; export type ContractsSpanishContractType = { /** * identifier for the contract type */ id: string; /** * The name of the contract type */ name: string; /** * This contract type is a predefined one */ default?: boolean; /** * The contract template identifier. Refers to contracts/contract_templates. */ contracts_contract_template_id?: string; }; export type ContractsSpanishEducationLevel = { /** * Education level identifier */ id: string; /** * education level name */ name: string; /** * Whether the education level is a predefined value */ default?: boolean; /** * Contract template identifier, refers to contracts/contract_templates */ contracts_contract_template_id?: string; }; export type ContractsSpanishProfessionalCategory = { /** * Professional category identifier */ id: string; /** * Professional category name */ name: string; /** * Whether the professional category is a predefined value */ default?: boolean; /** * Contract template identifier, refers to contracts/contract_templates */ contracts_contract_template_id?: string; }; export type ContractsSpanishWorkingDayType = { /** * Working day type identifier */ id: string; /** * Working day type name */ name: string; /** * Whether the Working day type is a predefined value */ default?: boolean; /** * Contract template identifier, refers to contracts/contract_templates */ contracts_contract_template_id?: string; }; export type ContractsTaxonomy = { id: string; name: string; archived: boolean; default: boolean; legal_entity_id: string; }; export type CustomFieldsField = { /** * Field identifier */ id: string; /** * The type of the field's value */ field_type: 'text' | 'long_text' | 'date' | 'rating' | 'checkbox' | 'single_choice' | 'multiple_choice' | 'money' | 'cents'; /** * Field label */ label_text: string; /** * Field position within employee profile */ position?: number; /** * Requirement to fill this field */ required?: boolean; /** * Minimum value in range field type */ min_value?: number; /** * Maximum value in range field type */ max_value?: number; /** * Legal entity name where this field belongs */ legal_entity_name?: string; /** * Legal entity id where this field belongs */ legal_entity_id?: string; /** * Custom field slug */ slug?: string; }; export type CustomFieldsOption = { /** * Option identifier */ id: string; /** * Title for option */ label?: string; /** * Option value */ value?: string; /** * Flag to make the option available */ is_active?: boolean; /** * Custom Fields identifier */ field_id?: string; }; export type CustomFieldsResourceField = { /** * Resource field identifier */ id: string; /** * Custom Field identifier */ field_id?: string; }; export type CustomFieldsValue = { /** * Unique identifier for the custom field value */ id: string; /** * Custom Fields value */ value?: unknown; /** * Custom field text value */ long_text_value?: string; /** * The unique identifier of the custom field */ custom_field_identifier: string; /** * Custom field date value */ date_value?: string; /** * Custom field single choice value */ single_choice_value?: string; /** * Custom field number value */ cents_value?: number; /** * The identifier of the object that owns this custom field value */ valuable_id: string; /** * The identifier of the custom field */ field_id: string; /** * The type of the object that owns this custom field value */ valuable_type: string; /** * The label of the custom field */ label?: string; /** * Whether the custom field is required */ required?: boolean; /** * The identifier of the usage group */ usage_group_id?: string; /** * The slug of the usage group */ usage_group_slug?: string; /** * The date and time the custom field value was last updated. */ updated_at?: string; }; export type CustomResourcesResource = { /** * The id of the Resource */ id: string; /** * The id of the Schema this resource belongs to */ schema_id: string; /** * Attachable type (the type of the attachable) */ attachable_type: string; /** * The id of the Attachable */ attachable_id: string; }; export type CustomResourcesSchema = { /** * Schema identifier */ id: string; /** * Schema name */ name: string; /** * Company identifier where this schema belongs */ company_id: string; /** * Manages visibility of the schema */ hidden: boolean; /** * Schema position within employee profile */ position?: number; }; export type CustomResourcesValue = { /** * Value identifier */ id: string; /** * The identifier of the resource that owns the resource value */ resource_id: string; /** * The id of the attached resource like an employee */ attachable_id?: string; }; export type DocumentsDocument = { /** * access identifier of the author, refers to /employees/employees endpoint. */ author_id?: string; /** * company identifier, refers to /api/me endpoint. */ company_id?: string; /** * document content type. */ content_type?: string; /** * creation date of the document. */ created_at: string; /** * employee identifier associated to the document. */ employee_id?: string; /** * document extension. */ extension?: string; /** * document file size in bytes. */ file_size?: number; /** * name of the document. */ filename: string; /** * folder identifier, references to documents/folders endpoint. */ folder_id?: string; /** * document identifier. */ id: string; /** * flag that indicates if the document is a company document. */ is_company_document?: boolean; /** * flag that indicates if the document is a management document. */ is_management_document?: boolean; /** * flag that indicates if the document is pending assignment. */ is_pending_assignment?: boolean; /** * leave identifier associated to the document, refers to /timeoff/leaves endpoint. */ leave_id?: string; /** * flag to indicate if the document is public. */ public: boolean; /** * document signature status. */ signature_status?: 'pending' | 'partially_signed' | 'declined' | 'completed' | 'bounced_email' | 'cancelled' | 'error' | 'expired'; /** * list of signee access identifiers associated to the document, refers to /employees/employees endpoint. */ signees?: Array; /** * document space. */ space: string; /** * last update date of the document. */ updated_at: string; /** * deletion date of the document. */ deleted_at?: string; }; export type DocumentsDownloadUrl = { /** * document identifier. */ id: string; /** * temporal document url. */ url: string; }; export type DocumentsFolder = { /** * Whether the folder is active or not */ active: boolean; /** * Company ID of the folder */ company_id?: string; /** * Folder ID */ id: string; /** * Folder name */ name: string; /** * Id of the parent folder */ parent_folder_id?: string; /** * The space of the folder is related to the place where the folder is displayed. */ space: string; }; export type EmployeesEmployee = { /** * id of the employee. */ id: string; /** * access_id associated to the employee. */ access_id: string; /** * name of the employee. */ first_name: string; /** * last name of the employee. */ last_name: string; /** * full name of the employee. */ full_name: string; /** * nickname of the employee or a name that defines the employee better. */ preferred_name?: string; /** * Birthname of the employee. */ birth_name?: string; /** * gender of the employee (male | female). */ gender?: string; /** * national identifier number. */ identifier?: string; /** * type of identifier (ex passport). */ identifier_type?: string; /** * personal email of the employee. */ email?: string; /** * email associated to the session. */ login_email?: string; /** * birthday of the employee. */ birthday_on?: string; /** * nationality country code of the employee (Spain ES, United Kingdom GB). */ nationality?: string; /** * address of the employee. */ address_line_1?: string; /** * secondary address of the employee. */ address_line_2?: string; /** * postal code of the employee. */ postal_code?: string; /** * city of the employee. */ city?: string; /** * state/province/region of the employee. */ state?: string; /** * country code of the employee (Spain ES, United Kingdom GB). */ country?: string; /** * bank account number of the employee. */ bank_number?: string; /** * code to identify banks and financial institutions globally. */ swift_bic?: string; /** * bank number format. */ bank_number_format?: 'iban' | 'sort_code_and_account_number' | 'routing_number_and_account_number' | 'clabe' | 'other' | 'bank_name_and_account_number'; /** * id of the company to which the employee belongs (not editable). */ company_id: string; /** * legal entity of the employee, references to companies/legal_entities. */ legal_entity_id?: string; /** * location id of the employee, references to locations/locations. */ location_id: string; /** * Default work area ID for the employee at the default workplace. References locations/work_areas. */ default_work_area_id?: string; /** * creation date of the employee. */ created_at: string; /** * date of last modification of the employee */ updated_at: string; /** * social security number of the employee. */ social_security_number?: string; /** * is the employee being terminated? */ is_terminating: boolean; /** * termination date of the employee. */ terminated_on?: string; /** * termination reason type of the employee */ termination_reason_type?: string; /** * A reason for the termination. */ termination_reason?: string; /** * observations about the termination. */ termination_observations?: string; /** * manager id of the employee, you can get the manager id from employees endpoint. */ manager_id?: string; /** * Timeoff manager id of the employee. */ timeoff_manager_id?: string; /** * phone number of the employee. */ phone_number?: string; /** * identity number or string used inside a company to internally identify the employee. */ company_identifier?: string; /** * age of the employee. */ age_number?: number; /** * The description of the termination type. */ termination_type_description?: string; /** * name of the employee contact. */ contact_name?: string; /** * phone number of the employee contact . */ contact_number?: string; /** * personal email of the employee. */ personal_email?: string; /** * date since when the employee is working in the company. */ seniority_calculation_date?: string; /** * Confirmed email address for company communications and notifications. Separate from login email, used for internal company announcements. */ communications_email?: string; /** * unconfirmed communications email address for the employee. */ unconfirmed_communications_email?: string; /** * pronouns that an employee uses to define themselves. */ pronouns?: string; /** * status of the employee, true when active, false when terminated. */ active?: boolean; /** * officially certified level of disability granted by public administration for individuals with physical or mental impairments, expressed in cents */ disability_percentage_cents?: number; /** * identifier expiration date */ identifier_expiration_date?: string; /** * employee included in a time tracking policy. */ attendable: boolean; /** * Country of birth of the employee. */ country_of_birth?: string; /** * Birthplace of the employee. */ birthplace?: string; }; export type EmployeeUpdatesAbsence = { /** * Identifier of the absence employee update */ id: string; /** * The status of the employee update. */ status: string; /** * Employee id of the absence */ employee_id?: string; /** * Full name of the employee */ employee_full_name?: string; /** * Indicates if the absence is approved */ approved?: boolean; /** * A description of the absence */ description?: string; /** * The start date of the absence */ start_on?: string; /** * The previous start date of the absence */ prev_start_on?: string; /** * The end date of the absence */ finish_on?: string; /** * The previous end date of the absence */ prev_finish_on?: string; /** * Indicates if the absence is taken as a half-day */ half_day?: string; /** * The total number of hours taken for the absence, represented in cents */ hours_amount_in_cents?: number; /** * The id of the leave type */ leave_type_id?: string; /** * The name of the leave type */ leave_type_name?: string; }; export type EmployeeUpdatesContractChange = { /** * The id of the contract change incidence */ id: string; /** * The status of the contract change incidence */ status: string; /** * The effective date of the contract */ effective_on: string; /** * The start date of the contract */ starts_on?: string; /** * The end date of the contract */ ends_on?: string; /** * The employee id */ employee_id: string; /** * The job title on the contract change */ job_title?: string; /** * The job role on the contract change */ job_role?: string; /** * The job level on the contract change */ job_level?: string; /** * The payrollable status of the employee on the contract change */ has_payroll: boolean; /** * The salary amount on the contract change in cents. */ salary_amount?: number; /** * The salary payment frequency on the contract change */ salary_frequency?: string; /** * The working week days on the contract change */ working_week_days?: string; /** * The working hours on the contract change */ working_hours?: number; /** * The working hours frequency on the contract change */ working_hours_frequency?: string; /** * The country on the contract change */ country?: string; /** * The teleworking status on the contract change */ es_has_teleworking_contract?: boolean; /** * The cotization group on the contract change */ es_cotization_group?: number; /** * The contract observations on the contract change */ es_contract_observations?: string; /** * The job description on the contract change */ es_job_description?: string; /** * The contract type id on the contract change */ es_contract_type_id?: string; /** * The contract type name on the contract change */ es_contract_type_name?: string; /** * The trial period end date on the contract change */ es_trial_period_ends_on?: string; /** * The working day type id on the contract change */ es_working_day_type_id?: string; /** * The education level id on the contract change */ es_education_level_id?: string; /** * The professional category id on the contract change */ es_professional_category_id?: string; /** * The employee type on the contract change */ fr_employee_type?: string; /** * The forfait jours status on the contract change */ fr_forfait_jours: boolean; /** * The jours par an on the contract change */ fr_jours_par_an?: number; /** * The coefficient on the contract change */ fr_coefficient?: string; /** * The level id on the contract change */ fr_level_id?: string; /** * The level name on the contract change */ fr_level_name?: string; /** * The step id on the contract change */ fr_step_id?: string; /** * The step name on the contract change */ fr_step_name?: string; /** * The mutual id on the contract change */ fr_mutual_id?: string; /** * The mutual name on the contract change */ fr_mutual_name?: string; /** * The professional category id on the contract change */ fr_professional_category_id?: string; /** * The professional category name on the contract change */ fr_professional_category_name?: string; /** * The work type id on the contract change */ fr_work_type_id?: string; /** * The work type name on the contract change */ fr_work_type_name?: string; compensation_ids?: Array; /** * The contract type id on the contract change */ fr_contract_type_id?: string; /** * The contract type name on the contract change */ fr_contract_type_name?: string; /** * The contract type id on the contract change */ de_contract_type_id?: string; /** * The contract type name on the contract change */ de_contract_type_name?: string; /** * The contract type id on the contract change */ pt_contract_type_id?: string; /** * The contract type name on the contract change */ pt_contract_type_name?: string; created_at: string; updated_at: string; }; export type EmployeeUpdatesNewHire = { /** * The id of the new hire incidence */ id: string; /** * The status of the new hire incidence */ status: string; /** * The employee id of the new hire */ employee_id: string; /** * name of the employee. */ first_name: string; /** * last name of the employee. */ last_name: string; /** * The birth name of the new hire */ birth_name?: string; /** * national identifier number. */ identifier?: string; /** * type of identifier (ex passport). */ identifier_type?: string; /** * payroll identifier. */ payroll_identifier?: string; /** * personal email of the employee. */ work_email?: string; /** * phone number of the employee. */ phone_number?: string; /** * gender of the employee (male | female). */ gender?: string; /** * job title of the employee. */ job_title?: string; /** * address of the employee. */ address: string; /** * city of the employee. */ city?: string; /** * country code of the employee (Spain ES, United Kingdom GB). */ country?: string; /** * state/province/region of the employee. */ state?: string; /** * postal code of the employee. */ postal_code?: string; /** * birthday of the employee. */ date_of_birth?: string; /** * nationality country code of the employee (Spain ES, United Kingdom GB). */ nationality?: string; start_date?: string; contract_effective_date?: string; contract_end_date?: string; /** * bank account number of the employee. */ bank_account?: string; /** * salary amount in cents. */ salary_amount_in_cents?: number; salary_frequency?: string; working_hours?: number; working_hours_frequency?: string; /** * social security number of the employee. */ social_security_number?: string; /** * manager id of the employee, you can get the manager id from employees endpoint. */ manager_id?: string; tax_id?: string; /** * The legal entity id of the new hire */ legal_entity_id?: string; /** * workplace id of the employee. */ workplace_id?: string; }; export type EmployeeUpdatesPersonalChange = { /** * The id of the new hire incidence */ id: string; /** * The status of the new hire incidence */ status: string; /** * The employee id of the new hire */ employee_id: string; /** * personal email of the employee. */ work_email?: string; /** * phone number of the employee. */ phone_number?: string; /** * type of identifier (ex passport). */ identifier_type?: string; /** * national identifier number. */ identifier?: string; /** * social security number of the employee. */ social_security_number?: string; tax_id?: string; /** * name of the employee. */ first_name: string; /** * last name of the employee. */ last_name: string; /** * gender of the employee (male | female). */ gender?: string; /** * birthday of the employee. */ date_of_birth?: string; /** * nationality country code of the employee (Spain ES, United Kingdom GB). */ nationality?: string; /** * address line 1 of the employee. */ address_line_1?: string; /** * address line 1 of the employee. */ address_line_2?: string; /** * postal code of the employee. */ postal_code?: string; /** * city of the employee. */ city?: string; /** * state/province/region of the employee. */ state?: string; /** * country code of the employee (Spain ES, United Kingdom GB). */ country?: string; /** * bank account number of the employee. */ bank_number?: string; /** * job title of the employee. */ job_title?: string; /** * workplace id of the employee. */ workplace_id?: string; }; export type EmployeeUpdatesSummary = { id: string; employee_id?: string; legal_entity_id: string; status: string; type: string; starts_on?: string; ends_on?: string; created_at: string; }; export type EmployeeUpdatesTermination = { /** * ID of the termination */ id: string; /** * Status of the termination */ status: string; /** * Employee ID */ employee_id: string; /** * Date terminated on */ terminated_on?: string; /** * End date of contract (employment end). Users can still have have access to Factorial after this date. To revoke access, use the terminated_on field. */ contract_end_date?: string; /** * Reason for the termination */ termination_reason?: string; /** * Observations about the termination */ termination_observations?: string; /** * Legal entity ID */ legal_entity_id?: string; /** * Remaining holidays */ remaining_holidays: Array; /** * Termination reason type */ termination_reason_type?: string; /** * The description of the termination type. */ termination_type_description?: string; }; export type ExpensesExpensable = { /** * Unique identifier for the expensable */ id: string; /** * Type of the expensable. Can be either "expense" or "mileage" or "perdiem" */ type: 'expense' | 'mileage' | 'perdiem'; /** * The ID of the company that owns the expensable */ company_id: string; /** * The ID of the employee that owns the expensable */ employee_id: string; /** * The ID of the expense report (group of expensables submitted together) this expensable was submitted in, if any */ group_id?: string; /** * The optional ID of the legal entity that the expensable belongs to */ legal_entity_id?: string; /** * The date and time when the expensable was created */ created_at: string; /** * The optional amount in cents */ amount?: number; /** * The currency code in ISO 4217 format */ currency: string; /** * The lifecycle status of the expensable in the review/payment flow */ status: 'pending' | 'changes_requested' | 'approved' | 'paid' | 'rejected' | 'reversed' | 'draft' | 'in_payroll' | 'sent_to_pay'; /** * The optional description of the expensable */ description?: string; /** * The optional ID of the employee that reported the expensable */ reporter_id?: string; /** * The optional date and time when the status was last updated */ status_updated_at: string; /** * The optional date and time when the expensable was effective */ effective_on?: string; /** * The optional date and time when the expensable was requested for review */ review_request_at?: string; /** * The optional date and time when the expensable was set as paid */ paid_at?: string; /** * The date and time when the expensable was last updated */ updated_at: string; /** * The optional reimbursable amount in cents */ reimbursable_amount?: number; /** * The optional reimbursable currency code in ISO 4217 format */ reimbursable_currency?: string; /** * The optional reimbursement method */ reimbursement_method?: 'unknown' | 'sepa_transfer' | 'payroll'; /** * The optional internal reference of the expensable */ internal_reference?: string; /** * The ID of the receipt-backed expense detail record; set only when `type` is "expense" */ expense_id?: string; /** * The ID of the mileage claim detail record; set only when `type` is "mileage" */ mileage_id?: string; /** * The ID of the per-diem allowance detail record; set only when `type` is "perdiem" */ per_diem_id?: string; /** * The ID of the budget this expensable draws from, when one is linked */ budget_id?: string; /** * The ID of the project this expensable is charged to, when one is linked */ project_id?: string; /** * The IDs of the cost centers the expensable's cost is allocated to */ cost_center_ids: Array; }; export type ExpensesExpense = { /** * The id of the expense */ id?: string; /** * The id of the expense's owner */ employee_id?: string; /** * The id of the expense's company */ company_id: string; /** * The id of the card payment */ card_payment_id?: string; /** * The id of the dispute */ dispute_id?: string; /** * The id of the expensable */ expenses_expensable_id?: string; /** * The name of the merchant */ merchant_name?: string; /** * The merchant name as typed by the employee, when they corrected or filled it manually (takes precedence over the extracted `merchant_name`) */ user_merchant?: string; /** * The tax identification number of the merchant */ merchant_tin?: string; /** * The category of the expense */ category?: { [key: string]: unknown; }; /** * The subcategory of the expense */ subcategory?: string; /** * How the expense was created, one of 'manual', 'automatic' or 'travelperk' */ creation_type: 'manual' | 'automatic' | 'travelperk'; /** * The reference of the expense */ reference?: string; /** * The total amount in cents */ amount?: number; /** * The currency of the expense */ currency: string; /** * The lifecycle status of the expense in the review/payment flow */ status: 'pending' | 'changes_requested' | 'approved' | 'paid' | 'rejected' | 'reversed' | 'draft' | 'in_payroll' | 'sent_to_pay'; /** * The description of the expense */ description?: string; /** * The date when the expense was made */ effective_on: string; /** * The date and time when the expense was reviewed */ review_request_at?: string; /** * The date and time when the status was updated */ status_updated_at: string; /** * The files of the expense */ files: Array; /** * The id of the external authorization */ external_authorization_id?: string; /** * The id of the card */ expenses_card_id?: string; /** * The card of the expense */ card?: { [key: string]: unknown; }; /** * The id of the document */ document_id?: string; /** * The signed document of the expense */ signed_document?: { [key: string]: unknown; }; /** * The access token of the expense */ access_token?: string; /** * The date and time when the expense was paid */ paid_at?: string; /** * Number of the financial document associated to the expense */ document_number?: string; /** * Type of the financial document associated to the expense */ document_type?: string; /** * The payment of the expense */ payment?: 'reimbursable' | 'not_reimbursable'; /** * The method of the payment */ payment_method?: string; /** * The exchange rate of the payment */ exchange_rate?: number; /** * The currency of the reimbursable amount */ reimbursable_currency?: string; /** * The optional reimbursable amount in cents */ reimbursable_amount?: number; /** * The taxes of the expense */ taxes: Array; /** * The id of the expense category the expense is classified under (company-configurable catalogue) */ category_id?: string; /** * The id of the ledger account */ ledger_account_id?: string; /** * The id of the budget associated with this expense */ budget_id?: string; /** * The id of the project associated with this expense */ project_id?: string; /** * Array of cost center IDs associated with this expense */ cost_center_ids: Array; }; export type ExpensesMileage = { /** * Unique identifier for the mileage */ id: string; /** * The ID of the employee that owns the mileage */ employee_id?: string; /** * The ID of the company that owns the mileage */ company_id: string; /** * The ID of the expensable associated with this mileage */ expenses_expensable_id?: string; /** * The category of the mileage */ category?: { [key: string]: unknown; }; /** * The subcategory of the mileage */ subcategory?: string; /** * The ID of the category */ category_id?: string; /** * The amount in cents */ amount?: number; /** * The currency code in ISO 4217 format */ currency: string; /** * The amount to be reimbursed for the mileage in cents. */ reimbursable_amount?: number; /** * The currency for the reimbursable amount. */ reimbursable_currency?: string; /** * The status of the mileage */ status: string; /** * The distance travelled, expressed in `units` */ mileage?: number; /** * The distance unit `mileage` is expressed in (e.g. km) */ units?: string; /** * The reimbursement rate per distance unit, in `currency` */ rate?: string; /** * The origin location */ from?: string; /** * The destination location */ to?: string; /** * The description of the mileage */ description?: string; /** * The date when the mileage was effective */ effective_on?: string; /** * The date when the mileage was requested for review */ review_request_at?: string; /** * The files associated with the mileage */ files: Array; /** * The date when the mileage was paid */ paid_at?: string; /** * The payment method */ payment: 'reimbursable' | 'not_reimbursable'; /** * The ID of the ledger account */ ledger_account_id?: string; /** * Indicates if the mileage is a round trip */ round_trip?: boolean; /** * The longitude of the origin of the mileage */ origin_longitude?: string; /** * The latitude of the origin of the mileage */ origin_latitude?: string; /** * The longitude of the destination of the mileage */ destination_longitude?: string; /** * The latitude of the destination of the mileage */ destination_latitude?: string; /** * The calculated mileage between origin and destination in decameters/10-milers */ calculated_mileage?: number; /** * The id of the budget associated with this mileage */ budget_id?: string; /** * The id of the project associated with this mileage */ project_id?: string; /** * Array of cost center IDs associated with this mileage */ cost_center_ids: Array; }; export type ExpensesPerDiem = { /** * The ID of the per diem. */ id: string; /** * The ID of the employee the per diem is for. */ employee_id?: string; /** * The ID of the company the per diem is for. */ company_id: string; /** * The ID of the expensable the per diem is for. */ expenses_expensable_id?: string; /** * The last day of the trip the allowance covers. */ end_date?: string; /** * The first day of the trip the allowance covers. */ start_date?: string; /** * The location the per diem is from. */ from?: string; /** * The location the per diem is to. */ to?: string; /** * The name of the trip. */ trip_name?: string; /** * The ID of the ledger account the per diem is for. */ ledger_account_id?: string; /** * The total allowance amount in cents. */ amount?: number; /** * The currency code in ISO 4217 format. */ currency: string; /** * The amount to be reimbursed by the per diem in cents. */ reimbursable_amount?: number; /** * The currency for the reimbursable amount. */ reimbursable_currency?: string; /** * The payment method for the per diem. */ payment: 'reimbursable' | 'not_reimbursable'; /** * The date the per diem was paid. */ paid_at?: string; /** * The files attached to the per diem. */ files: Array; /** * The date the per diem was requested for review. */ review_request_at?: string; /** * The date the per diem is effective on. */ effective_on?: string; /** * The description of the per diem. */ description?: string; /** * The category of the per diem. */ category?: { [key: string]: unknown; }; /** * The subcategory of the per diem. */ subcategory?: string; /** * The status of the per diem. */ status: 'pending' | 'changes_requested' | 'approved' | 'paid' | 'rejected' | 'reversed' | 'draft' | 'in_payroll' | 'sent_to_pay'; /** * The id of the budget associated with this per diem */ budget_id?: string; /** * The id of the project associated with this per diem */ project_id?: string; /** * Array of cost center IDs associated with this per diem */ cost_center_ids: Array; /** * The rates for the per diem. */ rates: Array; }; export type FinanceAccount = { /** * Unique identifier in factorial for the ledger account */ id: string; /** * Name of the ledger account */ name?: string; /** * Legal entity ID of the ledger account */ legal_entity_id: string; /** * Number of the ledger account */ number: string; /** * Whether the ledger account is disabled */ disabled: boolean; /** * Type of the ledger account */ type: 'equity' | 'non_current_asset' | 'current_asset' | 'bank' | 'non_current_liability' | 'current_liability' | 'expense' | 'income'; /** * Id of the ledger account on the external system */ external_id?: string; /** * Last updated date of the ledger account */ updated_at: string; }; export type FinanceAccountingSetting = { /** * Identifier for the AccountingSetting. */ id: string; /** * External ID for the accounting setting. */ external_id?: string; /** * ID of the associated Company. */ company_id: string; /** * ID of the associated Legal Entity. */ legal_entity_id: string; /** * Timestamp when the accounting setting was last updated. */ updated_at: string; /** * Default account for purchase invoices. */ default_account_for_purchase_invoices_id?: string; /** * Default account for vendors. */ default_account_for_vendors_id?: string; /** * Default account for banks. */ default_account_for_banks_id?: string; /** * Default suspense account. */ default_account_for_suspense_id?: string; /** * Default account for expenses. */ default_account_for_expenses_id?: string; /** * Default account for employees. */ default_account_for_employees_id?: string; /** * Default account for sale invoices. */ default_account_for_sale_invoices_id?: string; /** * Default account for clients. */ default_account_for_clients_id?: string; /** * Default account for benefits. */ default_account_for_benefits_id?: string; }; export type FinanceBudgetOption = { /** * Unique identifier for the budget option */ id: string; /** * Name of the budget option */ name: string; /** * Description of the budget option */ description?: string; /** * Currency of the budget option */ currency: string; /** * Legal entity ID of the budget option */ legal_entity_id: string; }; export type FinanceCategory = { /** * Unique identifier for the category */ id: string; /** * Custom label for the category */ label: string; /** * Default translated label for the category */ default_label: string; /** * Parent category ID (null for main categories) */ parent_category_id?: string; /** * System identifier for the category */ identifier: string; /** * Whether the category is visible */ visible: boolean; /** * Whether the category is enabled */ enabled: boolean; /** * Display position of the category */ position?: number; }; export type FinanceContact = { /** * Unique identifier for the Contact. */ id: string; /** * The commercial name of the Contact. */ name: string; /** * The official or legal name of the Contact. */ legal_name?: string; /** * Tax identification number assigned to the Contact. */ tax_id?: string; /** * The address object containing street, city, etc. */ address: { [key: string]: unknown; }; /** * The external id of the contact. */ external_id?: string; /** * Timestamp when the Contact was last updated. */ updated_at: string; /** * International Bank Account Number if provided. */ iban?: string; /** * Bank or branch code for the Contact if relevant. */ bank_code?: string; /** * Preferred payment method for the Contact (e.g. wire_transfer, paypal). */ preferred_payment_method?: 'card' | 'banktransfer'; /** * The website of the Contact. */ website?: string; /** * The email of the Contact. */ email?: string; /** * The phone number of the Contact. */ phone_number?: string; }; export type FinanceCostCenter = { id: string; name: string; company_id: string; legal_entity_id?: string; code?: string; description?: string; active_employees_count: number; historical_employees_count: number; status: string; deactivation_date?: string; }; export type FinanceCostCenterMembership = { /** * The unique identifier of the cost center membership */ id: string; /** * The identifier of the associated employee */ employee_id: string; /** * The identifier of the associated cost center */ cost_center_id: string; /** * The date the employee started being assigned to the cost center */ start_date: string; /** * The date the em'ployee stopped being assigned to the cost center */ end_date?: string; /** * The percentage allocation of the employee to the cost center */ percentage: number; }; export type FinanceFinancialDocument = { /** * Factorial unique identifier. */ id: string; /** * Net amount in cents. */ net_amount_cents?: number; /** * Total amount in cents. */ total_amount_cents?: number; /** * Document number. */ document_number?: string; /** * Document currency. */ currency?: string; /** * Current status. */ status: 'processing' | 'review' | 'sent_to_pay' | 'paid'; /** * Due date. */ due_date?: string; /** * Document date. */ document_date?: string; /** * Factorial unique identifier for the legal entity of the financial document. */ legal_entity_id?: string; /** * Factorial unique identifier for the vendor of the financial document. */ vendor_id?: string; /** * File attached. */ file?: { [key: string]: unknown; }; /** * Updation date. */ updated_at: string; /** * Taxes. */ taxes: Array; /** * Date when was fully reconciled. */ fully_reconciled_at?: string; /** * Date when was recorded. */ recorded_at?: string; /** * Factorial unique identifier for the duplicate financial document. */ duplicate_financial_document_id?: string; /** * Date when was validated. */ validated_at?: string; /** * Factorial unique identifier for the user who validated the financial document. */ validated_by_id?: string; /** * Type of the financial document. Using "invoice" as default. */ document_type: 'invoice' | 'receipt' | 'credit_note'; /** * Factorial unique identifier for the parent financial document of the financial document. */ parent_financial_document_id?: string; /** * Taxes total amount in cents. */ taxes_total_amount_cents?: number; /** * Name of the entity issuing the financial document. */ issuer_name?: string; /** * First line of the issuer's address. */ issuer_address_line_1?: string; /** * Second line of the issuer's address. */ issuer_address_line_2?: string; /** * City of the issuer's address. */ issuer_city?: string; /** * Postal code of the issuer's address. */ issuer_postal_code?: string; /** * State or province of the issuer's address. */ issuer_state?: string; /** * Country code of the issuer's address. */ issuer_country_code?: string; /** * Tax identification number of the issuer. */ issuer_tax_id?: string; /** * Name of the entity receiving the financial document. */ recipient_name?: string; /** * First line of the recipient's address. */ recipient_address_line_1?: string; /** * Second line of the recipient's address. */ recipient_address_line_2?: string; /** * City of the recipient's address. */ recipient_city?: string; /** * Postal code of the recipient's address. */ recipient_postal_code?: string; /** * State or province of the recipient's address. */ recipient_state?: string; /** * Country code of the recipient's address. */ recipient_country_code?: string; /** * Tax identification number of the recipient. */ recipient_tax_id?: string; }; export type FinanceJournalEntry = { /** * Journal entry ID */ id: string; /** * Incremental number assigned to the journal entry */ number: number; /** * Timestamp when the journal entry was published. */ published_at: string; /** * Journal entry type (e.g. bank, invoice, tax) */ type: 'bank' | 'bill' | 'invoice' | 'credit_note' | 'merged_ledger_account' | 'reconciliation' | 'tax' | 'receipt' | 'payroll_result' | 'external'; /** * Source id related with this journal entry */ source_id?: string; /** * Source type related with this journal entry */ source_type?: 'bank_transaction' | 'invoice' | 'reconciliation' | 'finance_reconciliation' | 'account' | 'expense' | 'payroll_result' | 'journal_entry'; /** * Date of the associate source */ reference_date: string; /** * Description of the journal entry */ description?: string; /** * The associated Legal Entity ID */ legal_entity_id: string; /** * External identifier for the journal entry */ external_id?: string; /** * The status of the journal entry (draft, published, etc.) */ status: 'published' | 'reversed'; /** * Timestamp when the journal entry was last updated. */ updated_at: string; }; export type FinanceJournalLine = { /** * Factorial id */ id: string; /** * Sequential number assigned to the line */ number: number; /** * The debit amount in cents */ debit_amount_cents: number; /** * The credit amount in cents */ credit_amount_cents: number; /** * ID of the parent journal entry */ journal_entry_id: string; /** * ID of the associated account */ account_id: string; /** * Timestamp when the journal line was reconciled */ fully_reconciled_at?: string; /** * External identifier for the journal line */ external_id?: string; /** * Timestamp when the journal line was last updated. */ updated_at: string; }; export type FinanceLedgerAccountResource = { /** * Factorial unique identifier. */ id: string; /** * Ledger account resource type. */ resource_type: 'customcategory' | 'bankaccount' | 'vendor' | 'taxtype' | 'invoice' | 'payrollconcept'; /** * Factorial unique identifier of the resource associated to the ledger account resource. */ resource_id: string; /** * Factorial Ledger Account identifier. */ account_id: string; /** * Ledger account balance type. */ balance_type?: 'credit' | 'debit'; /** * Last time the resource was updated. */ updated_at: string; /** * External identifier. */ external_id?: string; /** * Factorial unique identifier of the Legal entity. */ legal_entity_id?: string; }; export type FinanceTaxRate = { /** * Factorial id */ id: string; /** * Specifies the numerical percentage for the tax rate between -1 and 1. */ rate: number; /** * An optional text describing the tax rate's purpose or context. */ description?: string; /** * The identifier of the related TaxType record. */ tax_type_id: string; /** * The external id of the tax rate. */ external_id?: string; /** * Last update date of the tax rate. */ updated_at: string; }; export type FinanceTaxType = { /** * Factorial id */ id: string; /** * The name assigned to the tax type. */ name: string; /** * The tax category used to distinguish different tax kinds. */ type: 'vat' | 'personal_income'; /** * The country code where this tax type applies. */ country_code?: string; /** * The external id of the tax type. */ external_id?: string; /** * Last update date of the tax type. */ updated_at: string; }; export type HolidaysCompanyHoliday = { /** * Company holiday id */ id: string; /** * Related location id */ location_id: string; /** * Company holiday summary */ summary?: string; /** * Company holiday description */ description?: string; /** * Company holiday date */ date: string; /** * If the company holiday is half-day and which part of the day */ half_day?: 'beginning_of_day' | 'end_of_day'; }; export type IntegrationsSyncRunOutput = { /** * Identifier of the sync run output */ id: string; /** * Identifier of the sync run this output belongs to */ sync_run_id: string; /** * Name of the uploaded file */ file_name: string; /** * Timestamp when the sync run output was created */ created_at: string; }; export type IntegrationsSyncableItem = { /** * identifier of a syncable item within the sync run. Refers to the integrations/syncable_sync_run resource */ syncable_sync_run_id: string; /** * data of the item to be synced */ sync_payload: { [key: string]: unknown; }; /** * Type of the syncable item */ syncable_type: 'compensations/compensation' | 'expenses/expense' | 'employee_updates/leave' | 'finance/vendor'; }; export type IntegrationsSyncableSyncRun = { /** * Identifier of the syncable sync run */ id: string; /** * Status of the syncable sync run */ status: 'success' | 'failed' | 'invalid'; /** * Error or validation messages of the syncable sync run */ error_messages: Array; /** * Identifier of the sync run */ sync_run_id: string; /** * Identifier of the company */ company_id: string; }; export type ItManagementItAsset = { /** * IT Asset identifier */ id: string; /** * Company identifier */ company_id: string; /** * IT Asset Model identifier */ it_asset_model_id: string; /** * Serial number of the IT asset */ serial_number: string; /** * Status of the IT asset. Possible values: * - `assigned`: Asset is assigned to an employee * - `in_stock`: Asset is available in inventory * - `maintenance`: Asset is under maintenance or repair * - `retired`: Asset has been retired or decommissioned * * Note: Not all status transitions are allowed. For example, an asset cannot be directly changed from `assigned` or `in_stock` to certain other statuses without proper workflow validation. * */ status: string; /** * Owner (employee) identifier */ owner_id?: string; /** * Location identifier */ location_id?: string; /** * Workplace identifier */ workplace_id?: string; /** * Team identifier */ team_id?: string; /** * Purchase date of the IT asset */ purchase_date?: string; /** * Purchase price in cents */ purchase_price_cents?: number; /** * Currency of the purchase price */ currency?: string; /** * Warranty end date of the IT asset */ warranty_end_date?: string; /** * Label of the IT asset */ label?: string; /** * Notes about the IT asset */ notes?: string; /** * Creation date of the IT asset */ created_at: string; /** * Last update date of the IT asset */ updated_at: string; /** * Timestamp when the IT asset was soft deleted */ discarded_at?: string; }; export type ItManagementItAssetModel = { /** * IT Asset Model identifier */ id: string; /** * Type name of the IT asset model. Possible values are 'laptop', 'desktop', 'tablet', 'phone', 'screen', 'mouse', 'keyboard', 'headset', 'other' */ type_name: string; /** * Company identifier */ company_id: string; /** * Brand of the IT asset model */ brand: string; /** * Name/model of the IT asset */ name: string; /** * Creation date of the IT asset model */ created_at: string; /** * Last update date of the IT asset model */ updated_at: string; }; export type JobCatalogLevel = { /** * identifier for the job catalog level. */ id: string; /** * identifier for the job catalog role. */ role_id: string; /** * Level name. */ name: string; /** * Role name. */ role_name: string; /** * Order of the level. */ order: number; /** * Shows if the role is archived. */ archived: boolean; /** * Shows if the level is the default one. */ is_default: boolean; }; export type JobCatalogNodeAttribute = { /** * Unique identifier of the node attribute */ id: string; /** * Type of the attribute (e.g., competency, salary_range, working_conditions, it_management_asset) */ type: string; /** * Identifier of the attribute being assigned to the node it it makes sense like in competecies, but not for working_conditions */ attribute_id?: string; /** * Competency payload including name, short description and optional level metadata */ value_competency?: { [key: string]: unknown; }; /** * IT asset payload describing the device assigned to the node */ value_it_management_asset?: { [key: string]: unknown; }; /** * Salary payload (cents) with currency, periodicity, range (min and max) or gross values in cents (35.000 EUR is stored as 3500000) and optional workplaces */ value_salary_range?: { [key: string]: unknown; }; /** * Working-conditions payload with agreement info and simple key/value constraints. Numeric values are stored in cents (40 hours is stored as 4000). */ value_working_conditions?: { [key: string]: unknown; }; }; export type JobCatalogRole = { /** * identifier for the job catalog role. */ id: string; /** * Identifier for the company. */ company_id: string; /** * Role name. */ name: string; /** * Role description. */ description?: string; /** * List of legal entities. */ legal_entities_ids: Array; /** * List of supervisors. */ supervisors_ids?: Array; /** * List of competencies. */ competencies_ids?: Array; /** * Shows if the role is archived. */ archived: boolean; }; export type JobCatalogNode = { /** * Type of the node. */ type: 'jobcatalog_treeroot' | 'jobcatalog_treefamily' | 'jobcatalog_treefunction' | 'jobcatalog_treerole' | 'jobcatalog_treelevel'; /** * UUIDs of the node. */ uuid: string; /** * UUID of the parent node. */ ancestor_uuid?: string; /** * Name of the node. */ name?: string; /** * Description of the node in the Job Catalog. */ description?: string; /** * Creation date of the node. */ created_at: string; /** * Update date of the node. */ updated_at: string; /** * Array with the list of nodes tha compose full path from the current node to the root node. */ full_path_to_root?: Array; /** * Full title that represents the job position. */ job_catalog_title?: string; }; export type LocationsLocation = { /** * identifier of the location */ id: string; /** * company identifier */ company_id: string; /** * name of the location */ name: string; /** * timezone of the location */ timezone?: string; /** * country code of the location */ country?: string; /** * State of the location */ state?: string; /** * City of the location */ city?: string; /** * Address line 1 of the location */ address_line_1?: string; /** * Address line 2 of the location */ address_line_2?: string; /** * Postal code of the location */ postal_code?: string; /** * phone number of the location */ phone_number?: string; /** * whether the location is the main one */ main: boolean; /** * latitude of the location */ latitude?: number; /** * longitude of the location */ longitude?: number; /** * radius of the location */ radius?: number; /** * siret of the location (only for France) */ siret?: string; }; export type LocationsWorkArea = { id: string; location_id: string; name: string; archived_at?: string; }; export type MarketplaceInstallation = { id: string; /** * UUID of the integration */ integration_uuid: string; /** * Identifier of the company */ company_id: string; created_at: string; }; export type MarketplaceInstallationSettings = { /** * Leave types codes */ leave_types: Array; /** * Legal Entity file numbers */ file_numbers: Array; /** * Workplace establishment codes */ establishment_codes: Array; /** * Timeoff allowance codes */ timeoff_allowance_code: Array; }; export type PayrollFamilySituation = { /** * ID of the family situation. */ id: string; /** * Employee id of the family situation. */ employee_id: string; /** * Civil status of the employee. */ civil_status?: 'single' | 'cohabitating' | 'divorced' | 'married' | 'unknown' | 'civil_partnership' | 'separated' | 'widow' | 'not_applicable'; /** * Number of dependants of the employee. */ number_of_dependants?: number; }; export type PayrollPolicyPeriod = { /** * Policy period id */ id: string; /** * Policy name with start and end date */ name?: string; /** * The start date of the policy period */ starts_on: string; /** * The id of the policy associated with the policy period */ policy_id: string; /** * The id of the company */ company_id: string; /** * The start date of the policy period */ ends_on: string; /** * Period for the policy */ period: string; /** * Policy period status */ status?: string; /** * Policy name */ policy_name?: string; /** * The date and time the calculation started */ calculation_started_at?: string; }; export type PayrollSupplement = { /** * The identifier of the supplement */ id: string; /** * The identifier of the employee associated with the supplement */ employee_id: string; /** * The identifier of the company associated with the supplement */ company_id: string; /** * The contract compensation identifier associated with the supplement */ contracts_compensation_id?: string; /** * The taxonomy identifier associated with the supplement */ contracts_taxonomy_id?: string; /** * The amount of the supplement in cents */ amount_in_cents?: number; /** * The unit of the supplement */ unit: 'money' | 'units' | 'time'; /** * The date on which the supplement becomes effective */ effective_on?: string; /** * The created at date when the supplement was created */ created_at?: unknown; /** * The last updated at date when the supplement was last updated */ updated_at?: unknown; /** * The description of the supplement */ description?: string; /** * The payroll policy period identifier associated with the supplement */ payroll_policy_period_id?: string; /** * Observations on the employee made by the admin or manager */ employee_observations?: Array; /** * The raw value of minutes in cents associated with the supplement */ raw_minutes_in_cents?: number; /** * The value of minutes in cents after adjustments */ minutes_in_cents?: number; /** * The equivalent value of minutes in cents for payroll processing */ equivalent_minutes_in_cents?: number; /** * The currency used for the supplement, typically in ISO 4217 format */ currency?: string; /** * The legal entity identifier associated with the supplement */ legal_entity_id?: string; }; export type PayrollEmployeesIdentifier = { /** * payroll employee identifier */ id: string; /** * identifier of the employee */ employee_id: string; /** * social security number of the employee */ social_security_number?: string; /** * tax id of the employee */ tax_id?: string; /** * country code of the employee pt | it | de */ country: 'pt' | 'de' | 'it'; }; export type PayrollIntegrationsBaseCode = { /** * Code identifier */ id: string; /** * Company ID where the code belongs to */ company_id: string; /** * Code value */ code: string; /** * Related object ID. Used together with codeable_type */ codeable_id: string; /** * Related object type. Used together with codeable_id */ codeable_type: string; /** * Integration name */ integration: 'a3innuva' | 'a3nom' | 'agenda' | 'paierh' | 'yeap_paierh' | 'silae' | 'sage100' | 'datev' | 'datev_api' | 'datev_lug_api' | 'datev_lauds' | 'team_system' | 'zucchetti' | 'gispaghe' | 'job_sistemi'; }; export type PerformanceAgreement = { /** * Action plan ID */ id: string; /** * Review process ID */ process_id: string; /** * Review process target ID */ target_id: string; /** * Manager access ID who signed the action plan */ signer_id?: string; /** * Manager employee ID */ reviewer_id?: string; /** * Date when the manager signed the action plan */ manager_signed_at?: string; /** * Date when the employee signed the action plan */ target_signed_at?: string; /** * Date when the action plan was last signed */ agreement_signed_at?: string; /** * Date when the action plan was last modified */ last_modified_at?: string; /** * Action plan status */ status: 'pending' | 'signed'; /** * When the action plan cannot be edited anymore. Locked when both manager and employee signed it. */ locked: boolean; /** * Conclusions of the action plan */ conclusions?: { [key: string]: unknown; }; /** * Self review evaluation ID */ self_evaluation_id?: string; /** * Manager review evaluation ID */ manager_evaluation_id?: string; /** * Self comments by question */ self_comments: Array; /** * Manager comments by question */ manager_comments: Array; }; export type PerformanceCompanyEmployeeScoreScale = { /** * Company ID */ id: string; /** * Employee score scale ID */ scale_id: string; /** * Default employee score scale */ is_default: boolean; }; export type PerformanceEmployeeScoreScale = { /** * Employee score scale ID */ id: string; /** * Scale to be used when scoring the employee performance */ scale: Array; is_default: boolean; }; export type PerformanceReviewEmployeeScore = { /** * Review emploee score ID */ id: string; /** * Review process ID */ review_process_id: string; /** * Review evaluation ID */ review_evaluation_id: string; /** * Employee access ID */ target_access_id: string; /** * Company identifier of the review employee score */ company_id: string; /** * Who scored the employee */ reviewer_strategy: 'self' | 'manager' | 'direct_reports' | 'peers'; /** * Review process target ID (composed with review_process_id and target_access_id) */ review_process_target_id: string; /** * Employee potential score within the min and max scale */ potential_score?: number; /** * Employee potential score in percentage (0% to 100%) */ normalized_potential_score?: number; /** * Employee score within the min and max scale */ score: number; /** * Minimum score in the scale */ scale_min: number; /** * Maximum score in the scale */ scale_max: number; /** * Employee score in percentage (0% to 100%) */ normalized_score: number; comment?: string; /** * Date and time when the employee score was published */ published_at: string; }; export type PerformanceReviewEvaluation = { /** * Evaluation ID */ id: string; /** * Review process ID */ performance_review_process_id?: string; /** * Participant access ID */ target_access_id?: string; /** * Reviewer access ID */ reviewer_access_id?: string; /** * Evaluation type */ evaluation_type: 'self' | 'manager' | 'direct_reports' | 'peers'; /** * Whether the evaluation is published */ published: boolean; /** * Evaluation status */ status: 'pending' | 'published'; review_process_target_id: string; /** * Date when the evaluation was published */ published_at?: string; }; export type PerformanceReviewEvaluationAnswer = { /** * Review evaluation ID */ id: string; /** * Review evaluation ID */ performance_review_evaluation_id: string; /** * List of questions and their respective answers grouped by section. */ answered_questionnaire_with_sections: { [key: string]: unknown; }; /** * Questionnaire for getting employee score. */ answered_employee_score_questionnaire?: { [key: string]: unknown; }; /** * Questionnaire for getting the employee potential score. */ answered_employee_potential_score_questionnaire?: { [key: string]: unknown; }; }; export type PerformanceReviewEvaluationScore = { /** * Review evaluation score ID */ id: string; /** * Review process ID */ review_process_id: string; /** * Review evaluation ID */ review_evaluation_id: string; /** * Employee access ID */ target_access_id: string; /** * Company identifier of the review evaluation score */ company_id: string; /** * Who scored the employee */ reviewer_strategy: 'self' | 'manager' | 'direct_reports' | 'peers'; /** * Review process target ID (composed with review_process_id and target_access_id) */ review_process_target_id: string; /** * Employee evaluation potential score within the min and max scale */ potential_score?: number; /** * Employee evaluation potential score in percentage (0% to 100%) */ normalized_potential_score?: number; /** * Evaluation score within the min and max scale */ score: number; /** * Minimum score in the scale */ scale_min: number; /** * Maximum score in the scale */ scale_max: number; /** * Evaluation score in percentage (0% to 100%) */ normalized_score: number; /** * Date and time when the evaluation score was published */ published_at: string; }; export type PerformanceReviewOwner = { /** * Review owner ID */ id: string; /** * Review owner access ID */ access_id: string; /** * Review process ID */ performance_review_process_id: string; }; export type PerformanceReviewProcess = { /** * Review process ID */ id: string; /** * Company ID */ company_id: string; /** * Review process name */ name?: string; /** * A brief description of the review process */ description?: string; /** * Review process status */ status: 'draft' | 'scheduled' | 'starting' | 'active' | 'finished'; /** * Condition that defines the employees that will be evaluated (participants). Calculated when the review process starts */ target_strategy?: { [key: string]: unknown; }; /** * Review types that will be assigned to the review process. It'll be used to create the evaluations when the process starts */ reviewer_strategies?: 'self' | 'manager' | 'direct_reports' | 'peers'; /** * Date when the review process should start */ starts_at?: string; /** * Date when the review process should end */ ends_at?: string; /** * Missing or invalid information to be able to start the review process */ start_validation_errors: 'missing_deadline' | 'invalid_deadline' | 'missing_title' | 'missing_target_strategy' | 'missing_target_strategy_members' | 'missing_reviewer_strategy' | 'missing_questions' | 'missing_potential_reviewers' | 'invalid_section_weights_sum'; /** * Whether the review process is archived or not */ archived: boolean; /** * Action plans help track goal progress, and facilitate performance review discussions. */ agreements_configuration: { [key: string]: unknown; }; /** * Assess employees based on their assigned competencies through both manager and self-reviews. Ensure roles with designated competencies are properly set up. */ competencies_assessments_configuration: { [key: string]: unknown; }; /** * Date when the last bulk reminder was sent */ last_bulk_reminder?: string; /** * Performance cycle ID */ cycle_id?: string; }; export type PerformanceReviewProcessCustomTemplate = { /** * Review process template ID */ id: string; /** * Author of the custom template. */ author_id?: string; /** * Company ID */ company_id: string; /** * Review process name */ name: string; /** * A brief description of the review process */ description?: string; /** * A brief description of the review process template */ template_description?: string; /** * Condition that defines the employees that will be evaluated (participants). Calculated when the review process starts */ target_strategy?: { [key: string]: unknown; }; /** * Review types that will be assigned to the review process. It'll be used to create the evaluations when the process starts */ reviewer_strategies?: 'self' | 'manager' | 'direct_reports' | 'peers'; /** * Action plans help track goal progress, and facilitate performance review discussions. */ agreements_enabled?: boolean; /** * Include one question at the end of the review to rate participants' potential. This rating will be reflected in the 9 box grid. */ employee_potential_score_enabled?: boolean; /** * Assess employees based on their assigned competencies through both manager and self-reviews. Ensure roles with designated competencies are properly set up. */ competencies_assessments_enabled?: boolean; /** * Visibility settings for the custom template */ visibility_settings?: { [key: string]: unknown; }; /** * Creation date of the template */ created_at: string; }; export type PerformanceReviewProcessEstimatedTarget = { /** * Process target ID */ id: string; /** * Review process ID */ performance_review_process_id: string; /** * Access ID */ access_id: string; /** * Employee ID */ employee_id: string; }; export type PerformanceReviewProcessTarget = { /** * Review process target ID (composed with performance_review_process_id and access_id) */ id: string; /** * Participant access ID */ access_id: string; /** * Review process ID */ performance_review_process_id: string; /** * Materialized review process target ID */ materialized_process_target_id: string; }; export type PerformanceReviewQuestionnairesByStrategy = { /** * Review process ID */ id: string; /** * Review process ID */ performance_review_process_id: string; /** * Scoring range used in rating questions */ default_rating_scale: Array; /** * Questionnaire for self evaluation */ self_questionnaire?: { [key: string]: unknown; }; /** * Questionnaire for manager evaluation */ manager_questionnaire?: { [key: string]: unknown; }; /** * Questionnaire for direct report evaluation */ direct_report_questionnaire?: { [key: string]: unknown; }; /** * Questionnaire for peers evaluation */ peers_questionnaire?: { [key: string]: unknown; }; /** * Questionnaire included in the end of self evaluation to evaluate the employee performance */ employee_score_self_questionnaire?: { [key: string]: unknown; }; /** * Questionnaire included in the end of manager evaluation to evaluate the employee performance */ employee_score_manager_questionnaire?: { [key: string]: unknown; }; /** * Questionnaire included in the end of manager evaluation to evaluate the employee potential */ employee_potential_score_manager_questionnaire?: { [key: string]: unknown; }; }; export type PerformanceReviewVisibilitySetting = { /** * Review process ID */ id: string; /** * Review process ID */ performance_review_process_id: string; /** * Employees don't have access to their results when enabled */ restrict_answers_visibility_to_reportees: boolean; /** * Managers can access the results of their reports before deadline when enabled */ early_access_to_answers_for_managers: boolean; /** * Peer evaluations are anonymous when enabled, so employees don't know who reviewed them */ anonymous_peer_evaluation_for_target: boolean; }; export type PerformanceTargetManager = { /** * Manager employee ID */ id: string; /** * Review process ID */ performance_review_process_id: string; /** * Manager access ID */ manager_access_id: string; /** * Manager full name */ manager_full_name: string; }; export type PostsComment = { /** * identifier of the comment */ id: string; /** * identifier of the post */ post_id: string; /** * author identifier refers to the employee access, you can get the employee from the employee endpoint */ author_id: string; /** * text of the comment */ text: string; /** * date of the comment */ created_at: string; }; export type PostsGroup = { /** * identifier of the group. */ id: string; /** * title of the group. */ title: string; /** * description of the group. */ description?: string; }; export type PostsPost = { /** * identifiers of the post */ id: string; /** * title of the post */ title?: string; /** * description of the post */ description?: string; /** * allow comments and reactions on the post */ allow_comments_and_reactions: boolean; /** * date when the post has been published */ published_at?: string; /** * date when the post has been created */ created_at: string; /** * date when the post has been updated */ updated_at: string; /** * number of visits of the post */ visits_count: number; /** * url of the cover image */ cover_image_url?: string; /** * group identifier of the post, references to posts/groups endpoint */ posts_group_id?: string; comments_count: number; }; export type ProcurementPurchaseOrder = { /** * Unique identifier of the purchase order */ id: string; /** * Purchase order number assigned to this order */ po_number: number; /** * Description or notes about the purchase order */ description: string; /** * Current status of the purchase order */ status: 'processing' | 'draft' | 'pending' | 'ordered' | 'partial' | 'received' | 'closed'; /** * Total cost of the purchase order */ cost: { [key: string]: unknown; }; /** * Date when the purchase order was created */ date: string; /** * Identifier of the vendor (contact) associated with this purchase order */ vendor_id?: string; /** * Identifier of the purchase request that generated this purchase order */ purchase_request_id: string; /** * Identifier of the legal entity that owns this purchase order */ legal_entity_id: string; /** * Identifier of the company that owns this purchase order */ company_id: string; /** * Formatted purchase order number with prefix (e.g., PO-00001) */ formatted_po_number: string; }; export type ProcurementPurchaseRequest = { /** * Unique identifier of the purchase request */ id: string; /** * Description or notes about the purchase request */ description: string; /** * The id of the referred type */ type_id: string; /** * Identifier of the company that owns this purchase request */ company_id?: string; /** * Total cost of the purchase request */ cost: { [key: string]: unknown; }; /** * Date when the purchase request was created */ date: string; /** * Identifier of the employee who requested this purchase */ requester_employee_id: string; /** * Identifier of the vendor (contact) associated with this purchase request */ vendor_id?: string; /** * Current status of the purchase request */ status: 'approved' | 'draft' | 'pending' | 'rejected' | 'changes_requested'; /** * URL related to the purchase request (e.g., product link) */ url?: string; /** * Additional information or notes about the purchase request */ additional_information?: string; /** * Deadline date for the purchase request */ deadline?: string; }; export type ProcurementType = { /** * Employee ID who created this type (null for system types) */ author_id?: string; /** * Identifier of the company that owns this type */ company_id: string; /** * Time the procurement type was created */ created_at: string; /** * Description of the procurement type */ description?: string; /** * Defines if a type is enabled */ enabled?: boolean; /** * The id of the type */ id: string; /** * System identifier for default types */ identifier?: string; /** * Name of the procurement type */ name: string; /** * Time the procurement type was last updated */ updated_at: string; }; export type ProjectManagementBudgetStrategy = { /** * Factorial id of the budget strategy */ id: string; /** * Type of budget strategy. One of project_fixed_cost => ProjectFixedCost, total_budget => TimeAndMaterials, without_budget => WithoutBudget */ budget_type: 'project_fixed_cost' | 'total_budget' | 'without_budget'; /** * Planned amount in cents (for project_fixed_cost / total_budget) */ planned_cents?: number; /** * Planned time in minutes (for total_budget) */ planned_minutes?: number; /** * Fee amount in cents (for project_fixed_cost / total_budget when is billable) */ fee_amount_cents?: number; /** * Id of the project this budget strategy belongs to */ project_id: string; /** * Id of the subproject this budget strategy belongs to, if any */ subproject_id?: string; /** * Whether the budget strategy is delegated */ delegated: boolean; }; export type ProjectManagementExpenseRecord = { id: string; project_worker_id: string; expense_id: string; subproject_id?: string; original_amount_currency?: string; original_amount_cents?: number; legal_entity_amount_currency?: string; legal_entity_amount_cents?: string; effective_on?: string; exchange_rate?: number; status?: string; }; export type ProjectManagementExportableExpense = { date?: string; project_name?: string; subproject_name?: string; employee_name: string; preferred_name?: string; amount?: string; currency?: string; expense_category?: string; expense_subcategory?: string; expense_status?: string; expense_link?: string; }; export type ProjectManagementExportableProject = { /** * The id of the project */ id: string; /** * The date of imputed time */ date?: string; /** * The name of the project */ project_name: string; /** * The code of the project */ project_code?: string; /** * The start date of the project */ project_start_date?: string; /** * The due date of the project */ project_due_date?: string; /** * The status of the project */ project_status: string; /** * The name of the subproject */ subproject_name?: string; /** * The name of the employee */ employee_name?: string; /** * The id of the employee */ employee_id?: string; /** * The time imputed by the employee */ inputed_time: string; /** * The client id of the project */ client_id?: string; }; export type ProjectManagementFlexibleTimeRecord = { /** * The unique identifier of the flexible time record. */ id: string; /** * The date on which the time was imputed. */ date: string; /** * The amount of time imputed to the project, in minutes. */ imputed_minutes: number; /** * The ID of the project worker associated with this flexible time record. */ project_worker_id: string; /** * The ID of the subproject worked on, if any. */ subproject_id?: string; }; export type ProjectManagementFlexibleTimeRecordComment = { /** * The unique identifier of the flexible time record comment. */ id: string; /** * The text content of the comment. */ content: string; /** * The ID of the flexible time record this comment belongs to. */ flexible_time_record_id: string; }; export type ProjectManagementImputableProject = { /** * The id of the imputable project */ id: string; /** * The name of the imputable project */ name: string; /** * The code of the imputable project */ code?: string; /** * The start date of the imputable project */ start_date?: string; /** * The due date of the imputable project */ due_date?: string; /** * The status of the imputable project */ status: 'active' | 'closed' | 'draft' | 'processing'; /** * The currency of the imputable project */ currency: string; client_id?: string; }; export type ProjectManagementPlannedRecord = { /** * The id of the planned record */ id: string; /** * The daily minutes of the planned record */ daily_minutes: number; /** * The start date of the planned record */ start_date: string; /** * The end date of the planned record */ end_date: string; /** * The project worker id of the planned record */ project_worker_id: string; /** * The subproject id of the planned record */ subproject_id?: string; /** * The week days of the planned record, start in Sunday 0 and end in Saturday 6 */ week_days: Array; }; export type ProjectManagementProject = { /** * The id of the project */ id: string; /** * The name of the project */ name: string; /** * The code of the project */ code?: string; /** * The description of the project */ description?: string; /** * The start date of the project */ start_date?: string; /** * The end date of the project */ due_date?: string; /** * The lifecycle status of the project (whether it is still running and can take new charges) */ status: 'active' | 'closed' | 'draft' | 'processing'; /** * How employees get access to the project — `manual` (hand-picked members) or `company` (everyone in the company) */ employees_assignment: 'manual' | 'company'; /** * The total minutes tracked in the project (if requested) */ inputed_minutes?: number; /** * Whether the project's costs can be billed (recharged) to a client */ is_billable: boolean; /** * Total fixed costs in cents */ fixed_cost_cents?: number; /** * Total labor costs in cents */ labor_cost_cents?: number; /** * The legal entity id of the project */ legal_entity_id: string; /** * Total spending costs in cents */ spending_cost_cents?: number; /** * The client of the project, refers to finance/contacts. */ client_id?: string; /** * Total Cost in cents */ total_cost_cents?: number; }; export type ProjectManagementProjectTask = { id: string; /** * The ID of the project linked to the project task */ project_id: string; /** * The ID of the subproject linked to the project task */ subproject_id?: string; /** * The ID of the task linked to the project task */ task_id: string; /** * If true, status changes related to the project will notify the author */ follow_up: boolean; }; export type ProjectManagementProjectWorker = { /** * id of the project worker. */ id: string; /** * id of the project. */ project_id: string; /** * id of the employee. */ employee_id: string; /** * true if the employee is assigned to the project, false otherwise. */ assigned: boolean; /** * total inmputed minutes of the employee in the project. */ inputed_minutes?: number; /** * total project currency labor cost of the employee in the project. */ labor_cost_cents?: number; /** * total company currency labor cost of the employee in the project. */ company_labor_cost_cents?: number; /** * total spending cost of the employee in the project. */ spending_cost_cents?: number; }; export type ProjectManagementSubproject = { /** * The id of the subproject */ id?: string; /** * The name of the subproject */ name: string; /** * The id of the project */ project_id: string; /** * The total minutes tracked in the subproject (if requested) */ inputed_minutes?: number; /** * The total labor cost of the subproject in cents (if requested) */ labor_cost_cents?: number; /** * The description of the subproject */ description?: string; /** * The status of the subproject */ status?: 'active' | 'closed' | 'draft' | 'processing'; /** * The code of the subproject */ code?: string; /** * The start date of the subproject */ start_date?: string; /** * The due date of the subproject */ due_date?: string; /** * Whether the subproject is billable */ is_billable?: boolean; }; export type ProjectManagementTimeRecord = { /** * Id of the time record */ id: string; /** * Id of the project worker */ project_worker_id: string; /** * Id of the attendance shift */ attendance_shift_id?: string; /** * Id of the subproject */ subproject_id?: string; /** * Reference date of the shift */ date?: string; /** * Minutes difference between the clock in and clock out */ imputed_minutes?: number; /** * Clock in time */ clock_in?: string; /** * Clock out time */ clock_out?: string; /** * Comment for the time record */ observations?: string; }; export type ShiftManagementShift = { /** * Unique identifier for the shift */ id: string; /** * Identifier of the company that owns this shift */ company_id: string; /** * Display name of the shift. If not explicitly set, falls back to the default shift title or template week name */ name?: string; /** * Current state of the shift. 'draft' means the shift is not yet visible to employees, 'published' means it's visible and confirmed, 'backup' indicates a backup shift that can be replaced */ state: 'draft' | 'published' | 'backup'; /** * Identifier of the location where the shift takes place. Can be null if the shift uses the employee's default location */ location_id?: string; /** * Identifier of the specific work area within the location where the shift occurs. Work areas allow further subdivision of locations */ locations_work_area_id?: string; /** * Identifier of the employee assigned to this shift */ employee_id: string; /** * Timestamp indicating when the shift starts */ start_at: string; /** * Timestamp indicating when the shift ends */ end_at: string; /** * Optional notes or comments about the shift, visible to managers and schedulers */ notes?: string; /** * Indicates whether this shift counts as extra hours beyond the employee's regular schedule. Used for overtime calculations */ extra_hours: boolean; /** * Title from the default shift template that was used to create this shift, if applicable */ default_shift_title?: string; /** * IANA timezone identifier (e.g., 'Europe/Madrid', 'America/New_York') used to display the shift times in the local timezone */ timezone: string; /** * Start time of the shift converted to the local timezone. This is what employees see in their schedule */ local_start_at: string; /** * End time of the shift converted to the local timezone. This is what employees see in their schedule */ local_end_at: string; }; export type TasksTask = { /** * Identifier of the task */ id: string; /** * Name of the task */ name: string; /** * Company identifier of the author of the task */ company_id: string; /** * Content of the task */ content?: string; /** * Due on date of the task */ due_on?: string; /** * Employees assigned to the task, assignee_id references to access_id */ assignee_ids: Array; /** * Employee id of the author of the task */ author_employee_id?: string; /** * Completed at date of the task */ completed_at?: string; /** * Completed by identifier */ completed_by_id?: string; created_at: string; /** * Updated at date of the task */ updated_at: string; /** * Status of the task */ status?: 'todo' | 'in_progress' | 'done' | 'discarded'; }; export type TasksTaskFile = { /** * identifier of the file. */ id: string; /** * identifier of the task. */ task_id: string; /** * name of the file. */ filename: string; /** * content type of the file. */ content_type?: string; /** * path of the file, for downloading the file you need to concat api_url/path. */ path: string; /** * creation date of the file. */ created_at: string; }; export type TeamsMembership = { /** * Membership ID */ id: string; /** * Company ID of the membership */ company_id?: string; /** * Employee ID of the membership */ employee_id: string; /** * Team ID of the membership */ team_id: string; /** * Whether the employee is a lead of the team or not */ lead: boolean; }; export type TeamsTeam = { id: string; name: string; description?: string; avatar?: string; employee_ids?: Array; lead_ids?: Array; company_id: string; }; export type TimeoffAllowance = { /** * Unique identifier of the allowance */ id: string; /** * Only for Allowances based on worked time. It represents how many units you need to work to be granted allowance units */ accrued_denominator_in_cents?: number; /** * Only for Allowances based on worked time. It represents how many units you are given per unit of time worked */ accrued_factor_in_cents?: number; /** * When can the acrrued units be spent. */ accrued_units_availability?: 'current_cycle' | 'next_cycle'; /** * Sets the allowance units. Can be "days" or "hours" */ allowance_type: 'days' | 'hours'; /** * Indicates how the allowance units are accrued. For example all_days means all allowance days are given on the first day of the cycle. */ available_days: 'all_days' | 'generated_days' | 'generated_days_monthly' | 'generated_days_monthly_first_day' | 'monthly_fifteenth' | 'mensiversary' | 'bimonthly_first_and_fifteenth' | 'bimonthly_fifteenth_and_last'; /** * How many units can carry over between cycles */ carry_over_days?: number; /** * How many units can carry over between cycles multiplied by 100 */ carry_over_units_in_cents?: number; /** * This setting flags if units taken during a bank holiday should be deducted or not from allowance. */ count_holiday_as_workable: boolean; /** * How many months does each allowance cycle last */ cycle_length?: number; /** * When does the cycle start. */ cycle_start?: string; /** * Indicates if the allowance is based on working on calendar days. */ days_type?: 'working_days' | 'natural_days' | 'natural_days_only_range' | 'french_calendar_days' | 'french_ouvres'; /** * When does the carryover start */ employee_carry_over_starting_year?: number; /** * When does the carryover expire in months. */ expire_in_months?: number; /** * Defines duration of the allowance cycles. Can be "yearly", "monthly_flexible" or "lifetime" */ frequency?: 'monthly_flexible' | 'yearly' | 'lifetime'; /** * Base amount of holiday allowance units multiplied by 100 */ holiday_allowance_in_cents?: number; /** * An array of leave type ids associated with that allowance */ leave_type_ids: Array; /** * Maximum the allowance can reach on accrued */ maximum_amount_in_cents?: number; /** * Allowance name set by the user */ name: string; /** * Whether the allowance allows to request more days than available */ negative_counter_type?: 'negative_counter_disabled' | 'negative_counter_enabled'; /** * Indicates the position in the allowance when rendering them in UI */ position?: number; /** * Whether the allowance has proration enabled or not. */ proration_type: 'proration_enabled' | 'proration_disabled'; /** * Whether the allowance days are prorrated or not */ pto_proratio_enabled?: boolean; /** * Configures how leaves duration is handled. */ range_type?: 'exact_range' | 'extra_non_working_days_at_end'; /** * How the accrued units of the allowance are rounded. It depends if the allowance is set in hours or days. */ rounding: 'half_day' | 'decimals' | 'quarters' | 'round_up'; send_notification?: boolean; /** * This field configures the type of allowance (fixed balance, based on worked time) */ source_units?: 'base_units' | 'overtime_units' | 'by_worked_time'; /** * In case the allowance has tenure periods, when is this tenure applied. */ tenure_period_transition?: 'beginning_of_cycle' | 'end_of_cycle' | 'after_milestone'; /** * The tenure periods associated with the allowance. */ tenure_periods: Array; /** * Whether the allowance has tenure periods enabled or not. */ tenure_periods_enabled?: boolean; /** * Value to indicate how the allowance cycle is configured. Its an abbreviation of the first and last month. */ timeoff_cycle: string; /** * The Id of the policy to which the allowance belongs to */ timeoff_policy_id: string; /** * Flag to indicate if there is unlimited accrual. */ unlimited_accrued_hours?: boolean; /** * Flag to indicate if there is unlimited carry over. */ unlimited_carry_over?: boolean; /** * Boolean to flag if carryover does not expire */ unlimited_carry_over_expiration?: boolean; /** * Flag to indicate that the allowance has unlimited available days */ unlimited_holidays?: boolean; }; export type TimeoffAllowanceIncidence = { /** * Unique identifier of the allowance incidence */ id: string; /** * Employee id of the affected employee */ employee_id: string; /** * Optional comment regarding the incidence */ description?: string; /** * How many units * 100 does the incidence add/substract. Can be positive or negative. Example is one unit */ days_in_cents: number; /** * To what allowance does the incidence affect. It will dictate if its days or hours */ timeoff_allowance_id: string; /** * When does the incidence take effect; this is for time off cycles calculations. */ effective_on: string; /** * Whether the incidence affects the Accrued or the Available counter. */ target_balance?: string; /** * Unix timestamp when the DB record was created */ created_at: number; /** * Unix timestamp when the DB record was last updated */ updated_at: number; }; export type TimeoffAllowanceStatsNew = { /** * A virtual ID for the allowance stat, composed of employee_id/allowance_id/reference_date. Cannot be used to fetch this resource. */ id: string; /** * ID of the allowance these stats belong to. */ allowance_id: string; /** * ID of the employee these stats belong to. */ employee_id: string; /** * Calendar year used to scope cycle calculations. */ year: number; /** * Array of cycle objects describing each accrual period for the allowance. */ cycles: Array; /** * Carry over entries between cycles, typed as an array of CycleCarryOver value objects. */ cycle_carry_overs: Array; /** * Total carried over units accumulated from previous cycles. */ accumulated_carry_over: string; /** * Remaining usable allowance units at the reference date, after usage, carry-over, and incidence adjustments. */ available_days: string; /** * Total accrued/generated allowance units up to the reference date. */ total_accrued_units: string; /** * Total entitlement for the cycle used by the Total row in counters (accrued + carry over + incidences, with backend cap/rounding rules applied before incidences). */ total: string; /** * Sum of incidence units (adjustments) applied to this allowance. */ incidences: string; /** * Sum of incidence units scoped to 'accrued' target balance for the current cycle, filtered by cycle coverage rules. */ accrued_incidences: string; /** * Sum of incidence units scoped to non-accrued target balances for the current cycle, filtered by cycle coverage rules. */ available_incidences: string; /** * Maximum balance cap enforced by policy (null if unlimited or no cap). */ max_balance_cap?: string; /** * Base policy entitlement for the cycle in allowance units (days or hours depending on allowance setup), before proration and adjustments. */ policy_allowance: string; /** * Allowance days after proration based on employee tenure or configuration. */ prorated_allowance_days: string; /** * Total allowance units in decimal form (null if not computed for the reference date yet). */ total_in_decimal?: string; /** * Units from carry over already consumed. */ used_carry_over: string; /** * Total used days (converted from units) up to the reference date. */ used_days: string; /** * Units consumed strictly until the given reference date (excludes future approved leaves). */ used_units_until_reference_date: string; /** * Pending units scheduled (approved in the future) not yet counted as used until the reference date. */ outstanding_units: string; }; export type TimeoffBlockedPeriodsPolicy = { /** * Unique identifier of the blocked period */ id: string; /** * Company id of the blocked period */ company_id: string; /** * Name of the blocked period. */ name: string; /** * Leave types for which absence request has been blocked */ leave_type_ids: Array; /** * The tenure periods associated with the allowance. */ time_periods: Array; /** * Type of access group */ strategy: string; /** * Employees whose timeoff will be affected */ members: Array; /** * List of locations workplace identifiers where the employees are located */ location_ids?: Array; /** * List of team identifiers which the selected employees belong to */ team_ids?: Array; /** * List of legal entity identifiers which the selected employees belong to */ legal_entity_ids?: Array; }; export type TimeoffLeave = { /** * Identifier of the Leave */ id: string; /** * Company identifier of the employee of the leave */ company_id: string; /** * Employee identifier of the leave */ employee_id: string; /** * The start date of the leave */ start_on: string; /** * The end date of the leave */ finish_on?: string; /** * Indicates if the leave is taken as a half-day */ half_day?: string; /** * A description of the leave */ description?: string; /** * The reason provided by the employee for taking the leave */ reason?: string; /** * The identifier for the type of leave */ leave_type_id?: string; /** * The name of the leave type */ leave_type_name?: string; /** * Indicates whether the leave has been approved */ approved?: boolean; /** * The full name of the employee taking the leave */ employee_full_name?: string; /** * The start time of the leave */ start_time?: string; /** * The total number of hours taken for the leave, represented in cents */ hours_amount_in_cents?: number; /** * The updated at date of the leave */ updated_at: string; /** * The created at date of the leave */ created_at?: string; /** * The date when the leave was deleted */ deleted_at?: string; /** * The duration attributes of the leave */ duration_attributes?: string; /** * Number of days taken for paid leave */ days_taken: number; }; export type TimeoffLeaveType = { /** * Identifier of the leave type */ id: string; /** * Name of the leave type */ name: string; /** * Translated name of the leave type, if available */ translated_name?: string; /** * Unique identifier of the leave type */ identifier: string; /** * The color associated with this leave type */ color: string; /** * Whether the leave type is active */ active?: boolean; /** * Whether the leave type is editable */ editable?: boolean; /** * Whether approval is required for this leave type */ approval_required?: boolean; /** * Whether the leave type accrues over time */ accrues?: boolean; /** * Whether an attachment is required for this leave type */ attachment: boolean; /** * Whether endless leave is allowed */ allow_endless?: boolean; /** * Whether the leave type is restricted */ restricted?: boolean; /** * Whether the leave type is visible to employees */ visibility: boolean; /** * Whether the leave type is workable */ workable: boolean; /** * Whether the leave type is payable */ payable?: boolean; /** * Identifier of the company associated with this leave type */ company_id: string; /** * Whether the attachment is mandatory */ is_attachment_mandatory?: boolean; /** * List of allowance identifiers associated with this leave type */ allowance_ids: Array; /** * Whether half-day units are enabled for this leave type */ half_days_units_enabled?: boolean; /** * Maximum days in cents that can be taken */ max_days_in_cents?: number; /** * Minimum days in cents that must be taken */ min_days_in_cents?: number; /** * Description of the leave type */ description?: string; /** * Whether additional details are required for the leave type */ details_required: boolean; }; export type TimeoffPolicy = { /** * The policy id. */ id: string; /** * Policy name. */ name: string; /** * Is the main policy? It will return true if it's the main policy if not it will return false. */ main?: boolean; /** * The company id. */ company_id: string; /** * The policy description. */ description?: string; }; export type TimeoffPolicyAssignment = { /** * Unique identifier of the policy assignment */ id?: string; /** * The time off policy id */ timeoff_policy_id: string; /** * The employee id */ employee_id: string; /** * The effective date of the policy assignment */ effective_at: string; }; export type TimeoffPolicyTimeline = { employee_id: string; start_limit_date: string; end_limit_date: string; items: Array; /** * This is the employee id since it's a virtual entity */ id: string; }; export type TimePlanningPlannedBreak = { /** * Planned break identifier */ id: string; /** * Break start time */ start_at?: string; /** * Break end time */ end_at?: string; /** * Duration of the break in minutes */ duration?: number; /** * Type of the break */ break_type: 'flexible' | 'fixed' | 'semi_flexible'; /** * Break configuration identifier */ break_configuration_id: string; /** * Name of the break configuration */ break_configuration_name: string; /** * Whether the break is paid */ break_configuration_paid: boolean; /** * Default shift identifier */ default_shift_id?: string; /** * Shift configuration identifier */ shift_configuration_id?: string; /** * Shift identifier */ shift_id?: string; /** * Day configuration identifier */ day_configuration_id?: string; }; export type TimePlanningPlanningVersion = { /** * Planning version identifier */ id?: string; /** * Planning version start date */ effective_at: string; /** * Type of planning tool (shift_management, work_schedules, contract_hours) */ planning_tool: string; /** * Amount of rest days per week if applicable (in cents) */ number_of_rest_days_in_cents?: number; /** * Employee identifier */ employee_id: string; /** * Work schedule identifier to include if applicable */ work_schedule_schedule_id?: string; }; export type TimeSettingsBreakConfiguration = { id: string; name: string; paid: boolean; archived: boolean; }; export type TrainingsCategory = { id: string; name: string; company_id: string; created_at?: string; updated_at?: string; }; export type TrainingsSession = { /** * id of the session */ id: string; name: string; /** * Identifier of the course */ training_id: string; /** * Session description */ description?: string; /** * Identifier of the group */ training_class_id?: string; /** * Date when the session should start */ starts_at?: string; /** * Date when the session should end */ ends_at?: string; /** * Date when the session should end */ due_date?: string; /** * The duration in hours and minutes of the session */ duration?: string; /** * The mode the session will be handled, online, in person or hybrid. */ modality?: 'online' | 'inperson' | 'mixed'; /** * Session schedule information (scheduled, self-paced) */ schedule?: 'scheduled' | 'selfpaced'; /** * The link to see material from the session */ link?: string; /** * The place where the session takes place */ location?: string; session_attendance_ids?: Array; session_feedback_id?: string; /** * if the session is subsidized */ subsidized: boolean; /** * Status of the session */ status?: string; /** * Id of the recurrent session that is parent of the current one */ parent_id?: string; }; export type TrainingsSessionAccessMembership = { /** * ID of this membership */ id: string; /** * ID of the access associated with this membership */ access_id: string; /** * ID of the employee associated with this membership */ employee_id?: string; /** * ID of the session associated with this membership */ session_id: string; /** * First name of the user associated with this membership */ first_name?: string; /** * Last name of the user associated with this membership */ last_name?: string; /** * Job title of the user associated with this membership */ job_title?: string; }; export type TrainingsSessionAttendance = { /** * Unique identifier of the session attendance */ id: string; /** * Status of the session attendance */ status: 'pending' | 'missing' | 'inprogress' | 'completed'; /** * Identifier of the session access membership */ session_access_membership_id: string; /** * Identifier of the access associated with the employee */ access_id: string; /** * Identifier of the employee */ employee_id?: string; /** * Completed duration in hours (decimal format, e.g. 1.5 means 1h 30m). Null when session attendance status is not completed. */ completed_duration?: string; }; export type TrainingsTraining = { /** * Identifier of the course */ id: string; /** * Company identifier */ company_id: string; /** * The person that creates the training */ author_id: string; /** * Employee identifier of the training author */ author_employee_id?: string; /** * Name of the training */ name: string; /** * Code of the training */ code?: string; /** * Description of the training */ description: string; /** * Creation date of the course */ created_at?: string; /** * Last modification date of the course */ updated_at?: string; /** * The name of the provider if any */ external_provider?: string; /** * External training */ external: boolean; total_cost?: number; /** * Subsidized by Fundae */ fundae_subsidized: boolean; /** * Marked as subsidized */ subsidized: boolean; cost: number; subsidized_cost: number; total_cost_decimal?: string; cost_decimal: string; subsidized_cost_decimal: string; /** * List of ids of training categories */ category_ids?: Array; /** * Training status. Can be one of the following values */ status?: 'draft' | 'active' | 'deleted'; /** * Year of the training */ year: number; /** * Visible in catalog */ catalog: boolean; /** * List of ids of training competencies */ competency_ids: Array; /** * The total direct cost of all course's groups */ total_training_cost: string; /** * The total indirect cost of all course's groups */ total_training_indirect_cost: string; /** * The total salary cost of all course's groups */ total_training_salary_cost: string; /** * The total subsidized cost of all course's groups */ total_training_subsidized_cost: string; /** * Number of participants of all course's groups */ total_participants: number; training_attendance_status: 'notassigned' | 'notstarted' | 'missing' | 'started' | 'partiallycompleted' | 'completed'; /** * Number of years this course is valid for */ valid_for?: number; /** * Objectives of the course */ objectives?: string; /** * Number of participants that have the course expired or about to expire in the next 3 months. Only applicable to trainings with validity period. */ number_of_expired_participants?: number; /** * The total duration in hours and minutes of the course */ total_duration: number; /** * This field is used to define if the training is mandatory or not */ is_mandatory: boolean; }; export type TrainingsTrainingClass = { /** * Identifier of the training to which the class belongs to */ id: string; /** * Identifier of the course */ training_id: string; /** * Class name */ name: string; /** * Class description */ description?: string; /** * Traning class start date */ start_date?: string; /** * Traning class end date */ end_date?: string; /** * Training-related expenses, such as instructor fees, materials, venue, and logistics. */ cost: string; /** * General business expenses related to training, such as utilities and administrative fees. */ indirect_cost: string; /** * Cost of all employees' time spent on the course. */ salary_cost: string; /** * Amount of training expenses covered by financial aid or grants for this group. */ subsidized_cost: string; /** * Total cost before subsidies, calculated as the sum of cost, indirect_cost, and salary_cost. */ gross_cost: string; /** * Final cost after subsidies, calculated as gross_cost minus subsidized_cost. */ net_cost: string; /** * Number of completed session attendances in this group. */ completed_attendances_count: number; /** * Total number of session attendances expected in this group. */ total_attendances_count: number; /** * Payment status of the cost of training class. */ payment_status?: 'paid' | 'pending'; /** * Currency of the training class */ currency: string; /** * Date and time when the training class was created */ created_at: string; }; export type TrainingsTrainingMembership = { /** * Unique identifier for the training membership. */ id: string; /** * Access_id associated to the employee, refers to employees/employees endpoint. */ access_id: string; /** * Employee_id associated to the employee, refers to employees/employees endpoint. */ employee_id: string; /** * This field is used to filter those trainings memberships that belongs to this training. */ training_id: string; /** * This field is used to filter those trainings memberships whose attendance status is the given. */ status: 'notassigned' | 'notstarted' | 'missing' | 'started' | 'partiallycompleted' | 'completed'; /** * This field is used for those trainings with an expiry date. */ training_due_date?: string; /** * This field is used to record the date a training was completed for trainings that have an expiry date. */ training_completed_at?: string; }; export type WorkScheduleDayConfiguration = { id: string; overlap_period_id: string; weekday: string; start_at?: string; duration_in_seconds: number; }; export type WorkScheduleOverlapPeriod = { id: string; default: boolean; schedule_id: string; start_month: number; start_day: number; end_month: number; end_day: number; schedule_type: string; }; export type WorkScheduleSchedule = { id: string; name: string; archived_at?: string; company_id: string; created_at: string; updated_at: string; employee_ids: Array; periods: Array; }; export type BankingBankAccountNumber = { /** * Employee id. */ id: string; /** * Company identifier */ company_id: string; /** * Account number */ account_number: string; /** * Additional banking information, depending on the selected format. */ complementary_data?: string; /** * The format of the account number. */ format: 'iban' | 'sort_code_and_account_number' | 'routing_number_and_account_number' | 'clabe' | 'other' | 'bank_name_and_account_number'; }; export type ContractsContractVersionRequest = { id?: string; company_id?: string; employee_id: string; effective_on: string; country?: string; job_title?: string; job_catalog_level_id?: string; job_catalog_level_name?: string; job_catalog_level?: string; job_catalog_role?: string; job_catalog_role_id?: string; job_catalog_tree_node_uuid?: string; starts_on?: string; ends_on?: string; has_payroll: boolean; has_payroll_policies?: boolean; has_trial_period?: boolean; trial_period_ends_on?: string; salary_amount?: number; salary_frequency?: string; working_week_days?: string; working_hours?: number; working_hours_frequency?: string; max_legal_yearly_hours?: number; maximum_weekly_hours?: number; adjusted_daily_minutes?: number; created_at: string; updated_at: string; created_by_name?: string; created_by_avatar?: string; action_type?: string; request_details?: string; approvers_ids?: Array; status: '' | 'pending' | 'approved' | 'rejected'; approval_author_id?: string; approval_request_created_at?: string; approval_action_type?: string; es_has_teleworking_contract?: boolean; es_cotization_group?: number; es_contract_observations?: string; es_job_description?: string; es_contract_type_id?: string; es_contract_type_name?: string; es_working_day_type_id?: string; es_working_day_type_name?: string; es_education_level_id?: string; es_education_level_name?: string; es_professional_category_id?: string; es_professional_category_name?: string; es_contribution_type_id?: string; es_contribution_type_name?: string; es_agreement_code_id?: string; es_agreement_code_name?: string; es_cno_occupation_id?: string; es_cno_occupation_name?: string; es_regime_id?: string; es_regime_name?: string; es_tariff_group_id?: string; es_tariff_group_name?: string; es_occupation_code_id?: string; es_occupation_code_name?: string; es_classification_id?: string; es_classification_name?: string; es_a3innuva_job_position_id?: string; es_a3innuva_job_position_name?: string; fr_employee_type?: string; fr_forfait_jours: boolean; fr_jours_par_an?: number; fr_jours_par_an_cents?: number; fr_coefficient?: string; fr_contract_type_id?: string; fr_level_id?: string; fr_step_id?: string; fr_mutual_id?: string; fr_professional_category_id?: string; fr_work_type_id?: string; fr_contract_type_name?: string; fr_mutual_name?: string; fr_professional_category_name?: string; fr_work_type_name?: string; fr_level_name?: string; fr_step_name?: string; de_contract_type_id?: string; de_contract_type_name?: string; de_employment_type?: number; de_flat_rate_tax?: number; de_activity_type?: number; de_personal_key_group_id?: string; de_personal_key_group_name?: string; de_base_salary_type_id?: string; de_base_salary_type_name?: string; pt_contract_type_id?: string; pt_contract_type_name?: string; }; export type PagedIndexMeta = { start_cursor?: string; end_cursor?: string; has_previous_page: boolean; has_next_page: boolean; limit: number; total: number; }; export type GetApi20260701ResourcesApiPublicCredentialsData = { body?: never; path?: never; query?: never; url: '/api/2026-07-01/resources/api_public/credentials'; }; export type GetApi20260701ResourcesApiPublicCredentialsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesApiPublicCredentialsResponse = GetApi20260701ResourcesApiPublicCredentialsResponses[keyof GetApi20260701ResourcesApiPublicCredentialsResponses]; export type GetApi20260701ResourcesApiPublicWebhookSubscriptionsData = { body?: never; path?: never; query?: { /** * Identifier of the webhook subscription */ id?: string; /** * Company identifier of the webhook subscription */ company_id?: string; /** * Type of the webhook subscription */ type?: string; /** * List only enabled webhook subscriptions */ enabled?: boolean; }; url: '/api/2026-07-01/resources/api_public/webhook_subscriptions'; }; export type GetApi20260701ResourcesApiPublicWebhookSubscriptionsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesApiPublicWebhookSubscriptionsResponse = GetApi20260701ResourcesApiPublicWebhookSubscriptionsResponses[keyof GetApi20260701ResourcesApiPublicWebhookSubscriptionsResponses]; export type PostApi20260701ResourcesApiPublicWebhookSubscriptionsData = { body?: { /** * Type of the webhook subscription */ subscription_type: string; /** * URL where the webhook payload will be sent */ target_url: string; /** * Name of the webhook subscription */ name?: string; /** * String to verify the subscription */ challenge?: string; /** * Company identifier of the webhook subscription */ company_id: string; /** * Boolean to enable/disable the subscription */ enabled?: boolean; /** * API version of the webhook subscription that determines the schema of the payload */ api_version?: '2025-07-01' | '2025-10-01' | '2026-01-01' | '2026-04-01' | '2026-07-01'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/api_public/webhook_subscriptions'; }; export type PostApi20260701ResourcesApiPublicWebhookSubscriptionsResponses = { /** * CREATED */ 201: ApiPublicWebhookSubscription; }; export type PostApi20260701ResourcesApiPublicWebhookSubscriptionsResponse = PostApi20260701ResourcesApiPublicWebhookSubscriptionsResponses[keyof PostApi20260701ResourcesApiPublicWebhookSubscriptionsResponses]; export type DeleteApi20260701ResourcesApiPublicWebhookSubscriptionsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/api_public/webhook_subscriptions/{id}'; }; export type DeleteApi20260701ResourcesApiPublicWebhookSubscriptionsByIdResponses = { /** * OK */ 200: ApiPublicWebhookSubscription; }; export type DeleteApi20260701ResourcesApiPublicWebhookSubscriptionsByIdResponse = DeleteApi20260701ResourcesApiPublicWebhookSubscriptionsByIdResponses[keyof DeleteApi20260701ResourcesApiPublicWebhookSubscriptionsByIdResponses]; export type GetApi20260701ResourcesApiPublicWebhookSubscriptionsByIdData = { body?: never; path: { /** * Identifier of the webhook subscription */ id: string; }; query?: never; url: '/api/2026-07-01/resources/api_public/webhook_subscriptions/{id}'; }; export type GetApi20260701ResourcesApiPublicWebhookSubscriptionsByIdResponses = { /** * OK */ 200: ApiPublicWebhookSubscription; }; export type GetApi20260701ResourcesApiPublicWebhookSubscriptionsByIdResponse = GetApi20260701ResourcesApiPublicWebhookSubscriptionsByIdResponses[keyof GetApi20260701ResourcesApiPublicWebhookSubscriptionsByIdResponses]; export type PutApi20260701ResourcesApiPublicWebhookSubscriptionsByIdData = { body?: { /** * Identifier of the webhook subscription */ id: string; /** * URL where the webhook payload will be sent */ target_url?: string; /** * Type of the webhook subscription */ subscription_type?: string; /** * Name of the webhook subscription */ name?: string; /** * String to verify the subscription */ challenge?: string; /** * Boolean to enable/disable the subscription */ enabled?: boolean; /** * API version of the webhook subscription that determines the schema of the payload */ api_version?: '2025-07-01' | '2025-10-01' | '2026-01-01' | '2026-04-01' | '2026-07-01'; }; path: { /** * Identifier of the webhook subscription */ id: string; }; query?: never; url: '/api/2026-07-01/resources/api_public/webhook_subscriptions/{id}'; }; export type PutApi20260701ResourcesApiPublicWebhookSubscriptionsByIdResponses = { /** * OK */ 200: ApiPublicWebhookSubscription; }; export type PutApi20260701ResourcesApiPublicWebhookSubscriptionsByIdResponse = PutApi20260701ResourcesApiPublicWebhookSubscriptionsByIdResponses[keyof PutApi20260701ResourcesApiPublicWebhookSubscriptionsByIdResponses]; export type PostApi20260701ResourcesApprovalsMaterializedApprovalsFlowsApproveResourceData = { body?: { /** * Id of the resource to approve. */ resource_id: string; /** * Type of the resource to approve (e.g. Timeoff::Leave). */ resource_type: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/approvals/materialized_approvals_flows/approve_resource'; }; export type PostApi20260701ResourcesApprovalsMaterializedApprovalsFlowsApproveResourceResponses = { /** * OK */ 200: ApprovalsMaterializedApprovalsFlow; }; export type PostApi20260701ResourcesApprovalsMaterializedApprovalsFlowsApproveResourceResponse = PostApi20260701ResourcesApprovalsMaterializedApprovalsFlowsApproveResourceResponses[keyof PostApi20260701ResourcesApprovalsMaterializedApprovalsFlowsApproveResourceResponses]; export type PostApi20260701ResourcesApprovalsMaterializedApprovalsFlowsRejectResourceData = { body?: { /** * Id of the resource to reject. */ resource_id: string; /** * Type of the resource to reject (e.g. Timeoff::Leave). */ resource_type: string; /** * Optional reason for the rejection. */ reason?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/approvals/materialized_approvals_flows/reject_resource'; }; export type PostApi20260701ResourcesApprovalsMaterializedApprovalsFlowsRejectResourceResponses = { /** * OK */ 200: ApprovalsMaterializedApprovalsFlow; }; export type PostApi20260701ResourcesApprovalsMaterializedApprovalsFlowsRejectResourceResponse = PostApi20260701ResourcesApprovalsMaterializedApprovalsFlowsRejectResourceResponses[keyof PostApi20260701ResourcesApprovalsMaterializedApprovalsFlowsRejectResourceResponses]; export type GetApi20260701ResourcesAtsAnswersData = { body?: never; path?: never; query?: { /** * Identifier of the answers */ 'ids[]'?: Array; /** * Identifier of the apllications */ 'ats_application_ids[]'?: Array; }; url: '/api/2026-07-01/resources/ats/answers'; }; export type GetApi20260701ResourcesAtsAnswersResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAtsAnswersResponse = GetApi20260701ResourcesAtsAnswersResponses[keyof GetApi20260701ResourcesAtsAnswersResponses]; export type PostApi20260701ResourcesAtsAnswersData = { body?: { /** * Identifier of the question */ ats_question_id: string; /** * Identifier of the application */ ats_application_id: string; /** * Value of the answer */ value: string; /** * Label of the question */ original_question_label: string; /** * Type of the question */ original_question_type: 'text' | 'long_text' | 'single_choice' | 'multiple_choice'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/ats/answers'; }; export type PostApi20260701ResourcesAtsAnswersResponses = { /** * CREATED */ 201: AtsAnswer; }; export type PostApi20260701ResourcesAtsAnswersResponse = PostApi20260701ResourcesAtsAnswersResponses[keyof PostApi20260701ResourcesAtsAnswersResponses]; export type GetApi20260701ResourcesAtsAnswersByIdData = { body?: never; path: { /** * Identifier of the answers */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/answers/{id}'; }; export type GetApi20260701ResourcesAtsAnswersByIdResponses = { /** * OK */ 200: AtsAnswer; }; export type GetApi20260701ResourcesAtsAnswersByIdResponse = GetApi20260701ResourcesAtsAnswersByIdResponses[keyof GetApi20260701ResourcesAtsAnswersByIdResponses]; export type GetApi20260701ResourcesAtsApplicationsData = { body?: never; path?: never; query?: { /** * Application ids to retrieve */ 'ids[]'?: Array; /** * Application job posting id to retrieve */ ats_job_posting_id?: string; /** * Retrieve applications by their qualified status */ qualified?: boolean; /** * Application phase id */ ats_application_phase_id?: string; /** * Application candidates ids */ 'ats_candidate_ids[]'?: Array; /** * Application rejection reason ids */ 'ats_rejection_reason_ids[]'?: Array; /** * Application search */ search?: string; /** * Application tag ids */ 'ats_tags_ids[]'?: Array; }; url: '/api/2026-07-01/resources/ats/applications'; }; export type GetApi20260701ResourcesAtsApplicationsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAtsApplicationsResponse = GetApi20260701ResourcesAtsApplicationsResponses[keyof GetApi20260701ResourcesAtsApplicationsResponses]; export type PostApi20260701ResourcesAtsApplicationsData = { body?: { /** * Application author id */ author_id?: string; /** * Application author type */ author_type?: 'company' | 'access' | 'user'; /** * Application candidate phone */ phone?: string; /** * Application candidate id */ ats_candidate_id?: string; /** * Application job posting id */ ats_job_posting_id: string; /** * Application phase id */ ats_application_phase_id?: string; /** * Whether or not the candidate has given consent to be added to the talent pool */ consent_to_talent_pool?: boolean; /** * Application cover letter */ cover_letter?: string; /** * Application source */ source?: string; /** * Application medium */ medium?: string; /** * answers */ answers?: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/ats/applications'; }; export type PostApi20260701ResourcesAtsApplicationsResponses = { /** * CREATED */ 201: AtsApplication; }; export type PostApi20260701ResourcesAtsApplicationsResponse = PostApi20260701ResourcesAtsApplicationsResponses[keyof PostApi20260701ResourcesAtsApplicationsResponses]; export type DeleteApi20260701ResourcesAtsApplicationsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/applications/{id}'; }; export type DeleteApi20260701ResourcesAtsApplicationsByIdResponses = { /** * OK */ 200: AtsApplication; }; export type DeleteApi20260701ResourcesAtsApplicationsByIdResponse = DeleteApi20260701ResourcesAtsApplicationsByIdResponses[keyof DeleteApi20260701ResourcesAtsApplicationsByIdResponses]; export type GetApi20260701ResourcesAtsApplicationsByIdData = { body?: never; path: { /** * Application ids to retrieve */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/applications/{id}'; }; export type GetApi20260701ResourcesAtsApplicationsByIdResponses = { /** * OK */ 200: AtsApplication; }; export type GetApi20260701ResourcesAtsApplicationsByIdResponse = GetApi20260701ResourcesAtsApplicationsByIdResponses[keyof GetApi20260701ResourcesAtsApplicationsByIdResponses]; export type PutApi20260701ResourcesAtsApplicationsByIdData = { body?: { /** * Application author id */ author_id?: string; /** * Application author type */ author_type?: 'company' | 'access' | 'user'; /** * Application id */ id: string; /** * Application is qualified */ qualified?: boolean; /** * Application phase id */ ats_application_phase_id?: string; /** * Application disqualified reason */ disqualified_reason?: string; /** * Application candidate phone */ phone?: string; /** * Application rejection reason id */ ats_rejection_reason_id?: string; /** * Application source */ source?: string; /** * Application source id */ source_id?: string; }; path: { /** * Application id */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/applications/{id}'; }; export type PutApi20260701ResourcesAtsApplicationsByIdResponses = { /** * OK */ 200: AtsApplication; }; export type PutApi20260701ResourcesAtsApplicationsByIdResponse = PutApi20260701ResourcesAtsApplicationsByIdResponses[keyof PutApi20260701ResourcesAtsApplicationsByIdResponses]; export type PostApi20260701ResourcesAtsApplicationsApplyData = { body?: { /** * Company id of the application */ company_id?: string; /** * Application first name */ first_name: string; /** * Application last name */ last_name: string; /** * Application job posting id */ ats_job_posting_id: string; /** * Application candidate email */ email: string; /** * Application candidate phone */ phone?: string; /** * Application source */ source?: string; /** * Application medium */ medium?: string; /** * Application cover letter */ cover_letter?: string; /** * gender of the candidate. */ gender?: string; /** * Application consent talent pool */ consent_to_talent_pool?: boolean; /** * answers */ answers?: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/ats/applications/apply'; }; export type PostApi20260701ResourcesAtsApplicationsApplyResponses = { /** * OK */ 200: AtsApplication; }; export type PostApi20260701ResourcesAtsApplicationsApplyResponse = PostApi20260701ResourcesAtsApplicationsApplyResponses[keyof PostApi20260701ResourcesAtsApplicationsApplyResponses]; export type PostApi20260701ResourcesAtsApplicationsMoveToPhaseData = { body?: { /** * Application id to move */ id: string; /** * Target application phase id. Must belong to the same job posting as the application. Refers to ats/application_phases. */ ats_application_phase_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/ats/applications/move_to_phase'; }; export type PostApi20260701ResourcesAtsApplicationsMoveToPhaseResponses = { /** * OK */ 200: AtsApplication; }; export type PostApi20260701ResourcesAtsApplicationsMoveToPhaseResponse = PostApi20260701ResourcesAtsApplicationsMoveToPhaseResponses[keyof PostApi20260701ResourcesAtsApplicationsMoveToPhaseResponses]; export type GetApi20260701ResourcesAtsApplicationPhasesData = { body?: never; path?: never; query?: { /** * Application phases identifiers */ 'ids[]'?: Array; /** * Job posting of application phases identifiers */ 'ats_job_posting_ids[]'?: Array; }; url: '/api/2026-07-01/resources/ats/application_phases'; }; export type GetApi20260701ResourcesAtsApplicationPhasesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAtsApplicationPhasesResponse = GetApi20260701ResourcesAtsApplicationPhasesResponses[keyof GetApi20260701ResourcesAtsApplicationPhasesResponses]; export type GetApi20260701ResourcesAtsApplicationPhasesByIdData = { body?: never; path: { /** * Application phases identifiers */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/application_phases/{id}'; }; export type GetApi20260701ResourcesAtsApplicationPhasesByIdResponses = { /** * OK */ 200: AtsApplicationPhase; }; export type GetApi20260701ResourcesAtsApplicationPhasesByIdResponse = GetApi20260701ResourcesAtsApplicationPhasesByIdResponses[keyof GetApi20260701ResourcesAtsApplicationPhasesByIdResponses]; export type GetApi20260701ResourcesAtsCandidatesData = { body?: never; path?: never; query?: { /** * list of candidate identifiers. */ 'ids[]'?: Array; /** * list of candidate emails. */ 'emails[]'?: Array; /** * list of team identifiers, refers to teams/teams endpoint. */ 'team_ids[]'?: Array; /** * list of location identifiers, refers to locations/locations endpoint. */ 'location_ids[]'?: Array; /** * source of the candidate. */ 'source[]'?: Array; /** * is the candidate remote? */ remote?: boolean; /** * list of job posting identifiers, refers to ats/job_postings endpoint. */ 'job_posting_ids[]'?: Array; /** * minimum average rating of the candidate. */ minimum_average_rating?: number; /** * is the candidate active? */ active?: boolean; /** * is the candidate part of talent pool? */ talent_pool?: boolean; /** * is the candidate archived? */ archived?: boolean; }; url: '/api/2026-07-01/resources/ats/candidates'; }; export type GetApi20260701ResourcesAtsCandidatesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAtsCandidatesResponse = GetApi20260701ResourcesAtsCandidatesResponses[keyof GetApi20260701ResourcesAtsCandidatesResponses]; export type PostApi20260701ResourcesAtsCandidatesData = { body?: { /** * first name of the candidate. */ first_name: string; /** * last name of the candidate. */ last_name: string; /** * email of the candidate. */ email?: string; /** * company identifier, refers to /core/me endpoint. */ company_id: string; /** * is the candidate part of talent pool? */ talent_pool?: boolean; /** * date when the consent was given. */ consent_given_at?: string; /** * source of the candidate. */ source?: string; /** * specifies additional details related to the source of the candidate, such as the referrer name for example if the source is referred. */ medium?: string; /** * phone number of the candidate. */ phone_number?: string; /** * personal web resource from the candidate. */ personal_url?: string; /** * gender of the candidate. */ gender?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/ats/candidates'; }; export type PostApi20260701ResourcesAtsCandidatesResponses = { /** * CREATED */ 201: AtsCandidate; }; export type PostApi20260701ResourcesAtsCandidatesResponse = PostApi20260701ResourcesAtsCandidatesResponses[keyof PostApi20260701ResourcesAtsCandidatesResponses]; export type DeleteApi20260701ResourcesAtsCandidatesByIdData = { body?: never; path: { /** * identifier of the candidate. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/candidates/{id}'; }; export type DeleteApi20260701ResourcesAtsCandidatesByIdResponses = { /** * OK */ 200: AtsCandidate; }; export type DeleteApi20260701ResourcesAtsCandidatesByIdResponse = DeleteApi20260701ResourcesAtsCandidatesByIdResponses[keyof DeleteApi20260701ResourcesAtsCandidatesByIdResponses]; export type GetApi20260701ResourcesAtsCandidatesByIdData = { body?: never; path: { /** * list of candidate identifiers. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/candidates/{id}'; }; export type GetApi20260701ResourcesAtsCandidatesByIdResponses = { /** * OK */ 200: AtsCandidate; }; export type GetApi20260701ResourcesAtsCandidatesByIdResponse = GetApi20260701ResourcesAtsCandidatesByIdResponses[keyof GetApi20260701ResourcesAtsCandidatesByIdResponses]; export type PutApi20260701ResourcesAtsCandidatesByIdData = { body?: { /** * identifier of the candidate. */ id: string; /** * email of the candidate. */ email?: string; /** * first name of the candidate. */ first_name?: string; /** * last name of the candidate. */ last_name?: string; /** * is the candidate part of talent pool? */ talent_pool?: boolean; /** * date when the consent was given. */ consent_given_at?: string; /** * phone number of the candidate. */ phone_number?: string; /** * personal web resource from the candidate. */ personal_url?: string; }; path: { /** * identifier of the candidate. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/candidates/{id}'; }; export type PutApi20260701ResourcesAtsCandidatesByIdResponses = { /** * OK */ 200: AtsCandidate; }; export type PutApi20260701ResourcesAtsCandidatesByIdResponse = PutApi20260701ResourcesAtsCandidatesByIdResponses[keyof PutApi20260701ResourcesAtsCandidatesByIdResponses]; export type GetApi20260701ResourcesAtsCandidateSourcesData = { body?: never; path?: never; query?: { /** * a list of source identifiers. */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/ats/candidate_sources'; }; export type GetApi20260701ResourcesAtsCandidateSourcesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAtsCandidateSourcesResponse = GetApi20260701ResourcesAtsCandidateSourcesResponses[keyof GetApi20260701ResourcesAtsCandidateSourcesResponses]; export type GetApi20260701ResourcesAtsCandidateSourcesByIdData = { body?: never; path: { /** * a list of source identifiers. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/candidate_sources/{id}'; }; export type GetApi20260701ResourcesAtsCandidateSourcesByIdResponses = { /** * OK */ 200: AtsCandidateSource; }; export type GetApi20260701ResourcesAtsCandidateSourcesByIdResponse = GetApi20260701ResourcesAtsCandidateSourcesByIdResponses[keyof GetApi20260701ResourcesAtsCandidateSourcesByIdResponses]; export type GetApi20260701ResourcesAtsEvaluationFormsData = { body?: never; path?: never; query?: { /** * List of IDs of the evaluation forms to be fetched. */ 'ids[]'?: Array; /** * List of IDs of the job postings to filter the evaluation forms by. */ 'ats_job_posting_ids[]'?: Array; /** * If true, only the evaluation forms that are templates will be fetched. */ template?: boolean; }; url: '/api/2026-07-01/resources/ats/evaluation_forms'; }; export type GetApi20260701ResourcesAtsEvaluationFormsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAtsEvaluationFormsResponse = GetApi20260701ResourcesAtsEvaluationFormsResponses[keyof GetApi20260701ResourcesAtsEvaluationFormsResponses]; export type GetApi20260701ResourcesAtsEvaluationFormsByIdData = { body?: never; path: { /** * List of IDs of the evaluation forms to be fetched. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/evaluation_forms/{id}'; }; export type GetApi20260701ResourcesAtsEvaluationFormsByIdResponses = { /** * OK */ 200: AtsEvaluationForm; }; export type GetApi20260701ResourcesAtsEvaluationFormsByIdResponse = GetApi20260701ResourcesAtsEvaluationFormsByIdResponses[keyof GetApi20260701ResourcesAtsEvaluationFormsByIdResponses]; export type PostApi20260701ResourcesAtsEvaluationFormsSaveAsTemplateData = { body?: { /** * Id of the evaluation form to be saved as a template. */ id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/ats/evaluation_forms/save_as_template'; }; export type PostApi20260701ResourcesAtsEvaluationFormsSaveAsTemplateResponses = { /** * OK */ 200: AtsEvaluationForm; }; export type PostApi20260701ResourcesAtsEvaluationFormsSaveAsTemplateResponse = PostApi20260701ResourcesAtsEvaluationFormsSaveAsTemplateResponses[keyof PostApi20260701ResourcesAtsEvaluationFormsSaveAsTemplateResponses]; export type GetApi20260701ResourcesAtsFeedbacksData = { body?: never; path?: never; query?: { /** * retrieve only the feedbacks that match the IDs passed in the request. */ 'ids[]'?: Array; /** * filter feedbacks based on multiple application IDs. */ 'ats_application_ids[]'?: Array; /** * fetch feedbacks related to a specific candidate. */ ats_candidate_id?: string; }; url: '/api/2026-07-01/resources/ats/feedbacks'; }; export type GetApi20260701ResourcesAtsFeedbacksResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAtsFeedbacksResponse = GetApi20260701ResourcesAtsFeedbacksResponses[keyof GetApi20260701ResourcesAtsFeedbacksResponses]; export type PostApi20260701ResourcesAtsFeedbacksData = { body?: { /** * the ID of the candidate to whom the new feedback will be associated. */ ats_candidate_id: string; /** * the overall rating from 1 to 5 to be given to the candidate's application. */ rating?: number; /** * the ID of the application related to the feedback. */ ats_application_id?: string; /** * the ID of the phase within the application related to the feedback. */ ats_application_phase_id?: string; /** * a string describing the feedback provided. */ description?: string; /** * the IDs of the accesses for sending notifications if they have it enabled. They must have permissions to see the assosiated application. */ mention_ids?: Array; /** * IDs of the form to which the feedback belongs if the evaluation forms feature is active. */ ats_evaluation_forms_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/ats/feedbacks'; }; export type PostApi20260701ResourcesAtsFeedbacksResponses = { /** * CREATED */ 201: AtsFeedback; }; export type PostApi20260701ResourcesAtsFeedbacksResponse = PostApi20260701ResourcesAtsFeedbacksResponses[keyof PostApi20260701ResourcesAtsFeedbacksResponses]; export type DeleteApi20260701ResourcesAtsFeedbacksByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/feedbacks/{id}'; }; export type DeleteApi20260701ResourcesAtsFeedbacksByIdResponses = { /** * OK */ 200: AtsFeedback; }; export type DeleteApi20260701ResourcesAtsFeedbacksByIdResponse = DeleteApi20260701ResourcesAtsFeedbacksByIdResponses[keyof DeleteApi20260701ResourcesAtsFeedbacksByIdResponses]; export type GetApi20260701ResourcesAtsFeedbacksByIdData = { body?: never; path: { /** * retrieve only the feedbacks that match the IDs passed in the request. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/feedbacks/{id}'; }; export type GetApi20260701ResourcesAtsFeedbacksByIdResponses = { /** * OK */ 200: AtsFeedback; }; export type GetApi20260701ResourcesAtsFeedbacksByIdResponse = GetApi20260701ResourcesAtsFeedbacksByIdResponses[keyof GetApi20260701ResourcesAtsFeedbacksByIdResponses]; export type PutApi20260701ResourcesAtsFeedbacksByIdData = { body?: { /** * the ID of the feedback entry to be updated. */ id?: string; /** * the overall rating from 1 to 5 for the candidate's application. */ rating?: number; /** * the description of the feedback provided. */ description?: string; /** * the ID of the phase within the application related to the feedback. */ ats_application_phase_id?: string; }; path: { /** * the ID of the feedback entry to be updated. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/feedbacks/{id}'; }; export type PutApi20260701ResourcesAtsFeedbacksByIdResponses = { /** * OK */ 200: AtsFeedback; }; export type PutApi20260701ResourcesAtsFeedbacksByIdResponse = PutApi20260701ResourcesAtsFeedbacksByIdResponses[keyof PutApi20260701ResourcesAtsFeedbacksByIdResponses]; export type GetApi20260701ResourcesAtsHiringStagesData = { body?: never; path?: never; query?: { /** * Identifiers of the hiring stages */ 'ids[]'?: Array; /** * Identifier of the application phase that belongs to a hiring stage */ ats_application_phase_id?: string; }; url: '/api/2026-07-01/resources/ats/hiring_stages'; }; export type GetApi20260701ResourcesAtsHiringStagesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAtsHiringStagesResponse = GetApi20260701ResourcesAtsHiringStagesResponses[keyof GetApi20260701ResourcesAtsHiringStagesResponses]; export type GetApi20260701ResourcesAtsHiringStagesByIdData = { body?: never; path: { /** * Identifiers of the hiring stages */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/hiring_stages/{id}'; }; export type GetApi20260701ResourcesAtsHiringStagesByIdResponses = { /** * OK */ 200: AtsHiringStage; }; export type GetApi20260701ResourcesAtsHiringStagesByIdResponse = GetApi20260701ResourcesAtsHiringStagesByIdResponses[keyof GetApi20260701ResourcesAtsHiringStagesByIdResponses]; export type GetApi20260701ResourcesAtsJobPostingsData = { body?: never; path?: never; query?: { 'ids[]'?: Array; status?: 'draft' | 'published' | 'unlisted' | 'archived' | 'cancelled' | 'deleted'; team_id?: string; location_id?: string; legal_entity_id?: string; }; url: '/api/2026-07-01/resources/ats/job_postings'; }; export type GetApi20260701ResourcesAtsJobPostingsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAtsJobPostingsResponse = GetApi20260701ResourcesAtsJobPostingsResponses[keyof GetApi20260701ResourcesAtsJobPostingsResponses]; export type PostApi20260701ResourcesAtsJobPostingsData = { body?: { title: string; description?: string; contract_type?: 'indefinite' | 'temporary' | 'intern' | 'training' | 'freelance' | 'vendor_contractor' | 'volunteer' | 'per_hour' | 'other' | 'alternant' | 'interim' | 'minijob' | 'werkstudent' | 'apprenticeship' | 'pj' | 'clt' | 'jovem_aprendiz' | 'a_termo_incerto' | 'a_termo_certo' | 'de_curta_duracao' | 'de_muita_curta_duracao' | 'promessa_de_trabalho' | 'a_tempo_parcial' | 'com_pluralidade_de_empregadores' | 'teletrabalho' | 'pre_reforma' | 'recibos_verdes' | 'estagio' | 'sem_termo' | 'apprentissage' | 'fixed_discontinued' | 'apprendistato'; category?: 'administration_and_secretariat' | 'design_and_architecture' | 'education_and_social_policy' | 'engineering' | 'finance' | 'hr' | 'it' | 'legal' | 'management_and_consulting' | 'marketing_and_communication' | 'nursing_and_therapy' | 'physicians' | 'public_sector' | 'purchasing_materials_administration_and_logistics' | 'sales' | 'sciences_and_research' | 'service_industry_and_manufacturing' | 'sports_art_and_creative_jobs' | 'other'; workplace_type?: 'onsite' | 'remote' | 'hybrid'; status: 'draft' | 'published' | 'unlisted' | 'archived' | 'cancelled' | 'deleted'; schedule_type?: 'full_time' | 'part_time'; team_id?: string; location_id?: string; salary_format?: 'fixed_amount' | 'range'; salary_from_amount_in_cents?: number; salary_to_amount_in_cents?: number; cv_requirement: 'mandatory' | 'optional' | 'do_not_ask'; cover_letter_requirement: 'mandatory' | 'optional' | 'do_not_ask'; phone_requirement: 'mandatory' | 'optional' | 'do_not_ask'; photo_requirement: 'mandatory' | 'optional' | 'do_not_ask'; personal_url_requirement: 'mandatory' | 'optional' | 'do_not_ask'; salary_period?: 'annual' | 'monthly' | 'daily'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/ats/job_postings'; }; export type PostApi20260701ResourcesAtsJobPostingsResponses = { /** * CREATED */ 201: AtsJobPosting; }; export type PostApi20260701ResourcesAtsJobPostingsResponse = PostApi20260701ResourcesAtsJobPostingsResponses[keyof PostApi20260701ResourcesAtsJobPostingsResponses]; export type DeleteApi20260701ResourcesAtsJobPostingsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/job_postings/{id}'; }; export type DeleteApi20260701ResourcesAtsJobPostingsByIdResponses = { /** * OK */ 200: AtsJobPosting; }; export type DeleteApi20260701ResourcesAtsJobPostingsByIdResponse = DeleteApi20260701ResourcesAtsJobPostingsByIdResponses[keyof DeleteApi20260701ResourcesAtsJobPostingsByIdResponses]; export type GetApi20260701ResourcesAtsJobPostingsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/job_postings/{id}'; }; export type GetApi20260701ResourcesAtsJobPostingsByIdResponses = { /** * OK */ 200: AtsJobPosting; }; export type GetApi20260701ResourcesAtsJobPostingsByIdResponse = GetApi20260701ResourcesAtsJobPostingsByIdResponses[keyof GetApi20260701ResourcesAtsJobPostingsByIdResponses]; export type PutApi20260701ResourcesAtsJobPostingsByIdData = { body?: { id: string; title?: string; description?: string; contract_type?: 'indefinite' | 'temporary' | 'intern' | 'training' | 'freelance' | 'vendor_contractor' | 'volunteer' | 'per_hour' | 'other' | 'alternant' | 'interim' | 'minijob' | 'werkstudent' | 'apprenticeship' | 'pj' | 'clt' | 'jovem_aprendiz' | 'a_termo_incerto' | 'a_termo_certo' | 'de_curta_duracao' | 'de_muita_curta_duracao' | 'promessa_de_trabalho' | 'a_tempo_parcial' | 'com_pluralidade_de_empregadores' | 'teletrabalho' | 'pre_reforma' | 'recibos_verdes' | 'estagio' | 'sem_termo' | 'apprentissage' | 'fixed_discontinued' | 'apprendistato'; category?: 'administration_and_secretariat' | 'design_and_architecture' | 'education_and_social_policy' | 'engineering' | 'finance' | 'hr' | 'it' | 'legal' | 'management_and_consulting' | 'marketing_and_communication' | 'nursing_and_therapy' | 'physicians' | 'public_sector' | 'purchasing_materials_administration_and_logistics' | 'sales' | 'sciences_and_research' | 'service_industry_and_manufacturing' | 'sports_art_and_creative_jobs' | 'other'; workplace_type?: 'onsite' | 'remote' | 'hybrid'; status?: 'draft' | 'published' | 'unlisted' | 'archived' | 'cancelled' | 'deleted'; schedule_type?: 'full_time' | 'part_time'; team_id?: string; location_id?: string; salary_format?: 'fixed_amount' | 'range'; salary_from_amount_in_cents?: number; salary_to_amount_in_cents?: number; cv_requirement?: 'mandatory' | 'optional' | 'do_not_ask'; cover_letter_requirement?: 'mandatory' | 'optional' | 'do_not_ask'; phone_requirement?: 'mandatory' | 'optional' | 'do_not_ask'; photo_requirement?: 'mandatory' | 'optional' | 'do_not_ask'; personal_url_requirement?: 'mandatory' | 'optional' | 'do_not_ask'; salary_period?: 'annual' | 'monthly' | 'daily'; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/job_postings/{id}'; }; export type PutApi20260701ResourcesAtsJobPostingsByIdResponses = { /** * OK */ 200: AtsJobPosting; }; export type PutApi20260701ResourcesAtsJobPostingsByIdResponse = PutApi20260701ResourcesAtsJobPostingsByIdResponses[keyof PutApi20260701ResourcesAtsJobPostingsByIdResponses]; export type PostApi20260701ResourcesAtsJobPostingsDuplicateData = { body?: { /** * The Job ID of the job posting that you want to duplicate. */ id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/ats/job_postings/duplicate'; }; export type PostApi20260701ResourcesAtsJobPostingsDuplicateResponses = { /** * OK */ 200: AtsJobPosting; }; export type PostApi20260701ResourcesAtsJobPostingsDuplicateResponse = PostApi20260701ResourcesAtsJobPostingsDuplicateResponses[keyof PostApi20260701ResourcesAtsJobPostingsDuplicateResponses]; export type GetApi20260701ResourcesAtsMessagesData = { body?: never; path?: never; query: { id?: string; 'ids[]'?: Array; ats_conversation_id?: string; 'ats_conversation_ids[]'?: Array; last_per_conversation: boolean; }; url: '/api/2026-07-01/resources/ats/messages'; }; export type GetApi20260701ResourcesAtsMessagesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAtsMessagesResponse = GetApi20260701ResourcesAtsMessagesResponses[keyof GetApi20260701ResourcesAtsMessagesResponses]; export type PostApi20260701ResourcesAtsMessagesData = { body?: { content: string; sent_by_id: string; sent_by_type: 'candidate' | 'user'; ats_application_id: string; 'attachments[]': Array; topic: string; send_as_corporate_email: boolean; delayed_until?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/ats/messages'; }; export type PostApi20260701ResourcesAtsMessagesResponses = { /** * CREATED */ 201: AtsMessage; }; export type PostApi20260701ResourcesAtsMessagesResponse = PostApi20260701ResourcesAtsMessagesResponses[keyof PostApi20260701ResourcesAtsMessagesResponses]; export type GetApi20260701ResourcesAtsMessagesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/messages/{id}'; }; export type GetApi20260701ResourcesAtsMessagesByIdResponses = { /** * OK */ 200: AtsMessage; }; export type GetApi20260701ResourcesAtsMessagesByIdResponse = GetApi20260701ResourcesAtsMessagesByIdResponses[keyof GetApi20260701ResourcesAtsMessagesByIdResponses]; export type GetApi20260701ResourcesAtsQuestionsData = { body?: never; path?: never; query?: { /** * identifiers of the questions */ 'ids[]'?: Array; /** * identifiers of the related job postings */ 'ats_job_posting_ids[]'?: Array; }; url: '/api/2026-07-01/resources/ats/questions'; }; export type GetApi20260701ResourcesAtsQuestionsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAtsQuestionsResponse = GetApi20260701ResourcesAtsQuestionsResponses[keyof GetApi20260701ResourcesAtsQuestionsResponses]; export type PostApi20260701ResourcesAtsQuestionsData = { body?: { /** * job posting identifier. */ ats_job_posting_id: string; /** * company identifier, refers to /core/me endpoint. */ company_id: string; /** * text of the question. */ label: string; /** * position of the question in the list. */ position: number; /** * is the question mandatory or not */ mandatory?: boolean; /** * type of the question. */ question_type: 'text' | 'long_text' | 'single_choice' | 'multiple_choice' | 'file'; /** * if the question autodisqualifies the candidate depending on it's response. */ auto_disqualify?: boolean; /** * options for the question. */ options?: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/ats/questions'; }; export type PostApi20260701ResourcesAtsQuestionsResponses = { /** * CREATED */ 201: AtsQuestion; }; export type PostApi20260701ResourcesAtsQuestionsResponse = PostApi20260701ResourcesAtsQuestionsResponses[keyof PostApi20260701ResourcesAtsQuestionsResponses]; export type DeleteApi20260701ResourcesAtsQuestionsByIdData = { body?: never; path: { /** * identifier of the question */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/questions/{id}'; }; export type DeleteApi20260701ResourcesAtsQuestionsByIdResponses = { /** * OK */ 200: AtsQuestion; }; export type DeleteApi20260701ResourcesAtsQuestionsByIdResponse = DeleteApi20260701ResourcesAtsQuestionsByIdResponses[keyof DeleteApi20260701ResourcesAtsQuestionsByIdResponses]; export type GetApi20260701ResourcesAtsQuestionsByIdData = { body?: never; path: { /** * identifiers of the questions */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/questions/{id}'; }; export type GetApi20260701ResourcesAtsQuestionsByIdResponses = { /** * OK */ 200: AtsQuestion; }; export type GetApi20260701ResourcesAtsQuestionsByIdResponse = GetApi20260701ResourcesAtsQuestionsByIdResponses[keyof GetApi20260701ResourcesAtsQuestionsByIdResponses]; export type PutApi20260701ResourcesAtsQuestionsByIdData = { body?: { /** * identifier of the question */ id: string; /** * text of the question */ label?: string; /** * position of the question in the list */ position?: number; /** * is the question mandatory or not */ mandatory?: boolean; /** * if the question autodisqualifies the candidate depending on it's response. */ auto_disqualify?: boolean; /** * options for the question. */ options?: Array; }; path: { /** * identifier of the question */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/questions/{id}'; }; export type PutApi20260701ResourcesAtsQuestionsByIdResponses = { /** * OK */ 200: AtsQuestion; }; export type PutApi20260701ResourcesAtsQuestionsByIdResponse = PutApi20260701ResourcesAtsQuestionsByIdResponses[keyof PutApi20260701ResourcesAtsQuestionsByIdResponses]; export type GetApi20260701ResourcesAtsRejectionReasonsData = { body?: never; path?: never; query?: { /** * Rejection reasons identifiers */ 'ids[]'?: Array; /** * Rejected application identifiers */ 'ats_application_ids[]'?: Array; }; url: '/api/2026-07-01/resources/ats/rejection_reasons'; }; export type GetApi20260701ResourcesAtsRejectionReasonsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAtsRejectionReasonsResponse = GetApi20260701ResourcesAtsRejectionReasonsResponses[keyof GetApi20260701ResourcesAtsRejectionReasonsResponses]; export type GetApi20260701ResourcesAtsRejectionReasonsByIdData = { body?: never; path: { /** * Rejection reasons identifiers */ id: string; }; query?: never; url: '/api/2026-07-01/resources/ats/rejection_reasons/{id}'; }; export type GetApi20260701ResourcesAtsRejectionReasonsByIdResponses = { /** * OK */ 200: AtsRejectionReason; }; export type GetApi20260701ResourcesAtsRejectionReasonsByIdResponse = GetApi20260701ResourcesAtsRejectionReasonsByIdResponses[keyof GetApi20260701ResourcesAtsRejectionReasonsByIdResponses]; export type GetApi20260701ResourcesAttendanceBreakConfigurationsData = { body?: never; path?: never; query?: { /** * The break configuration ids to retrieve */ 'ids[]'?: Array; /** * Ids of the time settings break configuration */ 'time_settings_break_configuration_ids[]'?: Array; /** * Id of the attendance employee setting */ attendance_employees_setting_id?: string; /** * Status of the break configuration if enabled or not */ enabled?: boolean; }; url: '/api/2026-07-01/resources/attendance/break_configurations'; }; export type GetApi20260701ResourcesAttendanceBreakConfigurationsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAttendanceBreakConfigurationsResponse = GetApi20260701ResourcesAttendanceBreakConfigurationsResponses[keyof GetApi20260701ResourcesAttendanceBreakConfigurationsResponses]; export type PostApi20260701ResourcesAttendanceBreakConfigurationsData = { body?: { /** * Id of the time settings break configuration */ time_settings_break_configuration_id: string; /** * Id of the attendance employee setting */ attendance_employees_setting_id: string; /** * Status of the break configuration if enabled or not */ enabled: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/break_configurations'; }; export type PostApi20260701ResourcesAttendanceBreakConfigurationsResponses = { /** * CREATED */ 201: AttendanceBreakConfiguration; }; export type PostApi20260701ResourcesAttendanceBreakConfigurationsResponse = PostApi20260701ResourcesAttendanceBreakConfigurationsResponses[keyof PostApi20260701ResourcesAttendanceBreakConfigurationsResponses]; export type GetApi20260701ResourcesAttendanceBreakConfigurationsByIdData = { body?: never; path: { /** * The break configuration ids to retrieve */ id: string; }; query?: never; url: '/api/2026-07-01/resources/attendance/break_configurations/{id}'; }; export type GetApi20260701ResourcesAttendanceBreakConfigurationsByIdResponses = { /** * OK */ 200: AttendanceBreakConfiguration; }; export type GetApi20260701ResourcesAttendanceBreakConfigurationsByIdResponse = GetApi20260701ResourcesAttendanceBreakConfigurationsByIdResponses[keyof GetApi20260701ResourcesAttendanceBreakConfigurationsByIdResponses]; export type PutApi20260701ResourcesAttendanceBreakConfigurationsByIdData = { body?: { /** * Id of the break configuration */ id: string; /** * Status of the break configuration if enabled or not */ enabled?: boolean; }; path: { /** * Id of the break configuration */ id: string; }; query?: never; url: '/api/2026-07-01/resources/attendance/break_configurations/{id}'; }; export type PutApi20260701ResourcesAttendanceBreakConfigurationsByIdResponses = { /** * OK */ 200: AttendanceBreakConfiguration; }; export type PutApi20260701ResourcesAttendanceBreakConfigurationsByIdResponse = PutApi20260701ResourcesAttendanceBreakConfigurationsByIdResponses[keyof PutApi20260701ResourcesAttendanceBreakConfigurationsByIdResponses]; export type GetApi20260701ResourcesAttendanceEditTimesheetRequestsData = { body?: never; path?: never; query?: { /** * filter by ids. */ 'ids[]'?: Array; /** * filter by employee ids. */ 'employee_ids[]'?: Array; /** * filter by shift id. */ shift_id?: string; /** * filter by edit timesheet request status. */ pending?: boolean; /** * filter by edit timesheet requests that were created after or including this date. */ start_on?: string; /** * filter by edit timesheet requests that were created before or including this date. */ end_on?: string; }; url: '/api/2026-07-01/resources/attendance/edit_timesheet_requests'; }; export type GetApi20260701ResourcesAttendanceEditTimesheetRequestsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAttendanceEditTimesheetRequestsResponse = GetApi20260701ResourcesAttendanceEditTimesheetRequestsResponses[keyof GetApi20260701ResourcesAttendanceEditTimesheetRequestsResponses]; export type PostApi20260701ResourcesAttendanceEditTimesheetRequestsData = { body?: { employee_id: string; request_type: 'create_shift' | 'delete_shift' | 'update_shift'; reason?: string; date?: string; clock_in?: string; clock_out?: string; workable?: boolean; attendance_shift_id?: string; reference_date?: string; time_settings_break_configuration_id?: string; location_type?: 'office' | 'business_trip' | 'work_from_home'; observations?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/edit_timesheet_requests'; }; export type PostApi20260701ResourcesAttendanceEditTimesheetRequestsResponses = { /** * CREATED */ 201: AttendanceEditTimesheetRequest; }; export type PostApi20260701ResourcesAttendanceEditTimesheetRequestsResponse = PostApi20260701ResourcesAttendanceEditTimesheetRequestsResponses[keyof PostApi20260701ResourcesAttendanceEditTimesheetRequestsResponses]; export type DeleteApi20260701ResourcesAttendanceEditTimesheetRequestsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/attendance/edit_timesheet_requests/{id}'; }; export type DeleteApi20260701ResourcesAttendanceEditTimesheetRequestsByIdResponses = { /** * OK */ 200: AttendanceEditTimesheetRequest; }; export type DeleteApi20260701ResourcesAttendanceEditTimesheetRequestsByIdResponse = DeleteApi20260701ResourcesAttendanceEditTimesheetRequestsByIdResponses[keyof DeleteApi20260701ResourcesAttendanceEditTimesheetRequestsByIdResponses]; export type GetApi20260701ResourcesAttendanceEditTimesheetRequestsByIdData = { body?: never; path: { /** * filter by ids. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/attendance/edit_timesheet_requests/{id}'; }; export type GetApi20260701ResourcesAttendanceEditTimesheetRequestsByIdResponses = { /** * OK */ 200: AttendanceEditTimesheetRequest; }; export type GetApi20260701ResourcesAttendanceEditTimesheetRequestsByIdResponse = GetApi20260701ResourcesAttendanceEditTimesheetRequestsByIdResponses[keyof GetApi20260701ResourcesAttendanceEditTimesheetRequestsByIdResponses]; export type PutApi20260701ResourcesAttendanceEditTimesheetRequestsByIdData = { body?: { attendance_shift_id?: string; clock_in?: string; clock_out?: string; date?: string; reference_date?: string; employee_id: string; id: string; location_type?: 'office' | 'business_trip' | 'work_from_home'; observations?: string; reason?: string; time_settings_break_configuration_id?: string; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/attendance/edit_timesheet_requests/{id}'; }; export type PutApi20260701ResourcesAttendanceEditTimesheetRequestsByIdResponses = { /** * OK */ 200: AttendanceEditTimesheetRequest; }; export type PutApi20260701ResourcesAttendanceEditTimesheetRequestsByIdResponse = PutApi20260701ResourcesAttendanceEditTimesheetRequestsByIdResponses[keyof PutApi20260701ResourcesAttendanceEditTimesheetRequestsByIdResponses]; export type GetApi20260701ResourcesAttendanceEstimatedTimesData = { body?: never; path?: never; query: { start_on: string; end_on: string; 'employee_ids[]': Array; }; url: '/api/2026-07-01/resources/attendance/estimated_times'; }; export type GetApi20260701ResourcesAttendanceEstimatedTimesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAttendanceEstimatedTimesResponse = GetApi20260701ResourcesAttendanceEstimatedTimesResponses[keyof GetApi20260701ResourcesAttendanceEstimatedTimesResponses]; export type GetApi20260701ResourcesAttendanceOpenShiftsData = { body?: never; path?: never; query?: { /** * Employee ids to filter the open shifts by. */ 'employee_ids[]'?: Array; }; url: '/api/2026-07-01/resources/attendance/open_shifts'; }; export type GetApi20260701ResourcesAttendanceOpenShiftsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAttendanceOpenShiftsResponse = GetApi20260701ResourcesAttendanceOpenShiftsResponses[keyof GetApi20260701ResourcesAttendanceOpenShiftsResponses]; export type GetApi20260701ResourcesAttendanceOvertimeRequestsData = { body?: never; path?: never; query: { 'ids[]'?: Array; 'employee_ids[]'?: Array; start_on?: string; end_on?: string; status?: 'pending' | 'approved' | 'rejected' | 'none'; include_approval_flow: boolean; }; url: '/api/2026-07-01/resources/attendance/overtime_requests'; }; export type GetApi20260701ResourcesAttendanceOvertimeRequestsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAttendanceOvertimeRequestsResponse = GetApi20260701ResourcesAttendanceOvertimeRequestsResponses[keyof GetApi20260701ResourcesAttendanceOvertimeRequestsResponses]; export type PostApi20260701ResourcesAttendanceOvertimeRequestsData = { body?: { date: string; description?: string; hours_amount?: number; employee_id: string; author_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/overtime_requests'; }; export type PostApi20260701ResourcesAttendanceOvertimeRequestsResponses = { /** * CREATED */ 201: AttendanceOvertimeRequest; }; export type PostApi20260701ResourcesAttendanceOvertimeRequestsResponse = PostApi20260701ResourcesAttendanceOvertimeRequestsResponses[keyof PostApi20260701ResourcesAttendanceOvertimeRequestsResponses]; export type DeleteApi20260701ResourcesAttendanceOvertimeRequestsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/attendance/overtime_requests/{id}'; }; export type DeleteApi20260701ResourcesAttendanceOvertimeRequestsByIdResponses = { /** * OK */ 200: AttendanceOvertimeRequest; }; export type DeleteApi20260701ResourcesAttendanceOvertimeRequestsByIdResponse = DeleteApi20260701ResourcesAttendanceOvertimeRequestsByIdResponses[keyof DeleteApi20260701ResourcesAttendanceOvertimeRequestsByIdResponses]; export type GetApi20260701ResourcesAttendanceOvertimeRequestsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/attendance/overtime_requests/{id}'; }; export type GetApi20260701ResourcesAttendanceOvertimeRequestsByIdResponses = { /** * OK */ 200: AttendanceOvertimeRequest; }; export type GetApi20260701ResourcesAttendanceOvertimeRequestsByIdResponse = GetApi20260701ResourcesAttendanceOvertimeRequestsByIdResponses[keyof GetApi20260701ResourcesAttendanceOvertimeRequestsByIdResponses]; export type PutApi20260701ResourcesAttendanceOvertimeRequestsByIdData = { body?: { id: string; date?: string; description?: string; hours_amount?: number; reason?: string; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/attendance/overtime_requests/{id}'; }; export type PutApi20260701ResourcesAttendanceOvertimeRequestsByIdResponses = { /** * OK */ 200: AttendanceOvertimeRequest; }; export type PutApi20260701ResourcesAttendanceOvertimeRequestsByIdResponse = PutApi20260701ResourcesAttendanceOvertimeRequestsByIdResponses[keyof PutApi20260701ResourcesAttendanceOvertimeRequestsByIdResponses]; export type PostApi20260701ResourcesAttendanceOvertimeRequestsApproveData = { body?: { id: string; reason?: string; approver_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/overtime_requests/approve'; }; export type PostApi20260701ResourcesAttendanceOvertimeRequestsApproveResponses = { /** * OK */ 200: AttendanceOvertimeRequest; }; export type PostApi20260701ResourcesAttendanceOvertimeRequestsApproveResponse = PostApi20260701ResourcesAttendanceOvertimeRequestsApproveResponses[keyof PostApi20260701ResourcesAttendanceOvertimeRequestsApproveResponses]; export type PostApi20260701ResourcesAttendanceOvertimeRequestsRejectData = { body?: { id: string; reason: string; approver_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/overtime_requests/reject'; }; export type PostApi20260701ResourcesAttendanceOvertimeRequestsRejectResponses = { /** * OK */ 200: AttendanceOvertimeRequest; }; export type PostApi20260701ResourcesAttendanceOvertimeRequestsRejectResponse = PostApi20260701ResourcesAttendanceOvertimeRequestsRejectResponses[keyof PostApi20260701ResourcesAttendanceOvertimeRequestsRejectResponses]; export type GetApi20260701ResourcesAttendanceReviewsData = { body?: never; path?: never; query: { /** * Employee identifiers */ 'employee_ids[]': Array; /** * Start date of the reviews */ start_on: string; /** * End date of the reviews */ end_on: string; /** * Reviewed at date(ISO 8601 format string) */ reviewed_at: string; }; url: '/api/2026-07-01/resources/attendance/reviews'; }; export type GetApi20260701ResourcesAttendanceReviewsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAttendanceReviewsResponse = GetApi20260701ResourcesAttendanceReviewsResponses[keyof GetApi20260701ResourcesAttendanceReviewsResponses]; export type PostApi20260701ResourcesAttendanceReviewsBulkCreateData = { body?: { /** * Employee identifiers to review */ employee_ids: Array; /** * Start date of the reviews */ start_on: string; /** * End date of the reviews */ end_on: string; /** * Reviewed by employee identifier */ reviewed_by: number; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/reviews/bulk_create'; }; export type PostApi20260701ResourcesAttendanceReviewsBulkCreateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesAttendanceReviewsBulkCreateResponse = PostApi20260701ResourcesAttendanceReviewsBulkCreateResponses[keyof PostApi20260701ResourcesAttendanceReviewsBulkCreateResponses]; export type PostApi20260701ResourcesAttendanceReviewsBulkDestroyData = { body?: { /** * Employee identifiers */ employee_ids: Array; /** * Start date of the reviews to delete */ start_on: string; /** * End date of the reviews to delete */ end_on: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/reviews/bulk_destroy'; }; export type PostApi20260701ResourcesAttendanceReviewsBulkDestroyResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesAttendanceReviewsBulkDestroyResponse = PostApi20260701ResourcesAttendanceReviewsBulkDestroyResponses[keyof PostApi20260701ResourcesAttendanceReviewsBulkDestroyResponses]; export type GetApi20260701ResourcesAttendanceShiftsData = { body?: never; path?: never; query: { /** * filter by employee ids. */ 'employee_ids[]'?: Array; /** * filter by shift that starts after or including this date. */ start_on?: string; /** * filter by shift that ends before or including this date. */ end_on?: string; /** * filter by ids. */ 'ids[]'?: Array; /** * Flag to filter half day shifts */ half_day: boolean; /** * Flag to filter shifts in workable days */ workable?: boolean; /** * Flag to filter only the latest shift for each employee */ latest_shift?: boolean; /** * Flag to sort by created_at asc */ sort_created_at_asc: boolean; /** * Flag to include breaks with time configuration */ breaks_with_time_configuration?: boolean; /** * Filter by last working shift */ last_working_shift?: boolean; /** * Filter shifts by the date they were last updated */ updated_at?: string; }; url: '/api/2026-07-01/resources/attendance/shifts'; }; export type GetApi20260701ResourcesAttendanceShiftsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAttendanceShiftsResponse = GetApi20260701ResourcesAttendanceShiftsResponses[keyof GetApi20260701ResourcesAttendanceShiftsResponses]; export type PostApi20260701ResourcesAttendanceShiftsData = { body?: { /** * Id of the employee related */ employee_id?: string; /** * Date of the shift */ date: string; /** * Reference date of the shift */ reference_date?: string; /** * number of days of the shift */ day?: number; /** * Time of the clock in */ clock_in?: string; /** * Time of the clock out */ clock_out?: string; /** * Comments added to the shift */ observations?: string; /** * Boolean that indicates if the shift is a half day */ half_day?: string; /** * Boolean that indicates if the shift is workable */ workable?: boolean; /** * Type of the location */ location_type?: 'office' | 'business_trip' | 'work_from_home'; /** * Source of the shift creation */ source?: 'desktop' | 'mobile' | 'face_recognition' | 'qr_code' | 'mobile_geolocation' | 'shared_device' | 'api' | 'system'; /** * Id of the break configuration */ time_settings_break_configuration_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/shifts'; }; export type PostApi20260701ResourcesAttendanceShiftsResponses = { /** * CREATED */ 201: AttendanceShift; }; export type PostApi20260701ResourcesAttendanceShiftsResponse = PostApi20260701ResourcesAttendanceShiftsResponses[keyof PostApi20260701ResourcesAttendanceShiftsResponses]; export type DeleteApi20260701ResourcesAttendanceShiftsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/attendance/shifts/{id}'; }; export type DeleteApi20260701ResourcesAttendanceShiftsByIdResponses = { /** * OK */ 200: AttendanceShift; }; export type DeleteApi20260701ResourcesAttendanceShiftsByIdResponse = DeleteApi20260701ResourcesAttendanceShiftsByIdResponses[keyof DeleteApi20260701ResourcesAttendanceShiftsByIdResponses]; export type GetApi20260701ResourcesAttendanceShiftsByIdData = { body?: never; path: { /** * filter by ids. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/attendance/shifts/{id}'; }; export type GetApi20260701ResourcesAttendanceShiftsByIdResponses = { /** * OK */ 200: AttendanceShift; }; export type GetApi20260701ResourcesAttendanceShiftsByIdResponse = GetApi20260701ResourcesAttendanceShiftsByIdResponses[keyof GetApi20260701ResourcesAttendanceShiftsByIdResponses]; export type PutApi20260701ResourcesAttendanceShiftsByIdData = { body?: { /** * Id of the shift */ id: string; /** * Time of the clock in */ clock_in?: string; /** * Time of the clock out */ clock_out?: string; /** * Date of the shift */ date?: string; /** * reference date of the shift */ reference_date?: string; /** * Comments added to the shift */ observations?: string; /** * Type of the location */ location_type?: 'office' | 'business_trip' | 'work_from_home'; /** * Id of the location related */ workplace_id?: string; /** * Id of the break configuration */ time_settings_break_configuration_id?: string; }; path: { /** * Id of the shift */ id: string; }; query?: never; url: '/api/2026-07-01/resources/attendance/shifts/{id}'; }; export type PutApi20260701ResourcesAttendanceShiftsByIdResponses = { /** * OK */ 200: AttendanceShift; }; export type PutApi20260701ResourcesAttendanceShiftsByIdResponse = PutApi20260701ResourcesAttendanceShiftsByIdResponses[keyof PutApi20260701ResourcesAttendanceShiftsByIdResponses]; export type PostApi20260701ResourcesAttendanceShiftsAutofillData = { body?: { /** * Ids of the employees to be autofilled */ employee_ids: Array; /** * Date to start autofilling */ start_on: string; /** * Date to end autofilling */ end_on: string; /** * Source of the shift creation */ source?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/shifts/autofill'; }; export type PostApi20260701ResourcesAttendanceShiftsAutofillResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesAttendanceShiftsAutofillResponse = PostApi20260701ResourcesAttendanceShiftsAutofillResponses[keyof PostApi20260701ResourcesAttendanceShiftsAutofillResponses]; export type PostApi20260701ResourcesAttendanceShiftsBreakEndData = { body?: { /** * Employee id of the break */ employee_id?: string; /** * Current time of the break */ now: string; /** * Observations of the break */ observations?: string; project_worker_id?: string; subproject_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/shifts/break_end'; }; export type PostApi20260701ResourcesAttendanceShiftsBreakEndResponses = { /** * OK */ 200: AttendanceShift; }; export type PostApi20260701ResourcesAttendanceShiftsBreakEndResponse = PostApi20260701ResourcesAttendanceShiftsBreakEndResponses[keyof PostApi20260701ResourcesAttendanceShiftsBreakEndResponses]; export type PostApi20260701ResourcesAttendanceShiftsBreakStartData = { body?: { /** * Employee id of the break */ employee_id?: string; /** * Current time of the break */ now: string; /** * Observations of the break */ observations?: string; /** * Time settings configuration id of the break */ time_settings_break_configuration_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/shifts/break_start'; }; export type PostApi20260701ResourcesAttendanceShiftsBreakStartResponses = { /** * OK */ 200: AttendanceShift; }; export type PostApi20260701ResourcesAttendanceShiftsBreakStartResponse = PostApi20260701ResourcesAttendanceShiftsBreakStartResponses[keyof PostApi20260701ResourcesAttendanceShiftsBreakStartResponses]; export type PostApi20260701ResourcesAttendanceShiftsClockInData = { body?: { /** * Employee identifier */ employee_id?: string; /** * Clock in time */ now: string; /** * Latitude from where user clocked in */ latitude?: number; /** * Longitude from where user clocked in */ longitude?: number; /** * Location identifier */ accuracy?: number; /** * Notes on the shift record */ observations?: string; /** * Place where user has clocked in */ location_type?: 'office' | 'business_trip' | 'work_from_home'; /** * Location identifier */ workplace_id?: string; /** * Break configuration identifier */ time_settings_break_configuration_id?: string; /** * Project worker identifier */ project_worker_id?: string; /** * Subproject identifier */ subproject_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/shifts/clock_in'; }; export type PostApi20260701ResourcesAttendanceShiftsClockInResponses = { /** * OK */ 200: AttendanceShift; }; export type PostApi20260701ResourcesAttendanceShiftsClockInResponse = PostApi20260701ResourcesAttendanceShiftsClockInResponses[keyof PostApi20260701ResourcesAttendanceShiftsClockInResponses]; export type PostApi20260701ResourcesAttendanceShiftsClockOutData = { body?: { /** * Employee identifier */ employee_id?: string; /** * Clock out time */ now: string; /** * Latitude from where user clocked in */ latitude?: number; /** * Longitude from where user clocked in */ longitude?: number; /** * Location accuracy */ accuracy?: number; /** * Notes on the shift record */ observations?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/shifts/clock_out'; }; export type PostApi20260701ResourcesAttendanceShiftsClockOutResponses = { /** * OK */ 200: AttendanceShift; }; export type PostApi20260701ResourcesAttendanceShiftsClockOutResponse = PostApi20260701ResourcesAttendanceShiftsClockOutResponses[keyof PostApi20260701ResourcesAttendanceShiftsClockOutResponses]; export type PostApi20260701ResourcesAttendanceShiftsToggleClockData = { body?: { /** * Employee identifier */ employee_id: string; /** * Clock in or out Timestamp */ clock_time: string; /** * Place where user has clocked in */ location_type?: 'office' | 'business_trip' | 'work_from_home'; /** * Notes on the shift record */ observations?: string; /** * Specific break configuration id when toggling the shift into a break and out of a break */ time_settings_break_configuration_id?: string; /** * Project identifier to associate the shift with a project. The employee must be assigned to the project, otherwise a 404 error is returned. Only used on clock-in; on clock-out this field is ignored, but the project association is preserved on the shift. Breaks are not associated with any project. */ project_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/attendance/shifts/toggle_clock'; }; export type PostApi20260701ResourcesAttendanceShiftsToggleClockResponses = { /** * OK */ 200: AttendanceShift; }; export type PostApi20260701ResourcesAttendanceShiftsToggleClockResponse = PostApi20260701ResourcesAttendanceShiftsToggleClockResponses[keyof PostApi20260701ResourcesAttendanceShiftsToggleClockResponses]; export type GetApi20260701ResourcesAttendanceWorkedTimesData = { body?: never; path?: never; query: { start_on?: string; end_on?: string; 'employee_ids[]'?: Array; include_time_range_category: boolean; include_non_attendable_employees: boolean; }; url: '/api/2026-07-01/resources/attendance/worked_times'; }; export type GetApi20260701ResourcesAttendanceWorkedTimesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesAttendanceWorkedTimesResponse = GetApi20260701ResourcesAttendanceWorkedTimesResponses[keyof GetApi20260701ResourcesAttendanceWorkedTimesResponses]; export type GetApi20260701ResourcesBankingBankAccountsData = { body?: never; path?: never; query?: { /** * An array of bank account IDs to filter by. */ 'ids[]'?: Array; /** * A currency to filter by. */ currency?: string; /** * An array of legal entity IDs to filter by. */ 'legal_entity_ids[]'?: Array; /** * Filter by accounts updated from a specific date. */ updated_from?: string; }; url: '/api/2026-07-01/resources/banking/bank_accounts'; }; export type GetApi20260701ResourcesBankingBankAccountsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesBankingBankAccountsResponse = GetApi20260701ResourcesBankingBankAccountsResponses[keyof GetApi20260701ResourcesBankingBankAccountsResponses]; export type GetApi20260701ResourcesBankingBankAccountsByIdData = { body?: never; path: { /** * An array of bank account IDs to filter by. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/banking/bank_accounts/{id}'; }; export type GetApi20260701ResourcesBankingBankAccountsByIdResponses = { /** * OK */ 200: BankingBankAccount; }; export type GetApi20260701ResourcesBankingBankAccountsByIdResponse = GetApi20260701ResourcesBankingBankAccountsByIdResponses[keyof GetApi20260701ResourcesBankingBankAccountsByIdResponses]; export type PostApi20260701ResourcesBankingBankAccountsCreateManualData = { body?: { /** * Factorial unique identifier of the legal entity. */ legal_entity_id: string; /** * Currency of bank account. */ currency: string; /** * Account number. */ account_number: string; /** * Account number type. */ account_number_type: 'iban' | 'sort_code_and_account_number' | 'routing_number_and_account_number' | 'clabe' | 'bank_name_and_account_number' | 'other'; /** * Alias for the bank account. */ account_alias?: string; /** * Factorial unique identifier of the ledger account. */ ledger_account_id?: string; /** * An array of bank account membership employee IDs. */ bank_account_membership_employee_ids?: Array; /** * External ID for the bank account. */ external_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/banking/bank_accounts/create_manual'; }; export type PostApi20260701ResourcesBankingBankAccountsCreateManualResponses = { /** * OK */ 200: BankingBankAccount; }; export type PostApi20260701ResourcesBankingBankAccountsCreateManualResponse = PostApi20260701ResourcesBankingBankAccountsCreateManualResponses[keyof PostApi20260701ResourcesBankingBankAccountsCreateManualResponses]; export type GetApi20260701ResourcesBankingCardPaymentsData = { body?: never; path?: never; query?: { /** * An array of card payment IDs to filter by. */ 'ids[]'?: Array; /** * An array of banking accounts ID to filter */ 'account_ids[]'?: Array; /** * The status of the card payment. */ status?: 'pending' | 'closed' | 'reversed' | 'rejected'; /** * Date from which the card payment was created in factorial. */ from?: string; /** * Date until which the card payment was created in factorial. */ to?: string; }; url: '/api/2026-07-01/resources/banking/card_payments'; }; export type GetApi20260701ResourcesBankingCardPaymentsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesBankingCardPaymentsResponse = GetApi20260701ResourcesBankingCardPaymentsResponses[keyof GetApi20260701ResourcesBankingCardPaymentsResponses]; export type GetApi20260701ResourcesBankingCardPaymentsByIdData = { body?: never; path: { /** * An array of card payment IDs to filter by. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/banking/card_payments/{id}'; }; export type GetApi20260701ResourcesBankingCardPaymentsByIdResponses = { /** * OK */ 200: BankingCardPayment; }; export type GetApi20260701ResourcesBankingCardPaymentsByIdResponse = GetApi20260701ResourcesBankingCardPaymentsByIdResponses[keyof GetApi20260701ResourcesBankingCardPaymentsByIdResponses]; export type GetApi20260701ResourcesBankingTransactionsData = { body?: never; path?: never; query?: { /** * An array of transaction IDs to filter by. */ 'ids[]'?: Array; /** * An array of Factorial Banking Bank Account IDs to filter by. */ 'bank_account_ids[]'?: Array; /** * An array of Factorial Card Payment IDs to filter by. */ 'card_payment_ids[]'?: Array; /** * Date from which the transactions should be fetched. */ from?: string; /** * Date until which the transactions should be fetched. */ to?: string; /** * Filter transactions updated from a specific date. */ updated_from?: string; }; url: '/api/2026-07-01/resources/banking/transactions'; }; export type GetApi20260701ResourcesBankingTransactionsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesBankingTransactionsResponse = GetApi20260701ResourcesBankingTransactionsResponses[keyof GetApi20260701ResourcesBankingTransactionsResponses]; export type GetApi20260701ResourcesBankingTransactionsByIdData = { body?: never; path: { /** * An array of transaction IDs to filter by. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/banking/transactions/{id}'; }; export type GetApi20260701ResourcesBankingTransactionsByIdResponses = { /** * OK */ 200: BankingTransaction; }; export type GetApi20260701ResourcesBankingTransactionsByIdResponse = GetApi20260701ResourcesBankingTransactionsByIdResponses[keyof GetApi20260701ResourcesBankingTransactionsByIdResponses]; export type GetApi20260701ResourcesBookkeepersManagementIncidencesData = { body?: never; path?: never; query?: { /** * A list of incidence identifiers. */ 'ids[]'?: Array; /** * A list of legal entities identifiers. */ 'legal_entities_ids[]'?: Array; /** * A list of statuses. */ 'status[]'?: Array; /** * Get the incidence (aka employee update) that start safter this date (included). */ starts_on?: string; /** * Get the incidence (aka employee update) that ends before this date (included). */ ends_on?: string; /** * A list of types. It can be any of the following address, bank, cost_center, contract, gender, hiring, id, irpf, legal_entity, manual_incidence, name, nationality, parental, phone_number, sick, tax_id, termination, workplace */ 'type[]'?: Array; /** * Field to sort by. It can be any of the following employee_first_name, employee_last_name, type, legal_entity_name, effective_date, status. */ sort_by?: string; /** * Sort direction. It can be 'asc' or 'desc'. */ direction?: string; /** * Filter the result by the name of the employee. */ search?: string; /** * A list of employee identifiers. */ 'employee_ids[]'?: Array; /** * Boolean that filters incidences that does or does not contains messages. */ contains_message?: boolean; /** * Filter by message sender. */ message_from?: string; /** * A list of custom leave names. */ 'custom_leave_name[]'?: Array; }; url: '/api/2026-07-01/resources/bookkeepers_management/incidences'; }; export type GetApi20260701ResourcesBookkeepersManagementIncidencesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesBookkeepersManagementIncidencesResponse = GetApi20260701ResourcesBookkeepersManagementIncidencesResponses[keyof GetApi20260701ResourcesBookkeepersManagementIncidencesResponses]; export type GetApi20260701ResourcesBookkeepersManagementIncidencesByIdData = { body?: never; path: { /** * A list of incidence identifiers. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/bookkeepers_management/incidences/{id}'; }; export type GetApi20260701ResourcesBookkeepersManagementIncidencesByIdResponses = { /** * OK */ 200: BookkeepersManagementIncidence; }; export type GetApi20260701ResourcesBookkeepersManagementIncidencesByIdResponse = GetApi20260701ResourcesBookkeepersManagementIncidencesByIdResponses[keyof GetApi20260701ResourcesBookkeepersManagementIncidencesByIdResponses]; export type PutApi20260701ResourcesBookkeepersManagementIncidencesByIdData = { body?: { /** * incidence (aka employee update) identifier to update. */ id: string; /** * status of the incidence (aka employee update). It can be any of 'in-preparation', 'to-do', 'doing', 'done', 'discarded' */ status?: string; /** * Boolean that indicates is the incidence (aka employee update) has message */ has_message?: boolean; message_from?: string; /** * Date in which the incidence (aka employee update) was read */ read_at?: string; /** * Boolean that indicate if the incidence is read */ mark_as_read?: boolean; }; path: { /** * incidence (aka employee update) identifier to update. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/bookkeepers_management/incidences/{id}'; }; export type PutApi20260701ResourcesBookkeepersManagementIncidencesByIdResponses = { /** * OK */ 200: BookkeepersManagementIncidence; }; export type PutApi20260701ResourcesBookkeepersManagementIncidencesByIdResponse = PutApi20260701ResourcesBookkeepersManagementIncidencesByIdResponses[keyof PutApi20260701ResourcesBookkeepersManagementIncidencesByIdResponses]; export type GetApi20260701ResourcesCompaniesLegalEntitiesData = { body?: never; path?: never; query?: { /** * identifier of the legal entity */ 'ids[]'?: Array; /** * identifier of the employees asigned to the legal entity */ 'employees_ids[]'?: Array; /** * identifier of the companies to which the legal entity belongs */ 'companies_ids[]'?: Array; /** * country code of the legal entity */ 'country_ids[]'?: Array; }; url: '/api/2026-07-01/resources/companies/legal_entities'; }; export type GetApi20260701ResourcesCompaniesLegalEntitiesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesCompaniesLegalEntitiesResponse = GetApi20260701ResourcesCompaniesLegalEntitiesResponses[keyof GetApi20260701ResourcesCompaniesLegalEntitiesResponses]; export type PostApi20260701ResourcesCompaniesLegalEntitiesData = { body?: { /** * company identifier */ company_id: string; /** * country code of the legal entity */ country: string; /** * Legal name of the legal entity */ legal_name: string; /** * The currency code in ISO 4217 format */ currency: string; /** * Tax identification number */ tin?: string; /** * City of the legal entity */ city?: string; /** * State of the legal entity */ state?: string; /** * Postal code of the legal entity */ postal_code?: string; /** * Address line 1 of the legal entity */ address_line_1?: string; /** * Address line 2 of the legal entity */ address_line_2?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/companies/legal_entities'; }; export type PostApi20260701ResourcesCompaniesLegalEntitiesResponses = { /** * CREATED */ 201: CompaniesLegalEntity; }; export type PostApi20260701ResourcesCompaniesLegalEntitiesResponse = PostApi20260701ResourcesCompaniesLegalEntitiesResponses[keyof PostApi20260701ResourcesCompaniesLegalEntitiesResponses]; export type GetApi20260701ResourcesCompaniesLegalEntitiesByIdData = { body?: never; path: { /** * identifier of the legal entity */ id: string; }; query?: never; url: '/api/2026-07-01/resources/companies/legal_entities/{id}'; }; export type GetApi20260701ResourcesCompaniesLegalEntitiesByIdResponses = { /** * OK */ 200: CompaniesLegalEntity; }; export type GetApi20260701ResourcesCompaniesLegalEntitiesByIdResponse = GetApi20260701ResourcesCompaniesLegalEntitiesByIdResponses[keyof GetApi20260701ResourcesCompaniesLegalEntitiesByIdResponses]; export type GetApi20260701ResourcesCompensationsConceptsData = { body?: never; path?: never; query?: { /** * The ids of the concepts */ 'ids[]'?: Array; /** * The categories of the concept */ 'categories[]'?: 'earnings_fixed_salary' | 'earnings_variable' | 'earnings_benefits_in_kind' | 'earnings_others' | 'deductions' | 'company_contribution' | 'summarized_values'; /** * Whether to return only active concepts */ with_active_status?: boolean; }; url: '/api/2026-07-01/resources/compensations/concepts'; }; export type GetApi20260701ResourcesCompensationsConceptsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesCompensationsConceptsResponse = GetApi20260701ResourcesCompensationsConceptsResponses[keyof GetApi20260701ResourcesCompensationsConceptsResponses]; export type GetApi20260701ResourcesCompensationsConceptsByIdData = { body?: never; path: { /** * The ids of the concepts */ id: string; }; query?: never; url: '/api/2026-07-01/resources/compensations/concepts/{id}'; }; export type GetApi20260701ResourcesCompensationsConceptsByIdResponses = { /** * OK */ 200: CompensationsConcept; }; export type GetApi20260701ResourcesCompensationsConceptsByIdResponse = GetApi20260701ResourcesCompensationsConceptsByIdResponses[keyof GetApi20260701ResourcesCompensationsConceptsByIdResponses]; export type GetApi20260701ResourcesContractsCompensationsData = { body?: never; path?: never; query?: { 'ids[]'?: Array; 'contract_version_ids[]'?: Array; }; url: '/api/2026-07-01/resources/contracts/compensations'; }; export type GetApi20260701ResourcesContractsCompensationsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsCompensationsResponse = GetApi20260701ResourcesContractsCompensationsResponses[keyof GetApi20260701ResourcesContractsCompensationsResponses]; export type PostApi20260701ResourcesContractsCompensationsData = { body?: { contract_version_id: string; contracts_taxonomy_id: string; description?: string; compensation_type?: string; amount?: number; unit?: string; sync_with_supplements?: boolean; payroll_policy_id?: string; recurrence_count?: number; starts_on?: string; recurrence?: string; first_payment_on?: string; calculation?: string; time_condition?: 'full_day' | 'half_day' | 'custom'; minimum_amount_of_hours?: number; minimum_amount_of_hours_in_cents?: number; }; path?: never; query?: never; url: '/api/2026-07-01/resources/contracts/compensations'; }; export type PostApi20260701ResourcesContractsCompensationsResponses = { /** * CREATED */ 201: ContractsCompensation; }; export type PostApi20260701ResourcesContractsCompensationsResponse = PostApi20260701ResourcesContractsCompensationsResponses[keyof PostApi20260701ResourcesContractsCompensationsResponses]; export type DeleteApi20260701ResourcesContractsCompensationsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/compensations/{id}'; }; export type DeleteApi20260701ResourcesContractsCompensationsByIdResponses = { /** * OK */ 200: ContractsCompensation; }; export type DeleteApi20260701ResourcesContractsCompensationsByIdResponse = DeleteApi20260701ResourcesContractsCompensationsByIdResponses[keyof DeleteApi20260701ResourcesContractsCompensationsByIdResponses]; export type GetApi20260701ResourcesContractsCompensationsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/compensations/{id}'; }; export type GetApi20260701ResourcesContractsCompensationsByIdResponses = { /** * OK */ 200: ContractsCompensation; }; export type GetApi20260701ResourcesContractsCompensationsByIdResponse = GetApi20260701ResourcesContractsCompensationsByIdResponses[keyof GetApi20260701ResourcesContractsCompensationsByIdResponses]; export type PutApi20260701ResourcesContractsCompensationsByIdData = { body?: { id?: string; contracts_taxonomy_id: string; description?: string; compensation_type?: string; amount?: number; unit?: string; sync_with_supplements?: boolean; payroll_policy_id?: string; recurrence_count?: number; starts_on?: string; recurrence?: string; first_payment_on?: string; calculation?: string; time_condition?: 'full_day' | 'half_day' | 'custom'; minimum_amount_of_hours?: number; minimum_amount_of_hours_in_cents?: number; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/compensations/{id}'; }; export type PutApi20260701ResourcesContractsCompensationsByIdResponses = { /** * OK */ 200: ContractsCompensation; }; export type PutApi20260701ResourcesContractsCompensationsByIdResponse = PutApi20260701ResourcesContractsCompensationsByIdResponses[keyof PutApi20260701ResourcesContractsCompensationsByIdResponses]; export type GetApi20260701ResourcesContractsContractTemplatesData = { body?: never; path?: never; query?: { /** * Filter by contract template IDs */ 'ids[]'?: Array; /** * Filter by company ID */ company_id?: string; /** * Filter by contract version type (e.g., es for Spain, fr for France) */ contract_version_type?: string; }; url: '/api/2026-07-01/resources/contracts/contract_templates'; }; export type GetApi20260701ResourcesContractsContractTemplatesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsContractTemplatesResponse = GetApi20260701ResourcesContractsContractTemplatesResponses[keyof GetApi20260701ResourcesContractsContractTemplatesResponses]; export type GetApi20260701ResourcesContractsContractTemplatesByIdData = { body?: never; path: { /** * Filter by contract template IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/contract_templates/{id}'; }; export type GetApi20260701ResourcesContractsContractTemplatesByIdResponses = { /** * OK */ 200: ContractsContractTemplate; }; export type GetApi20260701ResourcesContractsContractTemplatesByIdResponse = GetApi20260701ResourcesContractsContractTemplatesByIdResponses[keyof GetApi20260701ResourcesContractsContractTemplatesByIdResponses]; export type GetApi20260701ResourcesContractsContractVersionsData = { body?: never; path?: never; query: { /** * list of contract version identifiers. */ 'ids[]'?: Array; /** * list of employee identifiers, refers to /employees/employees endpoint. */ 'employee_ids[]'?: Array; /** * filters contracts of employees with effective_on date less or equal than the given date. */ date?: string; /** * the uuid of nodes in the job catalog tree. As only level nodes are accepted and persisted, so filtering with other node types will return no results. Refer to job_catalog/tree_nodes endpoint. */ 'job_catalog_tree_node_uuids[]': Array; /** * Filter contract versions updated on or after this timestamp (ISO 8601). * */ updated_at_gteq?: string; /** * Filter contract versions updated on or before this timestamp (ISO 8601). * */ updated_at_lteq?: string; }; url: '/api/2026-07-01/resources/contracts/contract_versions'; }; export type GetApi20260701ResourcesContractsContractVersionsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsContractVersionsResponse = GetApi20260701ResourcesContractsContractVersionsResponses[keyof GetApi20260701ResourcesContractsContractVersionsResponses]; export type PostApi20260701ResourcesContractsContractVersionsData = { body?: { /** * employee identifier, refers to /employees/employees endpoint. */ employee_id: string; /** * the day the specific contract starts, in case of hiring the same than starts_on. */ effective_on: string; /** * the day the employee is hired. */ starts_on: string; /** * the day the employee is terminated. */ ends_on?: string; /** * the frequency of the working hours. */ working_hours_frequency?: string; /** * the days of the week the employee works. */ working_week_days?: string; /** * the amount of hours the employee works. */ working_hours?: number; /** * the maximum amount of hours the employee can work in a year. */ max_legal_yearly_hours?: number; /** * the maximum amount of hours the employee can work in a week. */ maximum_weekly_hours?: number; /** * the minimum amount of minutes the employee must rest between working periods. */ min_rest_minutes_between_days?: number; /** * the maximum amount of minutes the employee can work in a day. */ max_work_minutes_per_day?: number; /** * the maximum amount of days the employee can work in a row. */ max_work_days_in_row?: number; /** * the minimum amount of hours the employee must rest in a row. */ min_rest_hours_in_row?: number; /** * the frequency of the salary payment. When adding a salary to a contract that previously had none, both salary_amount and salary_frequency must be provided together. */ salary_frequency?: string; /** * the amount of money the employee earns in cents. */ salary_amount?: number; /** * job title of the employee. */ job_title?: string; /** * a flag that indicates if the employee has a trial period. */ has_trial_period?: boolean; /** * when the trial period ends. */ trial_period_ends_on?: string; /** * Working time percentage in cents (e.g., when an employee is working part-time, the percentage of full-time hours they are working). */ working_time_percentage_in_cents?: number; /** * Allows companies to define how annual working hours are spread across the year to ensure compliance with legal limits. */ annual_working_time_distribution?: 'limit_workdays' | 'limit_daily_hours'; /** * wether to copy the current contract version. */ copy_current_contract_version?: boolean; /** * Defines whether a bank holiday should be considered as a workable or non-workable day. */ bank_holiday_treatment?: 'workable' | 'non_workable'; /** * the uuid node in the job catalog tree. For now it only supports level nodes. From this point in the job catalog tree you can get the full ancestor path to the root node including the role. Refer to job_catalog/tree_nodes endpoint. */ job_catalog_tree_node_uuid?: string; /** * Identifier for the German base salary type. References a payroll concept available via the /payroll/concepts endpoint. */ de_base_salary_type_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/contracts/contract_versions'; }; export type PostApi20260701ResourcesContractsContractVersionsResponses = { /** * CREATED */ 201: ContractsContractVersion; }; export type PostApi20260701ResourcesContractsContractVersionsResponse = PostApi20260701ResourcesContractsContractVersionsResponses[keyof PostApi20260701ResourcesContractsContractVersionsResponses]; export type DeleteApi20260701ResourcesContractsContractVersionsByIdData = { body?: never; path: { /** * contract version identifier. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/contract_versions/{id}'; }; export type DeleteApi20260701ResourcesContractsContractVersionsByIdResponses = { /** * OK */ 200: ContractsContractVersion; }; export type DeleteApi20260701ResourcesContractsContractVersionsByIdResponse = DeleteApi20260701ResourcesContractsContractVersionsByIdResponses[keyof DeleteApi20260701ResourcesContractsContractVersionsByIdResponses]; export type GetApi20260701ResourcesContractsContractVersionsByIdData = { body?: never; path: { /** * list of contract version identifiers. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/contract_versions/{id}'; }; export type GetApi20260701ResourcesContractsContractVersionsByIdResponses = { /** * OK */ 200: ContractsContractVersion; }; export type GetApi20260701ResourcesContractsContractVersionsByIdResponse = GetApi20260701ResourcesContractsContractVersionsByIdResponses[keyof GetApi20260701ResourcesContractsContractVersionsByIdResponses]; export type PutApi20260701ResourcesContractsContractVersionsByIdData = { body?: { /** * contract version identifier. */ id: string; /** * employee identifier, refers to /employees/employees endpoint. */ employee_id?: string; /** * the day the specific contract starts, in case of hiring the same than starts_on. */ effective_on?: string; /** * the day the employee is hired. */ starts_on?: string; /** * the day the employee is terminated. */ ends_on?: string; /** * the frequency of the working hours. */ working_hours_frequency?: string; /** * the days of the week the employee works. */ working_week_days?: string; /** * the amount of hours the employee works. */ working_hours?: number; /** * the frequency of the salary payment. When adding a salary to a contract that previously had none, both salary_amount and salary_frequency must be provided together. */ salary_frequency?: string; /** * the amount of money the employee earns. When adding a salary to a contract that previously had none, both salary_amount and salary_frequency must be provided together. */ salary_amount?: number; /** * job title of the employee. */ job_title?: string; /** * the uuid node in the job catalog tree. For now it only supports level nodes. From this point in the job catalog tree you can get the full ancestor path to the root node including the role. Refer to job_catalog/tree_nodes endpoint. */ job_catalog_tree_node_uuid?: string; /** * cotization group identifier. */ es_cotization_group?: number; /** * professional category identifier. */ es_professional_category_id?: string; /** * education level identifier. */ es_education_level_id?: string; /** * contract type identifier. */ es_contract_type_id?: string; /** * working day type identifier. */ es_working_day_type_id?: string; /** * a flag that indicates if the employee has a trial period. */ has_trial_period?: boolean; /** * when the trial period ends. */ trial_period_ends_on?: string; /** * Defines whether a bank holiday should be considered as a workable or non-workable day. */ bank_holiday_treatment?: 'workable' | 'non_workable'; /** * Working time percentage in cents (e.g., when an employee is working part-time, the percentage of full-time hours they are working). */ working_time_percentage_in_cents?: number; /** * Allows companies to define how annual working hours are spread across the year to ensure compliance with legal limits. */ annual_working_time_distribution?: 'limit_workdays' | 'limit_daily_hours'; /** * Identifier for the German base salary type. References a payroll concept available via the /payroll/concepts endpoint. */ de_base_salary_type_id?: string; }; path: { /** * contract version identifier. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/contract_versions/{id}'; }; export type PutApi20260701ResourcesContractsContractVersionsByIdResponses = { /** * OK */ 200: ContractsContractVersion; }; export type PutApi20260701ResourcesContractsContractVersionsByIdResponse = PutApi20260701ResourcesContractsContractVersionsByIdResponses[keyof PutApi20260701ResourcesContractsContractVersionsByIdResponses]; export type GetApi20260701ResourcesContractsContractVersionHistoriesData = { body?: never; path?: never; query?: { /** * the ids of the contract versions. */ 'ids[]'?: Array; /** * the ids of the contract versions. */ 'contract_version_ids[]'?: Array; /** * the ids of the employees. */ 'employee_ids[]'?: Array; /** * the date to filter the contract version histories. */ current_on?: string; /** * the date to filter the contract version histories. */ changes_lteq?: string; /** * the date to filter the contract version histories. */ changes_gteq?: string; }; url: '/api/2026-07-01/resources/contracts/contract_version_histories'; }; export type GetApi20260701ResourcesContractsContractVersionHistoriesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsContractVersionHistoriesResponse = GetApi20260701ResourcesContractsContractVersionHistoriesResponses[keyof GetApi20260701ResourcesContractsContractVersionHistoriesResponses]; export type GetApi20260701ResourcesContractsContractVersionHistoriesByIdData = { body?: never; path: { /** * the ids of the contract versions. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/contract_version_histories/{id}'; }; export type GetApi20260701ResourcesContractsContractVersionHistoriesByIdResponses = { /** * OK */ 200: ContractsContractVersionHistory; }; export type GetApi20260701ResourcesContractsContractVersionHistoriesByIdResponse = GetApi20260701ResourcesContractsContractVersionHistoriesByIdResponses[keyof GetApi20260701ResourcesContractsContractVersionHistoriesByIdResponses]; export type GetApi20260701ResourcesContractsContractVersionMetaDataData = { body?: never; path?: never; query: { /** * list of contract version ids identifiers. */ 'contract_version_ids[]': Array; }; url: '/api/2026-07-01/resources/contracts/contract_version_meta_data'; }; export type GetApi20260701ResourcesContractsContractVersionMetaDataResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsContractVersionMetaDataResponse = GetApi20260701ResourcesContractsContractVersionMetaDataResponses[keyof GetApi20260701ResourcesContractsContractVersionMetaDataResponses]; export type GetApi20260701ResourcesContractsFrenchContractTypesData = { body?: never; path?: never; query?: { /** * list of contract type identifiers. */ 'ids[]'?: Array; /** * whether to show archived types or not. */ archived?: boolean; }; url: '/api/2026-07-01/resources/contracts/french_contract_types'; }; export type GetApi20260701ResourcesContractsFrenchContractTypesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsFrenchContractTypesResponse = GetApi20260701ResourcesContractsFrenchContractTypesResponses[keyof GetApi20260701ResourcesContractsFrenchContractTypesResponses]; export type GetApi20260701ResourcesContractsFrenchContractTypesByIdData = { body?: never; path: { /** * list of contract type identifiers. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/french_contract_types/{id}'; }; export type GetApi20260701ResourcesContractsFrenchContractTypesByIdResponses = { /** * OK */ 200: ContractsFrenchContractType; }; export type GetApi20260701ResourcesContractsFrenchContractTypesByIdResponse = GetApi20260701ResourcesContractsFrenchContractTypesByIdResponses[keyof GetApi20260701ResourcesContractsFrenchContractTypesByIdResponses]; export type GetApi20260701ResourcesContractsGermanContractTypesData = { body?: never; path?: never; query?: { /** * list of contract type identifiers. */ 'ids[]'?: Array; /** * whether to show archived types or not. */ archived?: boolean; }; url: '/api/2026-07-01/resources/contracts/german_contract_types'; }; export type GetApi20260701ResourcesContractsGermanContractTypesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsGermanContractTypesResponse = GetApi20260701ResourcesContractsGermanContractTypesResponses[keyof GetApi20260701ResourcesContractsGermanContractTypesResponses]; export type GetApi20260701ResourcesContractsGermanContractTypesByIdData = { body?: never; path: { /** * list of contract type identifiers. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/german_contract_types/{id}'; }; export type GetApi20260701ResourcesContractsGermanContractTypesByIdResponses = { /** * OK */ 200: ContractsGermanContractType; }; export type GetApi20260701ResourcesContractsGermanContractTypesByIdResponse = GetApi20260701ResourcesContractsGermanContractTypesByIdResponses[keyof GetApi20260701ResourcesContractsGermanContractTypesByIdResponses]; export type GetApi20260701ResourcesContractsMaterializedTemplatesData = { body?: never; path?: never; query: { /** * The identifier of the company whose templates you want to retrieve. All results are scoped to this company. * */ company_id: string; /** * Optional list of legal entity identifiers to filter results. When provided alongside template_type: legal_entity, returns only the materialized templates for those legal entities. Ignored for company and country template types. * */ 'legal_entity_ids[]'?: Array; /** * Optional list of ISO 3166-1 alpha-2 country codes to filter results. When provided alongside template_type: country, returns only templates for those countries. When used with template_type: legal_entity, narrows results to legal entities operating in those countries. * */ 'countries[]'?: Array; /** * The template level to retrieve. Use company to get the organization-wide base field definitions. Use country to get country-specific overrides merged with company defaults. Use legal_entity to get the final effective template for a specific legal entity, which is the most common use case when building contract creation or editing flows. * */ template_type: 'company' | 'country' | 'legal_entity' | 'contract_type'; /** * Optional list of field identifiers to filter the template fields returned. When provided, each materialized template will only include fields whose field_id matches one of the values in this list. Use this to retrieve a specific subset of fields (e.g. ["contract_type"]) without fetching the full template structure. * */ 'field_ids[]'?: Array; /** * When true, archived options are included in the response alongside active ones. Defaults to false, which returns only active options. Set to true when you need to display contracts that reference options that have since been archived. * */ include_archived: boolean; }; url: '/api/2026-07-01/resources/contracts/materialized_templates'; }; export type GetApi20260701ResourcesContractsMaterializedTemplatesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsMaterializedTemplatesResponse = GetApi20260701ResourcesContractsMaterializedTemplatesResponses[keyof GetApi20260701ResourcesContractsMaterializedTemplatesResponses]; export type GetApi20260701ResourcesContractsPortugueseContractTypesData = { body?: never; path?: never; query?: { /** * list of contract type identifiers. */ 'ids[]'?: Array; /** * whether to show archived types or not. */ archived?: boolean; }; url: '/api/2026-07-01/resources/contracts/portuguese_contract_types'; }; export type GetApi20260701ResourcesContractsPortugueseContractTypesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsPortugueseContractTypesResponse = GetApi20260701ResourcesContractsPortugueseContractTypesResponses[keyof GetApi20260701ResourcesContractsPortugueseContractTypesResponses]; export type GetApi20260701ResourcesContractsPortugueseContractTypesByIdData = { body?: never; path: { /** * list of contract type identifiers. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/portuguese_contract_types/{id}'; }; export type GetApi20260701ResourcesContractsPortugueseContractTypesByIdResponses = { /** * OK */ 200: ContractsPortugueseContractType; }; export type GetApi20260701ResourcesContractsPortugueseContractTypesByIdResponse = GetApi20260701ResourcesContractsPortugueseContractTypesByIdResponses[keyof GetApi20260701ResourcesContractsPortugueseContractTypesByIdResponses]; export type GetApi20260701ResourcesContractsReferenceContractsData = { body?: never; path?: never; query: { /** * filter by employee ids. */ 'employee_ids[]'?: Array; /** * the uuid of nodes in the job catalog tree. */ 'job_catalog_tree_node_uuids[]': Array; }; url: '/api/2026-07-01/resources/contracts/reference_contracts'; }; export type GetApi20260701ResourcesContractsReferenceContractsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsReferenceContractsResponse = GetApi20260701ResourcesContractsReferenceContractsResponses[keyof GetApi20260701ResourcesContractsReferenceContractsResponses]; export type GetApi20260701ResourcesContractsSpanishContractTypesData = { body?: never; path?: never; query?: { /** * list of contract type identifiers. */ 'ids[]'?: Array; /** * whether to show archived types or not. */ archived?: boolean; /** * Contract template identifier. Refers to contracts/contract_templates. */ contract_template_id?: string; }; url: '/api/2026-07-01/resources/contracts/spanish_contract_types'; }; export type GetApi20260701ResourcesContractsSpanishContractTypesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsSpanishContractTypesResponse = GetApi20260701ResourcesContractsSpanishContractTypesResponses[keyof GetApi20260701ResourcesContractsSpanishContractTypesResponses]; export type PostApi20260701ResourcesContractsSpanishContractTypesData = { body?: { /** * Contract type name */ name: string; /** * Contract template identifier. Refers to contracts/contract_templates. */ contracts_contract_template_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/contracts/spanish_contract_types'; }; export type PostApi20260701ResourcesContractsSpanishContractTypesResponses = { /** * CREATED */ 201: ContractsSpanishContractType; }; export type PostApi20260701ResourcesContractsSpanishContractTypesResponse = PostApi20260701ResourcesContractsSpanishContractTypesResponses[keyof PostApi20260701ResourcesContractsSpanishContractTypesResponses]; export type GetApi20260701ResourcesContractsSpanishContractTypesByIdData = { body?: never; path: { /** * list of contract type identifiers. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/spanish_contract_types/{id}'; }; export type GetApi20260701ResourcesContractsSpanishContractTypesByIdResponses = { /** * OK */ 200: ContractsSpanishContractType; }; export type GetApi20260701ResourcesContractsSpanishContractTypesByIdResponse = GetApi20260701ResourcesContractsSpanishContractTypesByIdResponses[keyof GetApi20260701ResourcesContractsSpanishContractTypesByIdResponses]; export type GetApi20260701ResourcesContractsSpanishEducationLevelsData = { body?: never; path?: never; query?: { /** * Education level ids */ 'ids[]'?: Array; /** * Contract template identifier, refers to contracts/contract_templates */ contract_template_id?: string; }; url: '/api/2026-07-01/resources/contracts/spanish_education_levels'; }; export type GetApi20260701ResourcesContractsSpanishEducationLevelsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsSpanishEducationLevelsResponse = GetApi20260701ResourcesContractsSpanishEducationLevelsResponses[keyof GetApi20260701ResourcesContractsSpanishEducationLevelsResponses]; export type PostApi20260701ResourcesContractsSpanishEducationLevelsData = { body?: { /** * Education level name */ name: string; /** * Contract template identifier, refers to contracts/contract_templates */ contracts_contract_template_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/contracts/spanish_education_levels'; }; export type PostApi20260701ResourcesContractsSpanishEducationLevelsResponses = { /** * CREATED */ 201: ContractsSpanishEducationLevel; }; export type PostApi20260701ResourcesContractsSpanishEducationLevelsResponse = PostApi20260701ResourcesContractsSpanishEducationLevelsResponses[keyof PostApi20260701ResourcesContractsSpanishEducationLevelsResponses]; export type GetApi20260701ResourcesContractsSpanishEducationLevelsByIdData = { body?: never; path: { /** * Education level ids */ id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/spanish_education_levels/{id}'; }; export type GetApi20260701ResourcesContractsSpanishEducationLevelsByIdResponses = { /** * OK */ 200: ContractsSpanishEducationLevel; }; export type GetApi20260701ResourcesContractsSpanishEducationLevelsByIdResponse = GetApi20260701ResourcesContractsSpanishEducationLevelsByIdResponses[keyof GetApi20260701ResourcesContractsSpanishEducationLevelsByIdResponses]; export type GetApi20260701ResourcesContractsSpanishProfessionalCategoriesData = { body?: never; path?: never; query?: { /** * Professional category ids */ 'ids[]'?: Array; /** * Contract template identifier, refers to contracts/contract_templates */ contract_template_id?: string; }; url: '/api/2026-07-01/resources/contracts/spanish_professional_categories'; }; export type GetApi20260701ResourcesContractsSpanishProfessionalCategoriesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsSpanishProfessionalCategoriesResponse = GetApi20260701ResourcesContractsSpanishProfessionalCategoriesResponses[keyof GetApi20260701ResourcesContractsSpanishProfessionalCategoriesResponses]; export type PostApi20260701ResourcesContractsSpanishProfessionalCategoriesData = { body?: { /** * Professional category name */ name: string; /** * Contract template identifier, refers to contracts/contract_templates */ contracts_contract_template_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/contracts/spanish_professional_categories'; }; export type PostApi20260701ResourcesContractsSpanishProfessionalCategoriesResponses = { /** * CREATED */ 201: ContractsSpanishProfessionalCategory; }; export type PostApi20260701ResourcesContractsSpanishProfessionalCategoriesResponse = PostApi20260701ResourcesContractsSpanishProfessionalCategoriesResponses[keyof PostApi20260701ResourcesContractsSpanishProfessionalCategoriesResponses]; export type GetApi20260701ResourcesContractsSpanishProfessionalCategoriesByIdData = { body?: never; path: { /** * Professional category ids */ id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/spanish_professional_categories/{id}'; }; export type GetApi20260701ResourcesContractsSpanishProfessionalCategoriesByIdResponses = { /** * OK */ 200: ContractsSpanishProfessionalCategory; }; export type GetApi20260701ResourcesContractsSpanishProfessionalCategoriesByIdResponse = GetApi20260701ResourcesContractsSpanishProfessionalCategoriesByIdResponses[keyof GetApi20260701ResourcesContractsSpanishProfessionalCategoriesByIdResponses]; export type GetApi20260701ResourcesContractsSpanishWorkingDayTypesData = { body?: never; path?: never; query?: { /** * Working day type ids */ 'ids[]'?: Array; /** * Contract template identifier, refers to contracts/contract_templates */ contract_template_id?: string; }; url: '/api/2026-07-01/resources/contracts/spanish_working_day_types'; }; export type GetApi20260701ResourcesContractsSpanishWorkingDayTypesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsSpanishWorkingDayTypesResponse = GetApi20260701ResourcesContractsSpanishWorkingDayTypesResponses[keyof GetApi20260701ResourcesContractsSpanishWorkingDayTypesResponses]; export type PostApi20260701ResourcesContractsSpanishWorkingDayTypesData = { body?: { /** * Working day type name */ name: string; /** * Contract template identifier, refers to contracts/contract_templates */ contracts_contract_template_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/contracts/spanish_working_day_types'; }; export type PostApi20260701ResourcesContractsSpanishWorkingDayTypesResponses = { /** * CREATED */ 201: ContractsSpanishWorkingDayType; }; export type PostApi20260701ResourcesContractsSpanishWorkingDayTypesResponse = PostApi20260701ResourcesContractsSpanishWorkingDayTypesResponses[keyof PostApi20260701ResourcesContractsSpanishWorkingDayTypesResponses]; export type GetApi20260701ResourcesContractsSpanishWorkingDayTypesByIdData = { body?: never; path: { /** * Working day type ids */ id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/spanish_working_day_types/{id}'; }; export type GetApi20260701ResourcesContractsSpanishWorkingDayTypesByIdResponses = { /** * OK */ 200: ContractsSpanishWorkingDayType; }; export type GetApi20260701ResourcesContractsSpanishWorkingDayTypesByIdResponse = GetApi20260701ResourcesContractsSpanishWorkingDayTypesByIdResponses[keyof GetApi20260701ResourcesContractsSpanishWorkingDayTypesByIdResponses]; export type GetApi20260701ResourcesContractsTaxonomiesData = { body?: never; path?: never; query?: { 'ids[]'?: Array; 'legal_entity_ids[]'?: Array; legal_entity_id?: string; }; url: '/api/2026-07-01/resources/contracts/taxonomies'; }; export type GetApi20260701ResourcesContractsTaxonomiesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesContractsTaxonomiesResponse = GetApi20260701ResourcesContractsTaxonomiesResponses[keyof GetApi20260701ResourcesContractsTaxonomiesResponses]; export type GetApi20260701ResourcesContractsTaxonomiesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/contracts/taxonomies/{id}'; }; export type GetApi20260701ResourcesContractsTaxonomiesByIdResponses = { /** * OK */ 200: ContractsTaxonomy; }; export type GetApi20260701ResourcesContractsTaxonomiesByIdResponse = GetApi20260701ResourcesContractsTaxonomiesByIdResponses[keyof GetApi20260701ResourcesContractsTaxonomiesByIdResponses]; export type GetApi20260701ResourcesCustomFieldsFieldsData = { body?: never; path?: never; query?: { /** * Field identifiers */ 'ids[]'?: Array; /** * Filter fields by type */ field_type?: 'text' | 'long_text' | 'date' | 'rating' | 'checkbox' | 'single_choice' | 'multiple_choice' | 'money' | 'cents'; /** * Field label */ label?: string; /** * Custom field slug */ slug?: string; /** * Company identifier where this field belongs */ company_id?: string; }; url: '/api/2026-07-01/resources/custom_fields/fields'; }; export type GetApi20260701ResourcesCustomFieldsFieldsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesCustomFieldsFieldsResponse = GetApi20260701ResourcesCustomFieldsFieldsResponses[keyof GetApi20260701ResourcesCustomFieldsFieldsResponses]; export type PostApi20260701ResourcesCustomFieldsFieldsData = { body?: { /** * Company identifier where this field belongs */ company_id: string; /** * Group of employees that can edit the field */ editable?: 'owned' | 'reportees' | 'team_leader' | 'legal_entity' | 'everybody'; /** * Group of employees that can see the field */ visible?: 'owned' | 'reportees' | 'team_leader' | 'legal_entity' | 'everybody'; /** * Field label */ label?: string; field_type: 'text' | 'long_text' | 'date' | 'rating' | 'checkbox' | 'single_choice' | 'multiple_choice' | 'money' | 'cents'; /** * Minimum value in range field type */ min_value?: number; /** * Maximum value in range field type */ max_value?: number; /** * Requirement to fill this field */ required?: boolean; /** * Array of options */ options?: Array; position?: number; }; path?: never; query?: never; url: '/api/2026-07-01/resources/custom_fields/fields'; }; export type PostApi20260701ResourcesCustomFieldsFieldsResponses = { /** * CREATED */ 201: CustomFieldsField; }; export type PostApi20260701ResourcesCustomFieldsFieldsResponse = PostApi20260701ResourcesCustomFieldsFieldsResponses[keyof PostApi20260701ResourcesCustomFieldsFieldsResponses]; export type DeleteApi20260701ResourcesCustomFieldsFieldsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/custom_fields/fields/{id}'; }; export type DeleteApi20260701ResourcesCustomFieldsFieldsByIdResponses = { /** * OK */ 200: CustomFieldsField; }; export type DeleteApi20260701ResourcesCustomFieldsFieldsByIdResponse = DeleteApi20260701ResourcesCustomFieldsFieldsByIdResponses[keyof DeleteApi20260701ResourcesCustomFieldsFieldsByIdResponses]; export type GetApi20260701ResourcesCustomFieldsFieldsByIdData = { body?: never; path: { /** * Field identifiers */ id: string; }; query?: never; url: '/api/2026-07-01/resources/custom_fields/fields/{id}'; }; export type GetApi20260701ResourcesCustomFieldsFieldsByIdResponses = { /** * OK */ 200: CustomFieldsField; }; export type GetApi20260701ResourcesCustomFieldsFieldsByIdResponse = GetApi20260701ResourcesCustomFieldsFieldsByIdResponses[keyof GetApi20260701ResourcesCustomFieldsFieldsByIdResponses]; export type GetApi20260701ResourcesCustomFieldsOptionsData = { body?: never; path?: never; query?: { /** * Options identifiers */ 'ids[]'?: Array; /** * Identifiers for the fields where the options belong to */ 'field_ids[]'?: Array; }; url: '/api/2026-07-01/resources/custom_fields/options'; }; export type GetApi20260701ResourcesCustomFieldsOptionsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesCustomFieldsOptionsResponse = GetApi20260701ResourcesCustomFieldsOptionsResponses[keyof GetApi20260701ResourcesCustomFieldsOptionsResponses]; export type PostApi20260701ResourcesCustomFieldsOptionsData = { body?: { /** * Title for option */ label: string; /** * Flag to make the option available */ is_active?: boolean; /** * Custom Fields identifier */ field_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/custom_fields/options'; }; export type PostApi20260701ResourcesCustomFieldsOptionsResponses = { /** * CREATED */ 201: CustomFieldsOption; }; export type PostApi20260701ResourcesCustomFieldsOptionsResponse = PostApi20260701ResourcesCustomFieldsOptionsResponses[keyof PostApi20260701ResourcesCustomFieldsOptionsResponses]; export type GetApi20260701ResourcesCustomFieldsOptionsByIdData = { body?: never; path: { /** * Options identifiers */ id: string; }; query?: never; url: '/api/2026-07-01/resources/custom_fields/options/{id}'; }; export type GetApi20260701ResourcesCustomFieldsOptionsByIdResponses = { /** * OK */ 200: CustomFieldsOption; }; export type GetApi20260701ResourcesCustomFieldsOptionsByIdResponse = GetApi20260701ResourcesCustomFieldsOptionsByIdResponses[keyof GetApi20260701ResourcesCustomFieldsOptionsByIdResponses]; export type GetApi20260701ResourcesCustomFieldsResourceFieldsData = { body?: never; path?: never; query?: { /** * Resource field identifiers */ 'ids[]'?: Array; /** * Custom Field identifiers */ 'field_ids[]'?: Array; /** * Custom Resources Schema identifiers */ 'schema_ids[]'?: Array; }; url: '/api/2026-07-01/resources/custom_fields/resource_fields'; }; export type GetApi20260701ResourcesCustomFieldsResourceFieldsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesCustomFieldsResourceFieldsResponse = GetApi20260701ResourcesCustomFieldsResourceFieldsResponses[keyof GetApi20260701ResourcesCustomFieldsResourceFieldsResponses]; export type PostApi20260701ResourcesCustomFieldsResourceFieldsData = { body?: { /** * Schema identifier */ schema_id: string; /** * Company identifier */ company_id: string; /** * Resource field label */ label?: string; /** * Type of the value for the resource field */ field_type: 'text' | 'long_text' | 'date' | 'rating' | 'checkbox' | 'single_choice' | 'multiple_choice' | 'money' | 'cents'; /** * Requirement to fill this resource field */ required: boolean; /** * Maximum value for range field type */ max_value?: number; /** * Minimum value for range field type */ min_value?: number; /** * Field position within schema */ position?: number; /** * Group for which this field is editable */ editable: 'owned' | 'reportees' | 'team_leader' | 'legal_entity' | 'everybody'; /** * Group for which this field is visible */ visible: 'owned' | 'reportees' | 'team_leader' | 'legal_entity' | 'everybody'; /** * Array of options to choose from */ options?: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/custom_fields/resource_fields'; }; export type PostApi20260701ResourcesCustomFieldsResourceFieldsResponses = { /** * CREATED */ 201: CustomFieldsResourceField; }; export type PostApi20260701ResourcesCustomFieldsResourceFieldsResponse = PostApi20260701ResourcesCustomFieldsResourceFieldsResponses[keyof PostApi20260701ResourcesCustomFieldsResourceFieldsResponses]; export type GetApi20260701ResourcesCustomFieldsResourceFieldsByIdData = { body?: never; path: { /** * Resource field identifiers */ id: string; }; query?: never; url: '/api/2026-07-01/resources/custom_fields/resource_fields/{id}'; }; export type GetApi20260701ResourcesCustomFieldsResourceFieldsByIdResponses = { /** * OK */ 200: CustomFieldsResourceField; }; export type GetApi20260701ResourcesCustomFieldsResourceFieldsByIdResponse = GetApi20260701ResourcesCustomFieldsResourceFieldsByIdResponses[keyof GetApi20260701ResourcesCustomFieldsResourceFieldsByIdResponses]; export type GetApi20260701ResourcesCustomFieldsValuesData = { body?: never; path?: never; query?: { /** * Employee identifiers to filter custom field values by */ 'employee_ids[]'?: Array; /** * Custom field to filter by identifier */ 'identifiers[]'?: Array; /** * Custom field value identifiers to filter by */ 'ids[]'?: Array; /** * Identifier of the instance that the custom field value is attached to */ instance_id?: string; /** * Custom field value to filter by */ value?: string; /** * Custom field slug to filter by */ slug?: string; /** * Custom field identifier to filter by */ field_id?: string; /** * Filter values updated on or after this date (ISO 8601 format). */ updated_at_gteq?: string; }; url: '/api/2026-07-01/resources/custom_fields/values'; }; export type GetApi20260701ResourcesCustomFieldsValuesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesCustomFieldsValuesResponse = GetApi20260701ResourcesCustomFieldsValuesResponses[keyof GetApi20260701ResourcesCustomFieldsValuesResponses]; export type PostApi20260701ResourcesCustomFieldsValuesData = { body?: { /** * Custom Fields identifier */ field_id: string; /** * Type of the object that the custom field is attached to: 'Document' | 'Employee' | 'Contracts::ContractVersion' | 'CustomResources::Value' */ valuable_type: string; /** * Identifier of the object that the custom field is attached to */ valuable_id: string; /** * Custom Fields value */ value: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/custom_fields/values'; }; export type PostApi20260701ResourcesCustomFieldsValuesResponses = { /** * CREATED */ 201: CustomFieldsValue; }; export type PostApi20260701ResourcesCustomFieldsValuesResponse = PostApi20260701ResourcesCustomFieldsValuesResponses[keyof PostApi20260701ResourcesCustomFieldsValuesResponses]; export type GetApi20260701ResourcesCustomFieldsValuesByIdData = { body?: never; path: { /** * Custom field value identifiers to filter by */ id: string; }; query?: never; url: '/api/2026-07-01/resources/custom_fields/values/{id}'; }; export type GetApi20260701ResourcesCustomFieldsValuesByIdResponses = { /** * OK */ 200: CustomFieldsValue; }; export type GetApi20260701ResourcesCustomFieldsValuesByIdResponse = GetApi20260701ResourcesCustomFieldsValuesByIdResponses[keyof GetApi20260701ResourcesCustomFieldsValuesByIdResponses]; export type PutApi20260701ResourcesCustomFieldsValuesByIdData = { body?: { id?: string; value?: string; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/custom_fields/values/{id}'; }; export type PutApi20260701ResourcesCustomFieldsValuesByIdResponses = { /** * OK */ 200: CustomFieldsValue; }; export type PutApi20260701ResourcesCustomFieldsValuesByIdResponse = PutApi20260701ResourcesCustomFieldsValuesByIdResponses[keyof PutApi20260701ResourcesCustomFieldsValuesByIdResponses]; export type GetApi20260701ResourcesCustomResourcesResourcesData = { body?: never; path?: never; query?: { /** * Resource identifiers */ 'ids[]'?: Array; /** * Employee identifiers */ 'employee_ids[]'?: Array; }; url: '/api/2026-07-01/resources/custom_resources/resources'; }; export type GetApi20260701ResourcesCustomResourcesResourcesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesCustomResourcesResourcesResponse = GetApi20260701ResourcesCustomResourcesResourcesResponses[keyof GetApi20260701ResourcesCustomResourcesResourcesResponses]; export type GetApi20260701ResourcesCustomResourcesResourcesByIdData = { body?: never; path: { /** * Resource identifiers */ id: string; }; query?: never; url: '/api/2026-07-01/resources/custom_resources/resources/{id}'; }; export type GetApi20260701ResourcesCustomResourcesResourcesByIdResponses = { /** * OK */ 200: CustomResourcesResource; }; export type GetApi20260701ResourcesCustomResourcesResourcesByIdResponse = GetApi20260701ResourcesCustomResourcesResourcesByIdResponses[keyof GetApi20260701ResourcesCustomResourcesResourcesByIdResponses]; export type GetApi20260701ResourcesCustomResourcesSchemasData = { body?: never; path?: never; query?: { /** * Schemas identifiers */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/custom_resources/schemas'; }; export type GetApi20260701ResourcesCustomResourcesSchemasResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesCustomResourcesSchemasResponse = GetApi20260701ResourcesCustomResourcesSchemasResponses[keyof GetApi20260701ResourcesCustomResourcesSchemasResponses]; export type PostApi20260701ResourcesCustomResourcesSchemasData = { body?: { /** * Schema name */ name: string; /** * Company identifier where this schema belongs */ company_id: string; /** * Custom field identifier */ effective_at_id?: string; /** * Manages visibility of the schema */ hidden: boolean; /** * Schema position within employee profile */ position?: number; /** * Schema slug */ usage_group_slug?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/custom_resources/schemas'; }; export type PostApi20260701ResourcesCustomResourcesSchemasResponses = { /** * CREATED */ 201: CustomResourcesSchema; }; export type PostApi20260701ResourcesCustomResourcesSchemasResponse = PostApi20260701ResourcesCustomResourcesSchemasResponses[keyof PostApi20260701ResourcesCustomResourcesSchemasResponses]; export type GetApi20260701ResourcesCustomResourcesSchemasByIdData = { body?: never; path: { /** * Schemas identifiers */ id: string; }; query?: never; url: '/api/2026-07-01/resources/custom_resources/schemas/{id}'; }; export type GetApi20260701ResourcesCustomResourcesSchemasByIdResponses = { /** * OK */ 200: CustomResourcesSchema; }; export type GetApi20260701ResourcesCustomResourcesSchemasByIdResponse = GetApi20260701ResourcesCustomResourcesSchemasByIdResponses[keyof GetApi20260701ResourcesCustomResourcesSchemasByIdResponses]; export type GetApi20260701ResourcesCustomResourcesValuesData = { body?: never; path?: never; query?: { /** * Values identifiers */ 'ids[]'?: Array; /** * Employee identifiers */ 'employee_ids[]'?: Array; }; url: '/api/2026-07-01/resources/custom_resources/values'; }; export type GetApi20260701ResourcesCustomResourcesValuesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesCustomResourcesValuesResponse = GetApi20260701ResourcesCustomResourcesValuesResponses[keyof GetApi20260701ResourcesCustomResourcesValuesResponses]; export type PostApi20260701ResourcesCustomResourcesValuesData = { body?: { /** * Identifier of the schema this value belongs to */ schema_id: string; /** * The identifier of the employee that owns the resource value */ employee_id: string; /** * The identifier of the resource that owns the resource value */ custom_resource_id?: string; /** * Identifier of the field this value belongs to */ field_id: string; /** * Value for schema custom field */ value: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/custom_resources/values'; }; export type PostApi20260701ResourcesCustomResourcesValuesResponses = { /** * CREATED */ 201: CustomResourcesValue; }; export type PostApi20260701ResourcesCustomResourcesValuesResponse = PostApi20260701ResourcesCustomResourcesValuesResponses[keyof PostApi20260701ResourcesCustomResourcesValuesResponses]; export type GetApi20260701ResourcesCustomResourcesValuesByIdData = { body?: never; path: { /** * Values identifiers */ id: string; }; query?: never; url: '/api/2026-07-01/resources/custom_resources/values/{id}'; }; export type GetApi20260701ResourcesCustomResourcesValuesByIdResponses = { /** * OK */ 200: CustomResourcesValue; }; export type GetApi20260701ResourcesCustomResourcesValuesByIdResponse = GetApi20260701ResourcesCustomResourcesValuesByIdResponses[keyof GetApi20260701ResourcesCustomResourcesValuesByIdResponses]; export type GetApi20260701ResourcesDocumentsDocumentsData = { body?: never; path?: never; query: { /** * flag to indicate if the document belongs to a bookkeeper. */ by_bookkeeper_documents?: boolean; /** * flag to indicate if the document is pending assignment. */ by_pending_assignment: boolean; /** * flag to indicate if the document is in the trash bin. */ by_trash_bin: boolean; /** * flag to indicate if the document doesn't have a folder. */ by_without_folder?: boolean; /** * list of employee identifiers. */ 'employee_ids[]'?: Array; /** * folder identifier. */ folder_id?: string; /** * list of document identifiers. */ 'ids[]'?: Array; /** * leave identifier associated to the document, refers to /timeoff/leaves endpoint. */ leave_id?: string; }; url: '/api/2026-07-01/resources/documents/documents'; }; export type GetApi20260701ResourcesDocumentsDocumentsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesDocumentsDocumentsResponse = GetApi20260701ResourcesDocumentsDocumentsResponses[keyof GetApi20260701ResourcesDocumentsDocumentsResponses]; export type PostApi20260701ResourcesDocumentsDocumentsData = { body?: { /** * flag to indicate if the document is public. */ public: boolean; /** * document space, in case of employee_my_documents it's necessary to fill employee_id. */ space: 'employee_my_documents' | 'company_public' | 'company_internal' | 'pending_to_assign' | 'pending_to_destroy'; /** * folder identifier, references to documents/folders endpoint. */ folder_id?: string; /** * final name of the file, even if the file has been uploaded with a different name. */ file_filename?: string; /** * flag that indicates if the document is pending assignment. */ is_pending_assignment: boolean; /** * leave identifier associated to the document, refers to /timeoff/leaves endpoint. */ leave_id?: string; /** * file to upload, the binary file. */ file: Blob | File; /** * employee identifier associated to the document. */ employee_id?: string; /** * access identifier of the author, refers to /employees/employees endpoint. */ author_id: string; /** * company identifier, refers to /api/me endpoint. */ company_id: string; /** * list of user access identifiers associated to the document, refers to /employees/employees endpoint. */ 'signee_ids[]': Array; /** * flag to indicate if the document requires an electronic signature. */ request_esignature: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/documents/documents'; }; export type PostApi20260701ResourcesDocumentsDocumentsResponses = { /** * CREATED */ 201: DocumentsDocument; }; export type PostApi20260701ResourcesDocumentsDocumentsResponse = PostApi20260701ResourcesDocumentsDocumentsResponses[keyof PostApi20260701ResourcesDocumentsDocumentsResponses]; export type DeleteApi20260701ResourcesDocumentsDocumentsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/documents/documents/{id}'; }; export type DeleteApi20260701ResourcesDocumentsDocumentsByIdResponses = { /** * OK */ 200: DocumentsDocument; }; export type DeleteApi20260701ResourcesDocumentsDocumentsByIdResponse = DeleteApi20260701ResourcesDocumentsDocumentsByIdResponses[keyof DeleteApi20260701ResourcesDocumentsDocumentsByIdResponses]; export type GetApi20260701ResourcesDocumentsDocumentsByIdData = { body?: never; path: { /** * list of document identifiers. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/documents/documents/{id}'; }; export type GetApi20260701ResourcesDocumentsDocumentsByIdResponses = { /** * OK */ 200: DocumentsDocument; }; export type GetApi20260701ResourcesDocumentsDocumentsByIdResponse = GetApi20260701ResourcesDocumentsDocumentsByIdResponses[keyof GetApi20260701ResourcesDocumentsDocumentsByIdResponses]; export type PutApi20260701ResourcesDocumentsDocumentsByIdData = { body?: { /** * document identifiers. */ id: string; /** * flag to indicate if the document is public. */ public: boolean; /** * employee identifier associated to the document. */ employee_id?: string; /** * folder identifier, references to documents/folders endpoint. */ folder_id?: string; /** * flag to indicate if the document requires an electronic signature. */ request_esignature: boolean; /** * list of user access identifiers associated to the document, refers to /employees/employees endpoint. */ signee_ids: Array; }; path: { /** * document identifiers. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/documents/documents/{id}'; }; export type PutApi20260701ResourcesDocumentsDocumentsByIdResponses = { /** * OK */ 200: DocumentsDocument; }; export type PutApi20260701ResourcesDocumentsDocumentsByIdResponse = PutApi20260701ResourcesDocumentsDocumentsByIdResponses[keyof PutApi20260701ResourcesDocumentsDocumentsByIdResponses]; export type PostApi20260701ResourcesDocumentsDocumentsMoveToTrashBinData = { body?: { /** * list of document identifiers. */ document_ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/documents/documents/move_to_trash_bin'; }; export type PostApi20260701ResourcesDocumentsDocumentsMoveToTrashBinResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesDocumentsDocumentsMoveToTrashBinResponse = PostApi20260701ResourcesDocumentsDocumentsMoveToTrashBinResponses[keyof PostApi20260701ResourcesDocumentsDocumentsMoveToTrashBinResponses]; export type PostApi20260701ResourcesDocumentsDocumentsRestoreFromTrashBinData = { body?: { /** * list of document identifiers. */ document_ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/documents/documents/restore_from_trash_bin'; }; export type PostApi20260701ResourcesDocumentsDocumentsRestoreFromTrashBinResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesDocumentsDocumentsRestoreFromTrashBinResponse = PostApi20260701ResourcesDocumentsDocumentsRestoreFromTrashBinResponses[keyof PostApi20260701ResourcesDocumentsDocumentsRestoreFromTrashBinResponses]; export type PostApi20260701ResourcesDocumentsDownloadUrlsBulkCreateData = { body?: { /** * list of document identifiers. */ ids?: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/documents/download_urls/bulk_create'; }; export type PostApi20260701ResourcesDocumentsDownloadUrlsBulkCreateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesDocumentsDownloadUrlsBulkCreateResponse = PostApi20260701ResourcesDocumentsDownloadUrlsBulkCreateResponses[keyof PostApi20260701ResourcesDocumentsDownloadUrlsBulkCreateResponses]; export type GetApi20260701ResourcesDocumentsFoldersData = { body?: never; path?: never; query?: { /** * Active folder. */ active?: boolean; /** * Employee id */ employee_id?: string; /** * ids of the folders. */ 'ids[]'?: Array; /** * Name of the folder. */ name?: string; }; url: '/api/2026-07-01/resources/documents/folders'; }; export type GetApi20260701ResourcesDocumentsFoldersResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesDocumentsFoldersResponse = GetApi20260701ResourcesDocumentsFoldersResponses[keyof GetApi20260701ResourcesDocumentsFoldersResponses]; export type PostApi20260701ResourcesDocumentsFoldersData = { body?: { /** * Company ID */ company_id: string; /** * Folder name */ name: string; /** * The space of the folder is related to the type of documents that will be stored in it. You should always use "employee_my_documents" */ space: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/documents/folders'; }; export type PostApi20260701ResourcesDocumentsFoldersResponses = { /** * CREATED */ 201: DocumentsFolder; }; export type PostApi20260701ResourcesDocumentsFoldersResponse = PostApi20260701ResourcesDocumentsFoldersResponses[keyof PostApi20260701ResourcesDocumentsFoldersResponses]; export type GetApi20260701ResourcesDocumentsFoldersByIdData = { body?: never; path: { /** * ids of the folders. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/documents/folders/{id}'; }; export type GetApi20260701ResourcesDocumentsFoldersByIdResponses = { /** * OK */ 200: DocumentsFolder; }; export type GetApi20260701ResourcesDocumentsFoldersByIdResponse = GetApi20260701ResourcesDocumentsFoldersByIdResponses[keyof GetApi20260701ResourcesDocumentsFoldersByIdResponses]; export type PutApi20260701ResourcesDocumentsFoldersByIdData = { body?: { /** * Company ID */ company_id: string; /** * Folder id */ id: string; /** * Folder name */ name: string; }; path: { /** * Folder id */ id: string; }; query?: never; url: '/api/2026-07-01/resources/documents/folders/{id}'; }; export type PutApi20260701ResourcesDocumentsFoldersByIdResponses = { /** * OK */ 200: DocumentsFolder; }; export type PutApi20260701ResourcesDocumentsFoldersByIdResponse = PutApi20260701ResourcesDocumentsFoldersByIdResponses[keyof PutApi20260701ResourcesDocumentsFoldersByIdResponses]; export type GetApi20260701ResourcesEmployeesEmployeesData = { body?: never; path?: never; query: { /** * filter by employee ids. */ 'ids[]'?: Array; /** * filter by employee access ids. */ 'access_ids[]'?: Array; /** * filter by employee emails. */ 'emails[]'?: Array; /** * filter by employee name. */ full_text_name?: string; /** * Filter employees by their latest update timestamp (`updated_at`), on or after this date. Only the date is considered; any time component is ignored (matching starts at 00:00:00 of the given date). Note: `updated_at` only stores the most recent update, so an employee updated multiple times is matched solely by its latest update, not by earlier ones. */ updated_at_gteq?: string; /** * filter by legal entity id (refereces to companies/legal_entities). */ 'legal_entity_ids[]'?: Array; /** * filter by employee company identifier. */ company_identifier?: string; /** * get only active employees */ only_active: boolean; /** * filter employees by team id (references to core/teams). */ 'team_ids[]'?: Array; /** * filter employees by location id (references to locations/location). */ 'location_ids[]'?: Array; /** * get only manager employees. */ only_managers: boolean; /** * filter by employee names that start with the given text. */ name_starts_with?: string; }; url: '/api/2026-07-01/resources/employees/employees'; }; export type GetApi20260701ResourcesEmployeesEmployeesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesEmployeesEmployeesResponse = GetApi20260701ResourcesEmployeesEmployeesResponses[keyof GetApi20260701ResourcesEmployeesEmployeesResponses]; export type GetApi20260701ResourcesEmployeesEmployeesByIdData = { body?: never; path: { /** * filter by employee ids. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/employees/employees/{id}'; }; export type GetApi20260701ResourcesEmployeesEmployeesByIdResponses = { /** * OK */ 200: EmployeesEmployee; }; export type GetApi20260701ResourcesEmployeesEmployeesByIdResponse = GetApi20260701ResourcesEmployeesEmployeesByIdResponses[keyof GetApi20260701ResourcesEmployeesEmployeesByIdResponses]; export type PutApi20260701ResourcesEmployeesEmployeesByIdData = { body?: { /** * id of the employee. */ id: string; /** * access_id of the creator. */ access_id?: string; /** * gender of the employee (male | female). */ gender?: string; /** * name of the employee. */ first_name?: string; /** * last name of the employee. */ last_name?: string; /** * national identifier number. */ identifier?: string; /** * type of identifier (ex passport). */ identifier_type?: string; /** * birthday of the employee. */ birthday_on?: string; /** * nationality country code of the employee (Spain ES, United Kingdom GB). */ nationality?: string; /** * address of the employee. */ address_line_1?: string; /** * address of the employee. */ address_line_2?: string; /** * postal code of the employee. */ postal_code?: string; /** * city of the employee. */ city?: string; /** * state/province/region of the employee. */ state?: string; /** * country code of the employee (Spain ES, United Kingdom GB). */ country?: string; /** * bank account number of the employee. */ bank_number?: string; /** * code to identify banks and financial institutions globally. */ swift_bic?: string; /** * id of manager, you can get the manager_id from employees endpoint. */ manager_id?: string; /** * id of manager, you can get the manager_id from employees endpoint. */ timeoff_manager_id?: string; /** * social security number of the employee. */ social_security_number?: string; /** * does the employee have work permit? */ has_work_permit?: boolean; /** * phone number of the employee. */ phone_number?: string; /** * identity number or string used inside a company to internally identify the employee. */ company_identifier?: string; /** * date since when the employee is working in the company. */ seniority_calculation_date?: string; /** * legal entity of the employee, references to companies/legal_entities. */ legal_entity_id?: string; /** * location id of the employee, references to locations/locations. */ location_id?: string; /** * nickname of the employee or a name that defines the employee better. */ preferred_name?: string; /** * pronouns that an employee uses to define themselves. */ pronouns?: string; /** * name of the employee contact. */ contact_name?: string; /** * phone number of the employee contact . */ contact_number?: string; /** * personal email of the employee. */ personal_email?: string; /** * Email address for company communications and notifications. Separate from login email. */ communications_email?: string; /** * officially certified level of disability granted by public administration for individuals with physical or mental impairments, expressed in cents */ disability_percentage_cents?: number; /** * identifier expiration date */ identifier_expiration_date?: string; }; path: { /** * id of the employee. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/employees/employees/{id}'; }; export type PutApi20260701ResourcesEmployeesEmployeesByIdResponses = { /** * OK */ 200: EmployeesEmployee; }; export type PutApi20260701ResourcesEmployeesEmployeesByIdResponse = PutApi20260701ResourcesEmployeesEmployeesByIdResponses[keyof PutApi20260701ResourcesEmployeesEmployeesByIdResponses]; export type PostApi20260701ResourcesEmployeesEmployeesCreateWithContractData = { body?: { /** * company id of the employee, you can get it in companies/legal_entities endpoint. */ company_id: string; /** * name of the employee. */ first_name: string; /** * last name of the employee. */ last_name: string; /** * personal email of the employee. */ email: string; /** * the day the specific contract starts, in case of hiring the same than contract_starts_on. */ contract_effective_on?: string; /** * the day the employee is hired. */ contract_starts_on?: string; /** * the day the contract ends. */ ends_on?: string; /** * gender of the employee (male | female). */ gender?: string; /** * national identifier number. */ identifier?: string; /** * type of identifier (ex passport). */ identifier_type?: string; /** * identifier expiration date. */ identifier_expiration_date?: string; /** * birthday of the employee. */ birthday_on?: string; /** * nationality country code of the employee (Spain ES, United Kingdom GB). */ nationality?: string; /** * address of the employee. */ address_line1?: string; /** * address of the employee. */ address_line_2?: string; /** * postal code of the employee. */ postal_code?: string; /** * city of the employee. */ city?: string; /** * state/province/region of the employee. */ state?: string; /** * country code of the employee (Spain ES, United Kingdom GB). */ country?: string; /** * bank account number of the employee. */ bank_number?: string; /** * code to identify banks and financial institutions globally. */ swift_bic?: string; /** * id of manager, you can get the manager_id from employees endpoint. */ manager_id?: string; /** * id of manager, you can get the manager_id from employees endpoint. */ timeoff_manager_id?: string; /** * legal entity of the employee, references to companies/legal_entities. */ legal_entity_id?: string; /** * identity number or string used inside a company to internally identify the employee. */ company_identifier?: string; /** * date since when the employee is working in the company. */ seniority_calculation_date?: string; /** * the uuid of nodes in the job catalog tree. For now it only supports level nodes. From this point in the job catalog tree you can get the full ancestor path to the root node including the role. Refer to job_catalog/tree_nodes endpoint. */ job_catalog_tree_node_uuid?: string; /** * team id of the employee. */ team_id?: string; /** * location id of the employee, references to locations/locations. */ location_id?: string; /** * social security number of the employee. */ social_security_number?: string; /** * does the employee have a trial period? */ has_trial_period?: boolean; /** * when the trial period ends. */ trial_period_ends_on?: string; /** * name of the emergency contact. */ contact_name?: string; /** * phone number of the emergency contact. */ contact_number?: string; /** * phone number of the employee. */ phone_number?: string; /** * A3Innuva employee code. */ a3_innuva_code?: string; /** * A3Nom employee code. */ a3_nom_code?: string; /** * Defines whether a bank holiday should be considered as a workable or non-workable day. */ contracts_bank_holiday_treatment?: 'workable' | 'non_workable'; /** * the annual working time distribution of the employee. */ contracts_annual_working_time_distribution?: 'limit_workdays' | 'limit_daily_hours'; /** * Working time percentage in cents (e.g., when an employee is working part-time, the percentage of full-time hours they are working). */ contracts_working_time_percentage_in_cents?: number; /** * the maximum amount of hours the employee can work in a year. */ contracts_max_legal_yearly_hours?: number; /** * the maximum amount of hours the employee can work in a week. */ contracts_maximum_weekly_hours?: number; }; path?: never; query?: never; url: '/api/2026-07-01/resources/employees/employees/create_with_contract'; }; export type PostApi20260701ResourcesEmployeesEmployeesCreateWithContractResponses = { /** * OK */ 200: EmployeesEmployee; }; export type PostApi20260701ResourcesEmployeesEmployeesCreateWithContractResponse = PostApi20260701ResourcesEmployeesEmployeesCreateWithContractResponses[keyof PostApi20260701ResourcesEmployeesEmployeesCreateWithContractResponses]; export type PostApi20260701ResourcesEmployeesEmployeesInviteData = { body?: { /** * id of the unconfirmed employee */ id: string; /** * id of the company */ company_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/employees/employees/invite'; }; export type PostApi20260701ResourcesEmployeesEmployeesInviteResponses = { /** * OK */ 200: EmployeesEmployee; }; export type PostApi20260701ResourcesEmployeesEmployeesInviteResponse = PostApi20260701ResourcesEmployeesEmployeesInviteResponses[keyof PostApi20260701ResourcesEmployeesEmployeesInviteResponses]; export type PostApi20260701ResourcesEmployeesEmployeesSetRegularAccessStartDateData = { body?: { /** * id of the employee. */ id: string; /** * the date the employee will start working in the company. */ starts_on?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/employees/employees/set_regular_access_start_date'; }; export type PostApi20260701ResourcesEmployeesEmployeesSetRegularAccessStartDateResponses = { /** * OK */ 200: EmployeesEmployee; }; export type PostApi20260701ResourcesEmployeesEmployeesSetRegularAccessStartDateResponse = PostApi20260701ResourcesEmployeesEmployeesSetRegularAccessStartDateResponses[keyof PostApi20260701ResourcesEmployeesEmployeesSetRegularAccessStartDateResponses]; export type PostApi20260701ResourcesEmployeesEmployeesTerminateData = { body?: { /** * id of the employee. */ id: string; /** * when the employee will be terminated. */ terminated_on: string; /** * A reason for the termination. */ termination_reason?: string; /** * id of manager that terminates the employee, you can get the manager_id from employees endpoint. */ termination_assigned_manager_id?: string; /** * When true, automatically opens a backfill position (vacancy or requisition) for the terminated employee. Requires ATS to be enabled with an automatic backfill setting configured. When false or omitted, no backfill is created. */ open_backfill?: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/employees/employees/terminate'; }; export type PostApi20260701ResourcesEmployeesEmployeesTerminateResponses = { /** * OK */ 200: EmployeesEmployee; }; export type PostApi20260701ResourcesEmployeesEmployeesTerminateResponse = PostApi20260701ResourcesEmployeesEmployeesTerminateResponses[keyof PostApi20260701ResourcesEmployeesEmployeesTerminateResponses]; export type PostApi20260701ResourcesEmployeesEmployeesUnterminateData = { body?: { /** * id of the employee. */ id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/employees/employees/unterminate'; }; export type PostApi20260701ResourcesEmployeesEmployeesUnterminateResponses = { /** * OK */ 200: EmployeesEmployee; }; export type PostApi20260701ResourcesEmployeesEmployeesUnterminateResponse = PostApi20260701ResourcesEmployeesEmployeesUnterminateResponses[keyof PostApi20260701ResourcesEmployeesEmployeesUnterminateResponses]; export type GetApi20260701ResourcesEmployeeUpdatesAbsencesData = { body?: never; path?: never; query?: { /** * filter by absence incidence ids. */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/employee_updates/absences'; }; export type GetApi20260701ResourcesEmployeeUpdatesAbsencesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesEmployeeUpdatesAbsencesResponse = GetApi20260701ResourcesEmployeeUpdatesAbsencesResponses[keyof GetApi20260701ResourcesEmployeeUpdatesAbsencesResponses]; export type GetApi20260701ResourcesEmployeeUpdatesAbsencesByIdData = { body?: never; path: { /** * filter by absence incidence ids. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/employee_updates/absences/{id}'; }; export type GetApi20260701ResourcesEmployeeUpdatesAbsencesByIdResponses = { /** * OK */ 200: EmployeeUpdatesAbsence; }; export type GetApi20260701ResourcesEmployeeUpdatesAbsencesByIdResponse = GetApi20260701ResourcesEmployeeUpdatesAbsencesByIdResponses[keyof GetApi20260701ResourcesEmployeeUpdatesAbsencesByIdResponses]; export type GetApi20260701ResourcesEmployeeUpdatesContractChangesData = { body?: never; path?: never; query?: { /** * filter by contract change incidence ids. */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/employee_updates/contract_changes'; }; export type GetApi20260701ResourcesEmployeeUpdatesContractChangesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesEmployeeUpdatesContractChangesResponse = GetApi20260701ResourcesEmployeeUpdatesContractChangesResponses[keyof GetApi20260701ResourcesEmployeeUpdatesContractChangesResponses]; export type GetApi20260701ResourcesEmployeeUpdatesContractChangesByIdData = { body?: never; path: { /** * filter by contract change incidence ids. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/employee_updates/contract_changes/{id}'; }; export type GetApi20260701ResourcesEmployeeUpdatesContractChangesByIdResponses = { /** * OK */ 200: EmployeeUpdatesContractChange; }; export type GetApi20260701ResourcesEmployeeUpdatesContractChangesByIdResponse = GetApi20260701ResourcesEmployeeUpdatesContractChangesByIdResponses[keyof GetApi20260701ResourcesEmployeeUpdatesContractChangesByIdResponses]; export type GetApi20260701ResourcesEmployeeUpdatesNewHiresData = { body?: never; path?: never; query?: { /** * filter by new hire incidence ids. */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/employee_updates/new_hires'; }; export type GetApi20260701ResourcesEmployeeUpdatesNewHiresResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesEmployeeUpdatesNewHiresResponse = GetApi20260701ResourcesEmployeeUpdatesNewHiresResponses[keyof GetApi20260701ResourcesEmployeeUpdatesNewHiresResponses]; export type GetApi20260701ResourcesEmployeeUpdatesNewHiresByIdData = { body?: never; path: { /** * filter by new hire incidence ids. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/employee_updates/new_hires/{id}'; }; export type GetApi20260701ResourcesEmployeeUpdatesNewHiresByIdResponses = { /** * OK */ 200: EmployeeUpdatesNewHire; }; export type GetApi20260701ResourcesEmployeeUpdatesNewHiresByIdResponse = GetApi20260701ResourcesEmployeeUpdatesNewHiresByIdResponses[keyof GetApi20260701ResourcesEmployeeUpdatesNewHiresByIdResponses]; export type GetApi20260701ResourcesEmployeeUpdatesPersonalChangesData = { body?: never; path?: never; query?: { /** * filter by personal change incidence ids. */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/employee_updates/personal_changes'; }; export type GetApi20260701ResourcesEmployeeUpdatesPersonalChangesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesEmployeeUpdatesPersonalChangesResponse = GetApi20260701ResourcesEmployeeUpdatesPersonalChangesResponses[keyof GetApi20260701ResourcesEmployeeUpdatesPersonalChangesResponses]; export type GetApi20260701ResourcesEmployeeUpdatesPersonalChangesByIdData = { body?: never; path: { /** * filter by personal change incidence ids. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/employee_updates/personal_changes/{id}'; }; export type GetApi20260701ResourcesEmployeeUpdatesPersonalChangesByIdResponses = { /** * OK */ 200: EmployeeUpdatesPersonalChange; }; export type GetApi20260701ResourcesEmployeeUpdatesPersonalChangesByIdResponse = GetApi20260701ResourcesEmployeeUpdatesPersonalChangesByIdResponses[keyof GetApi20260701ResourcesEmployeeUpdatesPersonalChangesByIdResponses]; export type GetApi20260701ResourcesEmployeeUpdatesSummariesData = { body?: never; path?: never; query?: { /** * retrieve only the `employee updates` that matches the `ids` passed in the request. */ 'ids[]'?: Array; /** * retrieve only the `employee updates` assigned to any `employee` specified in the request. */ 'employee_ids[]'?: Array; /** * retrieve only the `employee updates` assigned to any `legal entity` specified in the request. */ 'legal_entities_ids[]'?: Array; /** * filter `employee updates` that have the given type. The supported types are: sick, parental, name, id, address, irpf, bank, residence, nationality, gender, hiring, custom-leave, termination, contract, workplace, manual_incidence, legal_entity */ 'type[]'?: Array; /** * filter `employee updates` that started **later** the given param. */ starts_on?: string; /** * filter `employee updates` that started **before** the given param. */ ends_on?: string; }; url: '/api/2026-07-01/resources/employee_updates/summaries'; }; export type GetApi20260701ResourcesEmployeeUpdatesSummariesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesEmployeeUpdatesSummariesResponse = GetApi20260701ResourcesEmployeeUpdatesSummariesResponses[keyof GetApi20260701ResourcesEmployeeUpdatesSummariesResponses]; export type GetApi20260701ResourcesEmployeeUpdatesSummariesByIdData = { body?: never; path: { /** * retrieve only the `employee updates` that matches the `ids` passed in the request. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/employee_updates/summaries/{id}'; }; export type GetApi20260701ResourcesEmployeeUpdatesSummariesByIdResponses = { /** * OK */ 200: EmployeeUpdatesSummary; }; export type GetApi20260701ResourcesEmployeeUpdatesSummariesByIdResponse = GetApi20260701ResourcesEmployeeUpdatesSummariesByIdResponses[keyof GetApi20260701ResourcesEmployeeUpdatesSummariesByIdResponses]; export type GetApi20260701ResourcesEmployeeUpdatesTerminationsData = { body?: never; path?: never; query?: { /** * filter by termination incidence ids. */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/employee_updates/terminations'; }; export type GetApi20260701ResourcesEmployeeUpdatesTerminationsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesEmployeeUpdatesTerminationsResponse = GetApi20260701ResourcesEmployeeUpdatesTerminationsResponses[keyof GetApi20260701ResourcesEmployeeUpdatesTerminationsResponses]; export type GetApi20260701ResourcesEmployeeUpdatesTerminationsByIdData = { body?: never; path: { /** * filter by termination incidence ids. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/employee_updates/terminations/{id}'; }; export type GetApi20260701ResourcesEmployeeUpdatesTerminationsByIdResponses = { /** * OK */ 200: EmployeeUpdatesTermination; }; export type GetApi20260701ResourcesEmployeeUpdatesTerminationsByIdResponse = GetApi20260701ResourcesEmployeeUpdatesTerminationsByIdResponses[keyof GetApi20260701ResourcesEmployeeUpdatesTerminationsByIdResponses]; export type GetApi20260701ResourcesExpensesExpensablesData = { body?: never; path?: never; query: { 'ids[]'?: Array; company_id?: string; 'group_ids[]'?: Array; 'by_resources[]'?: Array; 'employee_ids[]'?: Array; 'reporter_ids[]'?: Array; 'status[]'?: 'pending' | 'changes_requested' | 'approved' | 'paid' | 'rejected' | 'reversed' | 'draft' | 'in_payroll' | 'sent_to_pay'; 'creation_type[]'?: Array; from?: string; to?: string; search?: string; include_grouped: boolean; include_attachments: boolean; include_manual_drafts: boolean; }; url: '/api/2026-07-01/resources/expenses/expensables'; }; export type GetApi20260701ResourcesExpensesExpensablesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesExpensesExpensablesResponse = GetApi20260701ResourcesExpensesExpensablesResponses[keyof GetApi20260701ResourcesExpensesExpensablesResponses]; export type GetApi20260701ResourcesExpensesExpensablesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/expenses/expensables/{id}'; }; export type GetApi20260701ResourcesExpensesExpensablesByIdResponses = { /** * OK */ 200: ExpensesExpensable; }; export type GetApi20260701ResourcesExpensesExpensablesByIdResponse = GetApi20260701ResourcesExpensesExpensablesByIdResponses[keyof GetApi20260701ResourcesExpensesExpensablesByIdResponses]; export type PostApi20260701ResourcesExpensesExpensablesBulkSetToPaidData = { body?: { /** * The IDs of the expensables to set to paid */ ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/expenses/expensables/bulk_set_to_paid'; }; export type PostApi20260701ResourcesExpensesExpensablesBulkSetToPaidResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesExpensesExpensablesBulkSetToPaidResponse = PostApi20260701ResourcesExpensesExpensablesBulkSetToPaidResponses[keyof PostApi20260701ResourcesExpensesExpensablesBulkSetToPaidResponses]; export type PostApi20260701ResourcesExpensesExpensablesUpdateReimbursableAmountData = { body?: { /** * The ID of the expensable */ id: string; /** * The reimbursable amount in cents */ reimbursable_amount: number; }; path?: never; query?: never; url: '/api/2026-07-01/resources/expenses/expensables/update_reimbursable_amount'; }; export type PostApi20260701ResourcesExpensesExpensablesUpdateReimbursableAmountResponses = { /** * OK */ 200: ExpensesExpensable; }; export type PostApi20260701ResourcesExpensesExpensablesUpdateReimbursableAmountResponse = PostApi20260701ResourcesExpensesExpensablesUpdateReimbursableAmountResponses[keyof PostApi20260701ResourcesExpensesExpensablesUpdateReimbursableAmountResponses]; export type GetApi20260701ResourcesExpensesExpensesData = { body?: never; path?: never; query: { /** * The ids of the expenses to filter by */ 'ids[]'?: Array; /** * The ids of the expensables to filter by */ 'expenses_expensable_ids[]'?: Array; /** * Whether to include manual drafts */ include_manual_drafts: boolean; /** * The ids of the employees to filter by */ 'employee_ids[]'?: Array; /** * The ids of the external authorizations to filter by */ 'external_authorization_ids[]'?: Array; /** * The ids of the cards to filter by */ 'card_ids[]'?: Array; /** * The ids of the card payments to filter by */ 'card_payment_ids[]'?: Array; /** * Wether to include the attachments */ include_attachments: boolean; /** * The time from which to filter expenses */ from?: string; /** * The time to which to filter expenses */ to?: string; /** * The ids of the disputes to filter by */ 'dispute_ids[]'?: Array; }; url: '/api/2026-07-01/resources/expenses/expenses'; }; export type GetApi20260701ResourcesExpensesExpensesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesExpensesExpensesResponse = GetApi20260701ResourcesExpensesExpensesResponses[keyof GetApi20260701ResourcesExpensesExpensesResponses]; export type GetApi20260701ResourcesExpensesExpensesByIdData = { body?: never; path: { /** * The ids of the expenses to filter by */ id: string; }; query?: never; url: '/api/2026-07-01/resources/expenses/expenses/{id}'; }; export type GetApi20260701ResourcesExpensesExpensesByIdResponses = { /** * OK */ 200: ExpensesExpense; }; export type GetApi20260701ResourcesExpensesExpensesByIdResponse = GetApi20260701ResourcesExpensesExpensesByIdResponses[keyof GetApi20260701ResourcesExpensesExpensesByIdResponses]; export type GetApi20260701ResourcesExpensesMileagesData = { body?: never; path?: never; query: { 'ids[]'?: Array; 'expenses_expensable_ids[]'?: Array; include_manual_drafts: boolean; 'employee_ids[]'?: Array; 'external_authorization_ids[]'?: Array; 'card_ids[]'?: Array; 'card_payment_ids[]'?: Array; include_attachments: boolean; from?: string; to?: string; 'dispute_ids[]'?: Array; }; url: '/api/2026-07-01/resources/expenses/mileages'; }; export type GetApi20260701ResourcesExpensesMileagesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesExpensesMileagesResponse = GetApi20260701ResourcesExpensesMileagesResponses[keyof GetApi20260701ResourcesExpensesMileagesResponses]; export type GetApi20260701ResourcesExpensesMileagesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/expenses/mileages/{id}'; }; export type GetApi20260701ResourcesExpensesMileagesByIdResponses = { /** * OK */ 200: ExpensesMileage; }; export type GetApi20260701ResourcesExpensesMileagesByIdResponse = GetApi20260701ResourcesExpensesMileagesByIdResponses[keyof GetApi20260701ResourcesExpensesMileagesByIdResponses]; export type GetApi20260701ResourcesExpensesPerDiemsData = { body?: never; path?: never; query?: { /** * The IDs of the per diem to read. */ 'ids[]'?: Array; /** * The IDs of the expensables to read per diems for. */ 'expenses_expensable_ids[]'?: Array; /** * Whether to exclude drafts from the results. */ exclude_drafts?: boolean; }; url: '/api/2026-07-01/resources/expenses/per_diems'; }; export type GetApi20260701ResourcesExpensesPerDiemsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesExpensesPerDiemsResponse = GetApi20260701ResourcesExpensesPerDiemsResponses[keyof GetApi20260701ResourcesExpensesPerDiemsResponses]; export type GetApi20260701ResourcesExpensesPerDiemsByIdData = { body?: never; path: { /** * The IDs of the per diem to read. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/expenses/per_diems/{id}'; }; export type GetApi20260701ResourcesExpensesPerDiemsByIdResponses = { /** * OK */ 200: ExpensesPerDiem; }; export type GetApi20260701ResourcesExpensesPerDiemsByIdResponse = GetApi20260701ResourcesExpensesPerDiemsByIdResponses[keyof GetApi20260701ResourcesExpensesPerDiemsByIdResponses]; export type GetApi20260701ResourcesFinanceAccountsData = { body?: never; path?: never; query?: { /** * Search ledger accounts by ID */ 'ids[]'?: Array; /** * Search ledger accounts by legal_entity_id */ 'legal_entity_ids[]'?: Array; /** * Search ledger accounts by type */ 'types[]'?: Array; /** * Search ledger accounts by number */ number?: string; /** * Start date for filtering ledger accounts based on their last update. */ updated_from?: string; }; url: '/api/2026-07-01/resources/finance/accounts'; }; export type GetApi20260701ResourcesFinanceAccountsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceAccountsResponse = GetApi20260701ResourcesFinanceAccountsResponses[keyof GetApi20260701ResourcesFinanceAccountsResponses]; export type PostApi20260701ResourcesFinanceAccountsData = { body?: { /** * Name of the ledger account */ name?: string; /** * Number of the ledger account */ number: string; /** * Type of the ledger account */ type: 'equity' | 'non_current_asset' | 'current_asset' | 'bank' | 'non_current_liability' | 'current_liability' | 'expense' | 'income'; /** * Currency of the ledger account */ currency: string; /** * Legal entity ID of the ledger account */ legal_entity_id: string; /** * Id of the ledger account on the external system. This field is important to avoid having duplicated ledger accounts */ external_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/finance/accounts'; }; export type PostApi20260701ResourcesFinanceAccountsResponses = { /** * CREATED */ 201: FinanceAccount; }; export type PostApi20260701ResourcesFinanceAccountsResponse = PostApi20260701ResourcesFinanceAccountsResponses[keyof PostApi20260701ResourcesFinanceAccountsResponses]; export type GetApi20260701ResourcesFinanceAccountsByIdData = { body?: never; path: { /** * Search ledger accounts by ID */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/accounts/{id}'; }; export type GetApi20260701ResourcesFinanceAccountsByIdResponses = { /** * OK */ 200: FinanceAccount; }; export type GetApi20260701ResourcesFinanceAccountsByIdResponse = GetApi20260701ResourcesFinanceAccountsByIdResponses[keyof GetApi20260701ResourcesFinanceAccountsByIdResponses]; export type PutApi20260701ResourcesFinanceAccountsByIdData = { body?: { /** * Unique identifier in factorial for the ledger account */ id: string; /** * Name of the ledger account */ name?: string; /** * Number of the ledger account */ number?: string; /** * Type of the ledger account */ type?: 'equity' | 'non_current_asset' | 'current_asset' | 'bank' | 'non_current_liability' | 'current_liability' | 'expense' | 'income'; /** * Currency of the ledger account */ currency?: string; /** * Legal entity ID of the ledger account */ legal_entity_id?: string; /** * Id of the ledger account on the external system */ external_id?: string; }; path: { /** * Unique identifier in factorial for the ledger account */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/accounts/{id}'; }; export type PutApi20260701ResourcesFinanceAccountsByIdResponses = { /** * OK */ 200: FinanceAccount; }; export type PutApi20260701ResourcesFinanceAccountsByIdResponse = PutApi20260701ResourcesFinanceAccountsByIdResponses[keyof PutApi20260701ResourcesFinanceAccountsByIdResponses]; export type GetApi20260701ResourcesFinanceAccountingSettingsData = { body?: never; path?: never; query?: { /** * List of AccountingSetting IDs to filter. */ 'ids[]'?: Array; /** * Filter by an array of legal entity IDs. */ 'legal_entity_ids[]'?: Array; /** * Start date for filtering accounting settings records based on their last update. */ updated_from?: string; }; url: '/api/2026-07-01/resources/finance/accounting_settings'; }; export type GetApi20260701ResourcesFinanceAccountingSettingsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceAccountingSettingsResponse = GetApi20260701ResourcesFinanceAccountingSettingsResponses[keyof GetApi20260701ResourcesFinanceAccountingSettingsResponses]; export type GetApi20260701ResourcesFinanceAccountingSettingsByIdData = { body?: never; path: { /** * List of AccountingSetting IDs to filter. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/accounting_settings/{id}'; }; export type GetApi20260701ResourcesFinanceAccountingSettingsByIdResponses = { /** * OK */ 200: FinanceAccountingSetting; }; export type GetApi20260701ResourcesFinanceAccountingSettingsByIdResponse = GetApi20260701ResourcesFinanceAccountingSettingsByIdResponses[keyof GetApi20260701ResourcesFinanceAccountingSettingsByIdResponses]; export type PostApi20260701ResourcesFinanceAccountingSettingsUpsertData = { body?: { /** * External ID for the accounting setting. */ external_id?: string; /** * ID of the associated Legal Entity. */ legal_entity_id: string; /** * Default account for purchase invoices. */ default_account_for_purchase_invoices_id?: string; /** * Default account for vendors. */ default_account_for_vendors_id?: string; /** * Default account for banks. */ default_account_for_banks_id?: string; /** * Default suspense account. */ default_account_for_suspense_id?: string; /** * Default account for expenses. */ default_account_for_expenses_id?: string; /** * Default account for employees. */ default_account_for_employees_id?: string; /** * Default account for sale invoices. */ default_account_for_sale_invoices_id?: string; /** * Default account for clients. */ default_account_for_clients_id?: string; /** * Default account for benefits. */ default_account_for_benefits_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/finance/accounting_settings/upsert'; }; export type PostApi20260701ResourcesFinanceAccountingSettingsUpsertResponses = { /** * OK */ 200: FinanceAccountingSetting; }; export type PostApi20260701ResourcesFinanceAccountingSettingsUpsertResponse = PostApi20260701ResourcesFinanceAccountingSettingsUpsertResponses[keyof PostApi20260701ResourcesFinanceAccountingSettingsUpsertResponses]; export type GetApi20260701ResourcesFinanceBudgetOptionsData = { body?: never; path?: never; query: { /** * Search budget options by ID */ 'ids[]'?: Array; /** * Search budget options by employee IDs */ 'employee_ids[]'?: Array; /** * Filter budget options effective at this date */ effective_at?: string; /** * Include inactive budget options */ include_inactive: boolean; /** * Include archived budget options */ include_archived: boolean; }; url: '/api/2026-07-01/resources/finance/budget_options'; }; export type GetApi20260701ResourcesFinanceBudgetOptionsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceBudgetOptionsResponse = GetApi20260701ResourcesFinanceBudgetOptionsResponses[keyof GetApi20260701ResourcesFinanceBudgetOptionsResponses]; export type GetApi20260701ResourcesFinanceBudgetOptionsByIdData = { body?: never; path: { /** * Search budget options by ID */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/budget_options/{id}'; }; export type GetApi20260701ResourcesFinanceBudgetOptionsByIdResponses = { /** * OK */ 200: FinanceBudgetOption; }; export type GetApi20260701ResourcesFinanceBudgetOptionsByIdResponse = GetApi20260701ResourcesFinanceBudgetOptionsByIdResponses[keyof GetApi20260701ResourcesFinanceBudgetOptionsByIdResponses]; export type GetApi20260701ResourcesFinanceCategoriesData = { body?: never; path?: never; query: { /** * Search categories by ID */ 'ids[]'?: Array; /** * Search categories by company IDs */ 'company_ids[]'?: Array; /** * Search subcategories by parent category ID */ 'parent_category_ids[]'?: Array; /** * Filter by category level */ category_level: 'category' | 'subcategory' | 'all'; /** * Filter by category type */ type: 'mileage' | 'expense' | 'perdiem' | 'all'; /** * Filter by category status */ 'statuses[]': 'deleted' | 'disabled' | 'enabled'; /** * Search by category label or identifier */ search?: string; }; url: '/api/2026-07-01/resources/finance/categories'; }; export type GetApi20260701ResourcesFinanceCategoriesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceCategoriesResponse = GetApi20260701ResourcesFinanceCategoriesResponses[keyof GetApi20260701ResourcesFinanceCategoriesResponses]; export type GetApi20260701ResourcesFinanceCategoriesByIdData = { body?: never; path: { /** * Search categories by ID */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/categories/{id}'; }; export type GetApi20260701ResourcesFinanceCategoriesByIdResponses = { /** * OK */ 200: FinanceCategory; }; export type GetApi20260701ResourcesFinanceCategoriesByIdResponse = GetApi20260701ResourcesFinanceCategoriesByIdResponses[keyof GetApi20260701ResourcesFinanceCategoriesByIdResponses]; export type GetApi20260701ResourcesFinanceContactsData = { body?: never; path?: never; query?: { /** * List of Contact IDs to filter by. */ 'ids[]'?: Array; /** * List of Tax IDs to filter by. */ 'tax_ids[]'?: Array; /** * Filter by partial match of a contact's legal name. */ legal_name?: string; /** * The commercial name of the Contact. */ name?: string; /** * Type of the contact (defaults to Vendor). */ contact_type?: 'client' | 'vendor'; /** * The website of the Contact. */ website?: string; /** * The email of the Contact. */ email?: string; /** * The phone number of the Contact. */ phone_number?: string; /** * Start date for filtering Contacts records based on their last update. */ updated_from?: string; }; url: '/api/2026-07-01/resources/finance/contacts'; }; export type GetApi20260701ResourcesFinanceContactsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceContactsResponse = GetApi20260701ResourcesFinanceContactsResponses[keyof GetApi20260701ResourcesFinanceContactsResponses]; export type PostApi20260701ResourcesFinanceContactsData = { body?: { /** * The commercial name of the Contact. */ name: string; /** * Tax identification number assigned to the Contact. */ tax_id?: string; /** * The official or legal name of the Contact. */ legal_name?: string; /** * The address object containing street, city, etc. */ address: { [key: string]: unknown; }; /** * International Bank Account Number if provided. */ iban?: string; /** * Bank or branch code for the Contact if relevant. */ bank_code?: string; /** * The external id of the contact. */ external_id?: string; /** * List of project IDs associated with the Contact. */ project_ids?: Array; /** * The website of the Contact. */ website?: string; /** * The email of the Contact. */ email?: string; /** * The phone number of the Contact. */ phone_number?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/finance/contacts'; }; export type PostApi20260701ResourcesFinanceContactsResponses = { /** * CREATED */ 201: FinanceContact; }; export type PostApi20260701ResourcesFinanceContactsResponse = PostApi20260701ResourcesFinanceContactsResponses[keyof PostApi20260701ResourcesFinanceContactsResponses]; export type GetApi20260701ResourcesFinanceContactsByIdData = { body?: never; path: { /** * List of Contact IDs to filter by. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/contacts/{id}'; }; export type GetApi20260701ResourcesFinanceContactsByIdResponses = { /** * OK */ 200: FinanceContact; }; export type GetApi20260701ResourcesFinanceContactsByIdResponse = GetApi20260701ResourcesFinanceContactsByIdResponses[keyof GetApi20260701ResourcesFinanceContactsByIdResponses]; export type PutApi20260701ResourcesFinanceContactsByIdData = { body?: { /** * ID of the Contact to update. */ id: string; /** * Tax identification number assigned to the Contact. */ tax_id?: string; /** * The official or legal name of the Contact. */ legal_name?: string; /** * The commercial name of the Contact. */ name?: string; /** * The address object containing street, city, etc. Example: { "city": "East Ariana", "country_code": "SC", "line1": "93402 Spencer Points", "line2": "Apt. 555", "postal_code": "61471", "state": "Oklahoma" } */ address: { [key: string]: unknown; }; /** * The website of the Contact. */ website?: string; /** * The email of the Contact. */ email?: string; /** * The phone number of the Contact. */ phone_number?: string; }; path: { /** * ID of the Contact to update. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/contacts/{id}'; }; export type PutApi20260701ResourcesFinanceContactsByIdResponses = { /** * OK */ 200: FinanceContact; }; export type PutApi20260701ResourcesFinanceContactsByIdResponse = PutApi20260701ResourcesFinanceContactsByIdResponses[keyof PutApi20260701ResourcesFinanceContactsByIdResponses]; export type GetApi20260701ResourcesFinanceCostCentersData = { body?: never; path?: never; query?: { 'ids[]'?: Array; company_id?: string; 'legal_entity_ids[]'?: Array; include_actives_on_date?: string; search?: string; }; url: '/api/2026-07-01/resources/finance/cost_centers'; }; export type GetApi20260701ResourcesFinanceCostCentersResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceCostCentersResponse = GetApi20260701ResourcesFinanceCostCentersResponses[keyof GetApi20260701ResourcesFinanceCostCentersResponses]; export type PostApi20260701ResourcesFinanceCostCentersData = { body?: { name: string; company_id: string; legal_entity_id?: string; code?: string; description?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/finance/cost_centers'; }; export type PostApi20260701ResourcesFinanceCostCentersResponses = { /** * CREATED */ 201: FinanceCostCenter; }; export type PostApi20260701ResourcesFinanceCostCentersResponse = PostApi20260701ResourcesFinanceCostCentersResponses[keyof PostApi20260701ResourcesFinanceCostCentersResponses]; export type DeleteApi20260701ResourcesFinanceCostCentersByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/cost_centers/{id}'; }; export type DeleteApi20260701ResourcesFinanceCostCentersByIdResponses = { /** * OK */ 200: FinanceCostCenter; }; export type DeleteApi20260701ResourcesFinanceCostCentersByIdResponse = DeleteApi20260701ResourcesFinanceCostCentersByIdResponses[keyof DeleteApi20260701ResourcesFinanceCostCentersByIdResponses]; export type GetApi20260701ResourcesFinanceCostCentersByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/cost_centers/{id}'; }; export type GetApi20260701ResourcesFinanceCostCentersByIdResponses = { /** * OK */ 200: FinanceCostCenter; }; export type GetApi20260701ResourcesFinanceCostCentersByIdResponse = GetApi20260701ResourcesFinanceCostCentersByIdResponses[keyof GetApi20260701ResourcesFinanceCostCentersByIdResponses]; export type PostApi20260701ResourcesFinanceCostCentersEditData = { body?: { id: string; name?: string; code?: string; description?: string; company_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/finance/cost_centers/edit'; }; export type PostApi20260701ResourcesFinanceCostCentersEditResponses = { /** * OK */ 200: FinanceCostCenter; }; export type PostApi20260701ResourcesFinanceCostCentersEditResponse = PostApi20260701ResourcesFinanceCostCentersEditResponses[keyof PostApi20260701ResourcesFinanceCostCentersEditResponses]; export type GetApi20260701ResourcesFinanceCostCenterMembershipsData = { body?: never; path?: never; query?: { /** * To retreive active cost center memberships for a specific cost center */ cost_center_id?: string; /** * To retreive active cost center memberships for a specific employee */ employee_id?: string; /** * To retreive active cost center memberships for a specific date */ active_on?: string; /** * To retreive only active cost center memberships, this is the default behavior */ only_active?: boolean; /** * To retreive cost center memberships applying on a specific date */ applying_on?: string; /** * retrieve the cost center memberships for a specific company */ company_id?: string; /** * retrieve the cost center memberships for a list of cost centers */ 'cost_center_ids[]'?: Array; }; url: '/api/2026-07-01/resources/finance/cost_center_memberships'; }; export type GetApi20260701ResourcesFinanceCostCenterMembershipsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceCostCenterMembershipsResponse = GetApi20260701ResourcesFinanceCostCenterMembershipsResponses[keyof GetApi20260701ResourcesFinanceCostCenterMembershipsResponses]; export type PostApi20260701ResourcesFinanceCostCenterMembershipsBulkCreateUpdateData = { body?: { employee_id: string; memberships: Array; company_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/finance/cost_center_memberships/bulk_create_update'; }; export type PostApi20260701ResourcesFinanceCostCenterMembershipsBulkCreateUpdateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesFinanceCostCenterMembershipsBulkCreateUpdateResponse = PostApi20260701ResourcesFinanceCostCenterMembershipsBulkCreateUpdateResponses[keyof PostApi20260701ResourcesFinanceCostCenterMembershipsBulkCreateUpdateResponses]; export type GetApi20260701ResourcesFinanceFinancialDocumentsData = { body?: never; path?: never; query?: { /** * Search financial documents by company_id */ company_id?: string; /** * Search financial documents by ID */ 'ids[]'?: Array; /** * Search financial documents by vendor_id */ vendor_id?: string; /** * Search financial documents by currency */ currency?: string; /** * Search financial documents by status */ 'statuses[]'?: 'processing' | 'review' | 'sent_to_pay' | 'paid'; /** * Search financial documents by legal_entity_id */ 'legal_entity_ids[]'?: Array; /** * Search financial documents by document_type */ 'document_types[]'?: 'invoice' | 'receipt' | 'credit_note'; /** * Filter financial documents updated from a specific date */ updated_from?: string; }; url: '/api/2026-07-01/resources/finance/financial_documents'; }; export type GetApi20260701ResourcesFinanceFinancialDocumentsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceFinancialDocumentsResponse = GetApi20260701ResourcesFinanceFinancialDocumentsResponses[keyof GetApi20260701ResourcesFinanceFinancialDocumentsResponses]; export type GetApi20260701ResourcesFinanceFinancialDocumentsByIdData = { body?: never; path: { /** * Search financial documents by ID */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/financial_documents/{id}'; }; export type GetApi20260701ResourcesFinanceFinancialDocumentsByIdResponses = { /** * OK */ 200: FinanceFinancialDocument; }; export type GetApi20260701ResourcesFinanceFinancialDocumentsByIdResponse = GetApi20260701ResourcesFinanceFinancialDocumentsByIdResponses[keyof GetApi20260701ResourcesFinanceFinancialDocumentsByIdResponses]; export type GetApi20260701ResourcesFinanceJournalEntriesData = { body?: never; path?: never; query?: { /** * Filter by JournalEntry IDs */ 'ids[]'?: Array; /** * Filter by Legal Entity IDs */ 'legal_entity_ids[]'?: Array; /** * Filter by Source IDs */ 'source_ids[]'?: Array; /** * Filter by related source type */ source_type?: 'bank_transaction' | 'invoice' | 'reconciliation' | 'finance_reconciliation' | 'account' | 'expense' | 'payroll_result' | 'journal_entry'; /** * Filter by entry type */ 'types[]'?: 'bank' | 'bill' | 'invoice' | 'credit_note' | 'merged_ledger_account' | 'reconciliation' | 'tax' | 'receipt' | 'payroll_result' | 'external'; /** * Filter by Journal Entry Status */ status?: 'published' | 'reversed'; /** * Start date for filtering journal entries records based on their last update. */ updated_from?: string; }; url: '/api/2026-07-01/resources/finance/journal_entries'; }; export type GetApi20260701ResourcesFinanceJournalEntriesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceJournalEntriesResponse = GetApi20260701ResourcesFinanceJournalEntriesResponses[keyof GetApi20260701ResourcesFinanceJournalEntriesResponses]; export type PostApi20260701ResourcesFinanceJournalEntriesData = { body?: { /** * External identifier for the journal entry */ external_id?: string; /** * The associated Legal Entity ID */ legal_entity_id: string; /** * Journal entry type (e.g. bank, invoice, tax) */ type?: 'bank' | 'bill' | 'invoice' | 'credit_note' | 'merged_ledger_account' | 'reconciliation' | 'tax' | 'receipt' | 'payroll_result' | 'external'; /** * Array of journal lines for this entry, example: [{"account_id": 9876, "debit_amount_cents": 0, "credit_amount_cents": 100, "external_id": "LINE-001"}, {"account_id": 9876, "debit_amount_cents": 100, "credit_amount_cents": 0, "external_id": "LINE-002"}] */ lines: Array; /** * Date of the associate source */ reference_date: string; /** * Description of the journal entry */ description?: string; /** * Status of the journal entry (reversed, published, etc.) */ status?: 'published' | 'reversed'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/finance/journal_entries'; }; export type PostApi20260701ResourcesFinanceJournalEntriesResponses = { /** * CREATED */ 201: FinanceJournalEntry; }; export type PostApi20260701ResourcesFinanceJournalEntriesResponse = PostApi20260701ResourcesFinanceJournalEntriesResponses[keyof PostApi20260701ResourcesFinanceJournalEntriesResponses]; export type GetApi20260701ResourcesFinanceJournalEntriesByIdData = { body?: never; path: { /** * Filter by JournalEntry IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/journal_entries/{id}'; }; export type GetApi20260701ResourcesFinanceJournalEntriesByIdResponses = { /** * OK */ 200: FinanceJournalEntry; }; export type GetApi20260701ResourcesFinanceJournalEntriesByIdResponse = GetApi20260701ResourcesFinanceJournalEntriesByIdResponses[keyof GetApi20260701ResourcesFinanceJournalEntriesByIdResponses]; export type GetApi20260701ResourcesFinanceJournalLinesData = { body?: never; path?: never; query?: { /** * Filter by specific JournalLine IDs */ 'ids[]'?: Array; /** * Filter by specific JournalEntry IDs */ 'journal_entry_ids[]'?: Array; /** * Filter by specific Account IDs */ 'account_ids[]'?: Array; /** * Filter by JournalEntry types, accepted values: bank, bill, invoice, credit_note, merged_ledger_account, reconciliation, tax, receipt, payroll_result, external */ 'journal_entry_types[]'?: 'bank' | 'bill' | 'invoice' | 'credit_note' | 'merged_ledger_account' | 'reconciliation' | 'tax' | 'receipt' | 'payroll_result' | 'external'; /** * The reconciliation status of the journal line */ reconciliation_status?: 'pending' | 'reconciled' | 'snoozed'; description?: string; /** * Start date for filtering journal line records based on their last update. */ updated_from?: string; }; url: '/api/2026-07-01/resources/finance/journal_lines'; }; export type GetApi20260701ResourcesFinanceJournalLinesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceJournalLinesResponse = GetApi20260701ResourcesFinanceJournalLinesResponses[keyof GetApi20260701ResourcesFinanceJournalLinesResponses]; export type GetApi20260701ResourcesFinanceJournalLinesByIdData = { body?: never; path: { /** * Filter by specific JournalLine IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/journal_lines/{id}'; }; export type GetApi20260701ResourcesFinanceJournalLinesByIdResponses = { /** * OK */ 200: FinanceJournalLine; }; export type GetApi20260701ResourcesFinanceJournalLinesByIdResponse = GetApi20260701ResourcesFinanceJournalLinesByIdResponses[keyof GetApi20260701ResourcesFinanceJournalLinesByIdResponses]; export type GetApi20260701ResourcesFinanceLedgerAccountResourcesData = { body?: never; path?: never; query?: { /** * Search ledger account resources by ID */ 'ids[]'?: Array; /** * Filter ledger account resources by resource ID */ 'resource_ids[]'?: Array; /** * Filter ledger account resources by resource type */ resource_type?: 'bankaccount' | 'vendor' | 'taxtype' | 'payrollconcept' | 'customcategory' | 'invoice'; /** * Filter ledger account resources by legal entity ID */ 'legal_entity_ids[]'?: Array; /** * Filter ledger account resources by updated at */ updated_from?: string; /** * Filter ledger account resources by finance account ID */ 'finance_account_ids[]'?: Array; }; url: '/api/2026-07-01/resources/finance/ledger_account_resources'; }; export type GetApi20260701ResourcesFinanceLedgerAccountResourcesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceLedgerAccountResourcesResponse = GetApi20260701ResourcesFinanceLedgerAccountResourcesResponses[keyof GetApi20260701ResourcesFinanceLedgerAccountResourcesResponses]; export type GetApi20260701ResourcesFinanceLedgerAccountResourcesByIdData = { body?: never; path: { /** * Search ledger account resources by ID */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/ledger_account_resources/{id}'; }; export type GetApi20260701ResourcesFinanceLedgerAccountResourcesByIdResponses = { /** * OK */ 200: FinanceLedgerAccountResource; }; export type GetApi20260701ResourcesFinanceLedgerAccountResourcesByIdResponse = GetApi20260701ResourcesFinanceLedgerAccountResourcesByIdResponses[keyof GetApi20260701ResourcesFinanceLedgerAccountResourcesByIdResponses]; export type PostApi20260701ResourcesFinanceLedgerAccountResourcesUpsertData = { body?: { /** * Factorial unique identifier. */ id?: string; /** * Name of the ledger account resource. */ name?: string; /** * Number of the ledger account resource. */ number?: string; /** * External identifier. */ external_id?: string; /** * Legal entity identifier. */ legal_entity_id: string; /** * Finance account identifier. */ account_id?: string; /** * Factorial unique identifier of the resource associated to the ledger account resource. */ resource_id?: string; /** * Ledger account resource type. */ resource_type: 'customcategory' | 'bankaccount' | 'vendor' | 'taxtype' | 'invoice' | 'payrollconcept'; /** * Ledger account balance type. */ balance_type?: 'credit' | 'debit'; /** * Ledger account operation type. */ operation_type?: 'purchase' | 'sale'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/finance/ledger_account_resources/upsert'; }; export type PostApi20260701ResourcesFinanceLedgerAccountResourcesUpsertResponses = { /** * OK */ 200: FinanceLedgerAccountResource; }; export type PostApi20260701ResourcesFinanceLedgerAccountResourcesUpsertResponse = PostApi20260701ResourcesFinanceLedgerAccountResourcesUpsertResponses[keyof PostApi20260701ResourcesFinanceLedgerAccountResourcesUpsertResponses]; export type GetApi20260701ResourcesFinanceTaxRatesData = { body?: never; path?: never; query?: { /** * List of TaxRate IDs to filter. */ 'ids[]'?: Array; /** * List of TaxType IDs to filter TaxRate records. */ 'tax_type_ids[]'?: Array; /** * Start date for filtering TaxRate records based on their last update. */ updated_from?: string; }; url: '/api/2026-07-01/resources/finance/tax_rates'; }; export type GetApi20260701ResourcesFinanceTaxRatesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceTaxRatesResponse = GetApi20260701ResourcesFinanceTaxRatesResponses[keyof GetApi20260701ResourcesFinanceTaxRatesResponses]; export type PostApi20260701ResourcesFinanceTaxRatesData = { body?: { /** * An optional text describing the tax rate's purpose or context. */ description?: string; /** * Specifies the numerical percentage for the tax rate between -1 and 1. */ rate?: number; /** * The identifier of the related TaxType record. */ tax_type_id?: string; /** * The external id of the tax rate. */ external_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/finance/tax_rates'; }; export type PostApi20260701ResourcesFinanceTaxRatesResponses = { /** * CREATED */ 201: FinanceTaxRate; }; export type PostApi20260701ResourcesFinanceTaxRatesResponse = PostApi20260701ResourcesFinanceTaxRatesResponses[keyof PostApi20260701ResourcesFinanceTaxRatesResponses]; export type GetApi20260701ResourcesFinanceTaxRatesByIdData = { body?: never; path: { /** * List of TaxRate IDs to filter. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/tax_rates/{id}'; }; export type GetApi20260701ResourcesFinanceTaxRatesByIdResponses = { /** * OK */ 200: FinanceTaxRate; }; export type GetApi20260701ResourcesFinanceTaxRatesByIdResponse = GetApi20260701ResourcesFinanceTaxRatesByIdResponses[keyof GetApi20260701ResourcesFinanceTaxRatesByIdResponses]; export type PutApi20260701ResourcesFinanceTaxRatesByIdData = { body?: { /** * The id of the tax rate. */ id: string; /** * An optional text describing the tax rate's purpose or context. */ description?: string; }; path: { /** * The id of the tax rate. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/tax_rates/{id}'; }; export type PutApi20260701ResourcesFinanceTaxRatesByIdResponses = { /** * OK */ 200: FinanceTaxRate; }; export type PutApi20260701ResourcesFinanceTaxRatesByIdResponse = PutApi20260701ResourcesFinanceTaxRatesByIdResponses[keyof PutApi20260701ResourcesFinanceTaxRatesByIdResponses]; export type GetApi20260701ResourcesFinanceTaxTypesData = { body?: never; path?: never; query?: { /** * List of TaxType IDs to filter. */ 'ids[]'?: Array; /** * Filters TaxTypes by a specified country code or includes those without any country code if set to nil. */ country_code?: string; /** * Filters TaxTypes by a type (vat, personal_income). */ type?: 'vat' | 'personal_income'; /** * Start date for filtering TaxType records based on their last update. */ updated_from?: string; }; url: '/api/2026-07-01/resources/finance/tax_types'; }; export type GetApi20260701ResourcesFinanceTaxTypesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesFinanceTaxTypesResponse = GetApi20260701ResourcesFinanceTaxTypesResponses[keyof GetApi20260701ResourcesFinanceTaxTypesResponses]; export type PostApi20260701ResourcesFinanceTaxTypesData = { body?: { /** * The name assigned to the tax type. */ name: string; /** * The tax category used to distinguish different tax kinds. */ type: 'vat' | 'personal_income'; /** * The country code where this tax type applies. */ country_code?: string; /** * The external id of the tax type. */ external_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/finance/tax_types'; }; export type PostApi20260701ResourcesFinanceTaxTypesResponses = { /** * CREATED */ 201: FinanceTaxType; }; export type PostApi20260701ResourcesFinanceTaxTypesResponse = PostApi20260701ResourcesFinanceTaxTypesResponses[keyof PostApi20260701ResourcesFinanceTaxTypesResponses]; export type GetApi20260701ResourcesFinanceTaxTypesByIdData = { body?: never; path: { /** * List of TaxType IDs to filter. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/tax_types/{id}'; }; export type GetApi20260701ResourcesFinanceTaxTypesByIdResponses = { /** * OK */ 200: FinanceTaxType; }; export type GetApi20260701ResourcesFinanceTaxTypesByIdResponse = GetApi20260701ResourcesFinanceTaxTypesByIdResponses[keyof GetApi20260701ResourcesFinanceTaxTypesByIdResponses]; export type PutApi20260701ResourcesFinanceTaxTypesByIdData = { body?: { /** * The id of the tax type. */ id: string; /** * The name assigned to the tax type. */ name?: string; /** * The tax category used to distinguish different tax kinds. */ type: 'vat' | 'personal_income'; /** * The country code where this tax type applies. */ country_code?: string; }; path: { /** * The id of the tax type. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/finance/tax_types/{id}'; }; export type PutApi20260701ResourcesFinanceTaxTypesByIdResponses = { /** * OK */ 200: FinanceTaxType; }; export type PutApi20260701ResourcesFinanceTaxTypesByIdResponse = PutApi20260701ResourcesFinanceTaxTypesByIdResponses[keyof PutApi20260701ResourcesFinanceTaxTypesByIdResponses]; export type GetApi20260701ResourcesHolidaysCompanyHolidaysData = { body?: never; path?: never; query?: { /** * Company holiday ids */ 'ids[]'?: Array; /** * Location ids */ 'location_ids[]'?: Array; /** * Team ids */ 'team_ids[]'?: Array; /** * Filter by the default location of these employees */ 'employee_ids[]'?: Array; /** * Start date */ start_at?: string; /** * End date */ end_at?: string; }; url: '/api/2026-07-01/resources/holidays/company_holidays'; }; export type GetApi20260701ResourcesHolidaysCompanyHolidaysResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesHolidaysCompanyHolidaysResponse = GetApi20260701ResourcesHolidaysCompanyHolidaysResponses[keyof GetApi20260701ResourcesHolidaysCompanyHolidaysResponses]; export type GetApi20260701ResourcesHolidaysCompanyHolidaysByIdData = { body?: never; path: { /** * Company holiday ids */ id: string; }; query?: never; url: '/api/2026-07-01/resources/holidays/company_holidays/{id}'; }; export type GetApi20260701ResourcesHolidaysCompanyHolidaysByIdResponses = { /** * OK */ 200: HolidaysCompanyHoliday; }; export type GetApi20260701ResourcesHolidaysCompanyHolidaysByIdResponse = GetApi20260701ResourcesHolidaysCompanyHolidaysByIdResponses[keyof GetApi20260701ResourcesHolidaysCompanyHolidaysByIdResponses]; export type PostApi20260701ResourcesIntegrationsSyncRunOutputsData = { body?: { /** * Identifier of the sync run this output belongs to */ sync_run_id: string; /** * The CSV file to upload as the sync run output */ file: Blob | File; }; path?: never; query?: never; url: '/api/2026-07-01/resources/integrations/sync_run_outputs'; }; export type PostApi20260701ResourcesIntegrationsSyncRunOutputsResponses = { /** * CREATED */ 201: IntegrationsSyncRunOutput; }; export type PostApi20260701ResourcesIntegrationsSyncRunOutputsResponse = PostApi20260701ResourcesIntegrationsSyncRunOutputsResponses[keyof PostApi20260701ResourcesIntegrationsSyncRunOutputsResponses]; export type GetApi20260701ResourcesIntegrationsSyncableItemsData = { body?: never; path?: never; query: { /** * Identifier of the sync run */ sync_run_id: string; }; url: '/api/2026-07-01/resources/integrations/syncable_items'; }; export type GetApi20260701ResourcesIntegrationsSyncableItemsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesIntegrationsSyncableItemsResponse = GetApi20260701ResourcesIntegrationsSyncableItemsResponses[keyof GetApi20260701ResourcesIntegrationsSyncableItemsResponses]; export type PutApi20260701ResourcesIntegrationsSyncableSyncRunsByIdData = { body?: { /** * Identifier of the syncable sync run */ id: string; /** * Status of the syncable sync run */ status: 'success' | 'failed' | 'invalid'; /** * Error or validation messages of the syncable sync run */ error_messages?: { [key: string]: unknown; }; }; path: { /** * Identifier of the syncable sync run */ id: string; }; query?: never; url: '/api/2026-07-01/resources/integrations/syncable_sync_runs/{id}'; }; export type PutApi20260701ResourcesIntegrationsSyncableSyncRunsByIdResponses = { /** * OK */ 200: IntegrationsSyncableSyncRun; }; export type PutApi20260701ResourcesIntegrationsSyncableSyncRunsByIdResponse = PutApi20260701ResourcesIntegrationsSyncableSyncRunsByIdResponses[keyof PutApi20260701ResourcesIntegrationsSyncableSyncRunsByIdResponses]; export type GetApi20260701ResourcesItManagementItAssetsData = { body?: never; path?: never; query?: { /** * IT Asset identifiers to retrieve */ 'ids[]'?: Array; /** * Serial numbers of IT assets to retrieve */ 'serial_numbers[]'?: Array; /** * Type names of IT assets to filter */ 'type_names[]'?: Array; /** * Owner (employee) identifiers to filter assets */ 'owner_ids[]'?: Array; /** * Location identifiers to filter assets */ 'location_ids[]'?: Array; /** * Workplace identifiers to filter assets */ 'workplace_ids[]'?: Array; /** * Team identifiers to filter assets */ 'team_ids[]'?: Array; }; url: '/api/2026-07-01/resources/it_management/it_assets'; }; export type GetApi20260701ResourcesItManagementItAssetsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesItManagementItAssetsResponse = GetApi20260701ResourcesItManagementItAssetsResponses[keyof GetApi20260701ResourcesItManagementItAssetsResponses]; export type PostApi20260701ResourcesItManagementItAssetsData = { body?: { /** * IT Asset Model identifier */ it_asset_model_id: string; /** * Serial number of the IT asset */ serial_number: string; /** * Owner (employee) identifier */ owner_id?: string; /** * Space identifier */ location_id?: string; /** * Workplace identifier */ workplace_id?: string; /** * Team identifier */ team_id?: string; /** * Purchase date of the IT asset (YYYY-MM-DD) */ purchase_date?: string; /** * Purchase price in cents */ purchase_price_cents?: number; /** * Currency of the purchase price */ currency?: string; /** * Warranty end date of the IT asset (YYYY-MM-DD) */ warranty_end_date?: string; /** * Label of the IT asset */ label?: string; /** * Notes about the IT asset */ notes?: string; /** * Company identifier */ company_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/it_management/it_assets'; }; export type PostApi20260701ResourcesItManagementItAssetsResponses = { /** * CREATED */ 201: ItManagementItAsset; }; export type PostApi20260701ResourcesItManagementItAssetsResponse = PostApi20260701ResourcesItManagementItAssetsResponses[keyof PostApi20260701ResourcesItManagementItAssetsResponses]; export type DeleteApi20260701ResourcesItManagementItAssetsByIdData = { body?: never; path: { /** * IT Asset identifier to delete */ id: string; }; query?: never; url: '/api/2026-07-01/resources/it_management/it_assets/{id}'; }; export type DeleteApi20260701ResourcesItManagementItAssetsByIdResponses = { /** * OK */ 200: ItManagementItAsset; }; export type DeleteApi20260701ResourcesItManagementItAssetsByIdResponse = DeleteApi20260701ResourcesItManagementItAssetsByIdResponses[keyof DeleteApi20260701ResourcesItManagementItAssetsByIdResponses]; export type GetApi20260701ResourcesItManagementItAssetsByIdData = { body?: never; path: { /** * IT Asset identifiers to retrieve */ id: string; }; query?: never; url: '/api/2026-07-01/resources/it_management/it_assets/{id}'; }; export type GetApi20260701ResourcesItManagementItAssetsByIdResponses = { /** * OK */ 200: ItManagementItAsset; }; export type GetApi20260701ResourcesItManagementItAssetsByIdResponse = GetApi20260701ResourcesItManagementItAssetsByIdResponses[keyof GetApi20260701ResourcesItManagementItAssetsByIdResponses]; export type PutApi20260701ResourcesItManagementItAssetsByIdData = { body?: { /** * IT Asset identifier */ id: string; /** * IT Asset Model identifier (Endpoints related to ItManagement/it_asset_models). */ it_asset_model_id?: string; /** * Serial number of the IT asset */ serial_number?: string; /** * Status of the IT asset. Possible values: * - `assigned`: Asset is assigned to an employee * - `in_stock`: Asset is available in inventory * - `maintenance`: Asset is under maintenance or repair * - `retired`: Asset has been retired or decommissioned * * Note: Not all status transitions are allowed. For example, an asset cannot be directly changed from `assigned` or `in_stock` to certain other statuses without proper workflow validation. * */ status?: string; /** * Owner (employee) identifier */ owner_id?: string; /** * Space identifier */ location_id?: string; /** * Workplace identifier */ workplace_id?: string; /** * Team identifier */ team_id?: string; /** * Purchase date of the IT asset (YYYY-MM-DD) */ purchase_date?: string; /** * Purchase price in cents */ purchase_price_cents?: number; /** * Currency of the purchase price */ currency?: string; /** * Warranty end date of the IT asset (YYYY-MM-DD) */ warranty_end_date?: string; /** * Label of the IT asset */ label?: string; /** * Notes about the IT asset */ notes?: string; /** * Company identifier */ company_id?: string; }; path: { /** * IT Asset identifier */ id: string; }; query?: never; url: '/api/2026-07-01/resources/it_management/it_assets/{id}'; }; export type PutApi20260701ResourcesItManagementItAssetsByIdResponses = { /** * OK */ 200: ItManagementItAsset; }; export type PutApi20260701ResourcesItManagementItAssetsByIdResponse = PutApi20260701ResourcesItManagementItAssetsByIdResponses[keyof PutApi20260701ResourcesItManagementItAssetsByIdResponses]; export type GetApi20260701ResourcesItManagementItAssetModelsData = { body?: never; path?: never; query?: { /** * IT Asset Model identifiers to retrieve */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/it_management/it_asset_models'; }; export type GetApi20260701ResourcesItManagementItAssetModelsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesItManagementItAssetModelsResponse = GetApi20260701ResourcesItManagementItAssetModelsResponses[keyof GetApi20260701ResourcesItManagementItAssetModelsResponses]; export type PostApi20260701ResourcesItManagementItAssetModelsData = { body?: { /** * Type name of the IT asset model. Possible values are 'laptop', 'desktop', 'tablet', 'phone', 'screen', 'mouse', 'keyboard', 'headset', 'other' */ type_name: string; /** * Brand of the IT asset model */ brand: string; /** * Name/model of the IT asset model */ name: string; /** * Company identifier */ company_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/it_management/it_asset_models'; }; export type PostApi20260701ResourcesItManagementItAssetModelsResponses = { /** * CREATED */ 201: ItManagementItAssetModel; }; export type PostApi20260701ResourcesItManagementItAssetModelsResponse = PostApi20260701ResourcesItManagementItAssetModelsResponses[keyof PostApi20260701ResourcesItManagementItAssetModelsResponses]; export type GetApi20260701ResourcesItManagementItAssetModelsByIdData = { body?: never; path: { /** * IT Asset Model identifiers to retrieve */ id: string; }; query?: never; url: '/api/2026-07-01/resources/it_management/it_asset_models/{id}'; }; export type GetApi20260701ResourcesItManagementItAssetModelsByIdResponses = { /** * OK */ 200: ItManagementItAssetModel; }; export type GetApi20260701ResourcesItManagementItAssetModelsByIdResponse = GetApi20260701ResourcesItManagementItAssetModelsByIdResponses[keyof GetApi20260701ResourcesItManagementItAssetModelsByIdResponses]; export type PutApi20260701ResourcesItManagementItAssetModelsByIdData = { body?: { /** * IT Asset Model identifier */ id: string; /** * Type name of the IT asset model. Possible values are 'laptop', 'desktop', 'tablet', 'phone', 'screen', 'mouse', 'keyboard', 'headset', 'other' */ type_name: string; /** * Brand of the IT asset model */ brand: string; /** * Name/model of the IT asset model */ name: string; /** * Company identifier */ company_id?: string; }; path: { /** * IT Asset Model identifier */ id: string; }; query?: never; url: '/api/2026-07-01/resources/it_management/it_asset_models/{id}'; }; export type PutApi20260701ResourcesItManagementItAssetModelsByIdResponses = { /** * OK */ 200: ItManagementItAssetModel; }; export type PutApi20260701ResourcesItManagementItAssetModelsByIdResponse = PutApi20260701ResourcesItManagementItAssetModelsByIdResponses[keyof PutApi20260701ResourcesItManagementItAssetModelsByIdResponses]; export type GetApi20260701ResourcesJobCatalogLevelsData = { body?: never; path?: never; query?: { /** * filter by level ids. */ 'ids[]'?: Array; /** * filter by role ids. */ 'role_ids[]'?: Array; }; url: '/api/2026-07-01/resources/job_catalog/levels'; }; export type GetApi20260701ResourcesJobCatalogLevelsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesJobCatalogLevelsResponse = GetApi20260701ResourcesJobCatalogLevelsResponses[keyof GetApi20260701ResourcesJobCatalogLevelsResponses]; export type GetApi20260701ResourcesJobCatalogLevelsByIdData = { body?: never; path: { /** * filter by level ids. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/job_catalog/levels/{id}'; }; export type GetApi20260701ResourcesJobCatalogLevelsByIdResponses = { /** * OK */ 200: JobCatalogLevel; }; export type GetApi20260701ResourcesJobCatalogLevelsByIdResponse = GetApi20260701ResourcesJobCatalogLevelsByIdResponses[keyof GetApi20260701ResourcesJobCatalogLevelsByIdResponses]; export type GetApi20260701ResourcesJobCatalogNodeAttributesData = { body?: never; path?: never; query: { /** * Preferred identifier of the node to fetch attributes for. Required unless `node_id` + `node_type` are provided. */ node_uuid: string; /** * Restrict the response to attributes of these classes (e.g., competency, salary_range). */ 'attribute_types[]': 'working_conditions' | 'competency' | 'salary_range' | 'it_management'; }; url: '/api/2026-07-01/resources/job_catalog/node_attributes'; }; export type GetApi20260701ResourcesJobCatalogNodeAttributesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesJobCatalogNodeAttributesResponse = GetApi20260701ResourcesJobCatalogNodeAttributesResponses[keyof GetApi20260701ResourcesJobCatalogNodeAttributesResponses]; export type GetApi20260701ResourcesJobCatalogRolesData = { body?: never; path?: never; query?: { 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/job_catalog/roles'; }; export type GetApi20260701ResourcesJobCatalogRolesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesJobCatalogRolesResponse = GetApi20260701ResourcesJobCatalogRolesResponses[keyof GetApi20260701ResourcesJobCatalogRolesResponses]; export type GetApi20260701ResourcesJobCatalogRolesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/job_catalog/roles/{id}'; }; export type GetApi20260701ResourcesJobCatalogRolesByIdResponses = { /** * OK */ 200: JobCatalogRole; }; export type GetApi20260701ResourcesJobCatalogRolesByIdResponse = GetApi20260701ResourcesJobCatalogRolesByIdResponses[keyof GetApi20260701ResourcesJobCatalogRolesByIdResponses]; export type GetApi20260701ResourcesJobCatalogTreeNodesData = { body?: never; path?: never; query: { /** * List of Job Catalog node UUIDs to fetch. Must reference nodes of a single type. */ 'uuids[]'?: Array; /** * Node type scope for the query. Required with IDs, ancestor filters, or name search. Accepted values: jobcatalog_treelevel, jobcatalog_treefunction, jobcatalog_treerole, jobcatalog_treefamily. */ node_type: 'jobcatalog_treeroot' | 'jobcatalog_treefamily' | 'jobcatalog_treefunction' | 'jobcatalog_treerole' | 'jobcatalog_treelevel'; /** * Return nodes that descend from any of these ancestor UUIDs (single node type only). */ 'ancestor_uuids[]'?: Array; /** * When true, includes each node's ordered ancestor path up to the root. */ include_full_path?: boolean; }; url: '/api/2026-07-01/resources/job_catalog/tree_nodes'; }; export type GetApi20260701ResourcesJobCatalogTreeNodesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesJobCatalogTreeNodesResponse = GetApi20260701ResourcesJobCatalogTreeNodesResponses[keyof GetApi20260701ResourcesJobCatalogTreeNodesResponses]; export type GetApi20260701ResourcesLocationsLocationsData = { body?: never; path?: never; query?: { /** * The location IDs to filter the results. */ 'ids[]'?: Array; /** * Return only the locations assigned to these employees. */ 'employee_ids[]'?: Array; /** * Wether to filter only the main location. */ main?: boolean; }; url: '/api/2026-07-01/resources/locations/locations'; }; export type GetApi20260701ResourcesLocationsLocationsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesLocationsLocationsResponse = GetApi20260701ResourcesLocationsLocationsResponses[keyof GetApi20260701ResourcesLocationsLocationsResponses]; export type PostApi20260701ResourcesLocationsLocationsData = { body?: { /** * name of the location */ name: string; /** * country code of the location */ country: string; /** * whether the location is the main one */ main?: boolean; /** * City of the location */ city?: string; /** * State of the location */ state?: string; /** * phone number of the location */ phone_number?: string; /** * Postal code of the location */ postal_code?: string; /** * Address line 1 of the location */ address_line_one?: string; /** * Address line 2 of the location */ address_line_two?: string; /** * latitude of the location */ latitude?: number; /** * longitude of the location */ longitude?: number; /** * timezone of the location */ timezone: string; /** * radius of the location */ radius?: number; /** * company identifier */ company_id: string; /** * siret of the location (only for France) */ siret?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/locations/locations'; }; export type PostApi20260701ResourcesLocationsLocationsResponses = { /** * CREATED */ 201: LocationsLocation; }; export type PostApi20260701ResourcesLocationsLocationsResponse = PostApi20260701ResourcesLocationsLocationsResponses[keyof PostApi20260701ResourcesLocationsLocationsResponses]; export type DeleteApi20260701ResourcesLocationsLocationsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/locations/locations/{id}'; }; export type DeleteApi20260701ResourcesLocationsLocationsByIdResponses = { /** * OK */ 200: LocationsLocation; }; export type DeleteApi20260701ResourcesLocationsLocationsByIdResponse = DeleteApi20260701ResourcesLocationsLocationsByIdResponses[keyof DeleteApi20260701ResourcesLocationsLocationsByIdResponses]; export type GetApi20260701ResourcesLocationsLocationsByIdData = { body?: never; path: { /** * The location IDs to filter the results. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/locations/locations/{id}'; }; export type GetApi20260701ResourcesLocationsLocationsByIdResponses = { /** * OK */ 200: LocationsLocation; }; export type GetApi20260701ResourcesLocationsLocationsByIdResponse = GetApi20260701ResourcesLocationsLocationsByIdResponses[keyof GetApi20260701ResourcesLocationsLocationsByIdResponses]; export type PutApi20260701ResourcesLocationsLocationsByIdData = { body?: { /** * identifier of the location */ id: string; /** * name of the location */ name?: string; /** * country code of the location */ country?: string; /** * whether the location is the main one */ main?: boolean; /** * City of the location */ city?: string; /** * State of the location */ state?: string; /** * phone number of the location */ phone_number?: string; /** * Postal code of the location */ postal_code?: string; /** * Address line 1 of the location */ address_line_one?: string; /** * Address line 2 of the location */ address_line_two?: string; /** * timezone of the location */ timezone?: string; /** * latitude of the location */ latitude?: number; /** * longitude of the location */ longitude?: number; /** * radius of the location */ radius?: number; /** * siret of the location (only for France) */ siret?: string; }; path: { /** * identifier of the location */ id: string; }; query?: never; url: '/api/2026-07-01/resources/locations/locations/{id}'; }; export type PutApi20260701ResourcesLocationsLocationsByIdResponses = { /** * OK */ 200: LocationsLocation; }; export type PutApi20260701ResourcesLocationsLocationsByIdResponse = PutApi20260701ResourcesLocationsLocationsByIdResponses[keyof PutApi20260701ResourcesLocationsLocationsByIdResponses]; export type GetApi20260701ResourcesLocationsWorkAreasData = { body?: never; path?: never; query: { 'ids[]'?: Array; 'location_ids[]'?: Array; only_non_archived: boolean; }; url: '/api/2026-07-01/resources/locations/work_areas'; }; export type GetApi20260701ResourcesLocationsWorkAreasResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesLocationsWorkAreasResponse = GetApi20260701ResourcesLocationsWorkAreasResponses[keyof GetApi20260701ResourcesLocationsWorkAreasResponses]; export type PostApi20260701ResourcesLocationsWorkAreasData = { body?: { name: string; location_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/locations/work_areas'; }; export type PostApi20260701ResourcesLocationsWorkAreasResponses = { /** * CREATED */ 201: LocationsWorkArea; }; export type PostApi20260701ResourcesLocationsWorkAreasResponse = PostApi20260701ResourcesLocationsWorkAreasResponses[keyof PostApi20260701ResourcesLocationsWorkAreasResponses]; export type GetApi20260701ResourcesLocationsWorkAreasByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/locations/work_areas/{id}'; }; export type GetApi20260701ResourcesLocationsWorkAreasByIdResponses = { /** * OK */ 200: LocationsWorkArea; }; export type GetApi20260701ResourcesLocationsWorkAreasByIdResponse = GetApi20260701ResourcesLocationsWorkAreasByIdResponses[keyof GetApi20260701ResourcesLocationsWorkAreasByIdResponses]; export type PutApi20260701ResourcesLocationsWorkAreasByIdData = { body?: { id: string; name: string; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/locations/work_areas/{id}'; }; export type PutApi20260701ResourcesLocationsWorkAreasByIdResponses = { /** * OK */ 200: LocationsWorkArea; }; export type PutApi20260701ResourcesLocationsWorkAreasByIdResponse = PutApi20260701ResourcesLocationsWorkAreasByIdResponses[keyof PutApi20260701ResourcesLocationsWorkAreasByIdResponses]; export type PostApi20260701ResourcesLocationsWorkAreasArchiveData = { body?: { id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/locations/work_areas/archive'; }; export type PostApi20260701ResourcesLocationsWorkAreasArchiveResponses = { /** * OK */ 200: LocationsWorkArea; }; export type PostApi20260701ResourcesLocationsWorkAreasArchiveResponse = PostApi20260701ResourcesLocationsWorkAreasArchiveResponses[keyof PostApi20260701ResourcesLocationsWorkAreasArchiveResponses]; export type PostApi20260701ResourcesLocationsWorkAreasUnarchiveData = { body?: { id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/locations/work_areas/unarchive'; }; export type PostApi20260701ResourcesLocationsWorkAreasUnarchiveResponses = { /** * OK */ 200: LocationsWorkArea; }; export type PostApi20260701ResourcesLocationsWorkAreasUnarchiveResponse = PostApi20260701ResourcesLocationsWorkAreasUnarchiveResponses[keyof PostApi20260701ResourcesLocationsWorkAreasUnarchiveResponses]; export type PostApi20260701ResourcesMarketplaceInstallationsData = { body?: { /** * Identifier of the company */ company_id: string; /** * UUID of the integration */ integration_uuid: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/marketplace/installations'; }; export type PostApi20260701ResourcesMarketplaceInstallationsResponses = { /** * CREATED */ 201: MarketplaceInstallation; }; export type PostApi20260701ResourcesMarketplaceInstallationsResponse = PostApi20260701ResourcesMarketplaceInstallationsResponses[keyof PostApi20260701ResourcesMarketplaceInstallationsResponses]; export type GetApi20260701ResourcesMarketplaceInstallationSettingsData = { body?: never; path?: never; query: { /** * Identifier of the company */ company_id: string; /** * ID of the integration */ integration_id: string; }; url: '/api/2026-07-01/resources/marketplace/installation_settings'; }; export type GetApi20260701ResourcesMarketplaceInstallationSettingsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesMarketplaceInstallationSettingsResponse = GetApi20260701ResourcesMarketplaceInstallationSettingsResponses[keyof GetApi20260701ResourcesMarketplaceInstallationSettingsResponses]; export type GetApi20260701ResourcesPayrollFamilySituationsData = { body?: never; path?: never; query?: { /** * employee ids. */ 'employee_ids[]'?: Array; }; url: '/api/2026-07-01/resources/payroll/family_situations'; }; export type GetApi20260701ResourcesPayrollFamilySituationsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPayrollFamilySituationsResponse = GetApi20260701ResourcesPayrollFamilySituationsResponses[keyof GetApi20260701ResourcesPayrollFamilySituationsResponses]; export type PostApi20260701ResourcesPayrollFamilySituationsData = { body?: { /** * Employee id. */ employee_id: string; /** * Civil status of the employee. */ civil_status?: 'single' | 'cohabitating' | 'divorced' | 'married' | 'civil_partnership' | 'separated' | 'widow' | 'not_applicable' | 'unknown'; /** * Number of dependants of the employee. */ number_of_dependants?: number; }; path?: never; query?: never; url: '/api/2026-07-01/resources/payroll/family_situations'; }; export type PostApi20260701ResourcesPayrollFamilySituationsResponses = { /** * CREATED */ 201: PayrollFamilySituation; }; export type PostApi20260701ResourcesPayrollFamilySituationsResponse = PostApi20260701ResourcesPayrollFamilySituationsResponses[keyof PostApi20260701ResourcesPayrollFamilySituationsResponses]; export type PutApi20260701ResourcesPayrollFamilySituationsByIdData = { body?: { /** * Family situation id. */ id: string; /** * Employee id. */ employee_id: string; /** * Civil status of the employee. */ civil_status?: 'single' | 'cohabitating' | 'divorced' | 'married' | 'unknown' | 'civil_partnership' | 'separated' | 'widow' | 'not_applicable'; /** * Number of dependants of the employee. */ number_of_dependants?: number; }; path: { /** * Family situation id. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/payroll/family_situations/{id}'; }; export type PutApi20260701ResourcesPayrollFamilySituationsByIdResponses = { /** * OK */ 200: PayrollFamilySituation; }; export type PutApi20260701ResourcesPayrollFamilySituationsByIdResponse = PutApi20260701ResourcesPayrollFamilySituationsByIdResponses[keyof PutApi20260701ResourcesPayrollFamilySituationsByIdResponses]; export type PostApi20260701ResourcesPayrollPolicyPeriodsChangeStatusData = { body?: { /** * Policy period id */ id: string; /** * Status of the policy period */ status: 'preparation' | 'supplements_definition' | 'under_review' | 'payroll_calculation' | 'payment_processing' | 'paid'; /** * Flag to notify employees */ notify_employee: boolean; /** * Ids of the employees */ employee_ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/payroll/policy_periods/change_status'; }; export type PostApi20260701ResourcesPayrollPolicyPeriodsChangeStatusResponses = { /** * OK */ 200: PayrollPolicyPeriod; }; export type PostApi20260701ResourcesPayrollPolicyPeriodsChangeStatusResponse = PostApi20260701ResourcesPayrollPolicyPeriodsChangeStatusResponses[keyof PostApi20260701ResourcesPayrollPolicyPeriodsChangeStatusResponses]; export type GetApi20260701ResourcesPayrollSupplementsData = { body?: never; path?: never; query: { /** * Valid date following the format YYYY-MM-DD */ from?: string; /** * Valid date following the format YYYY-MM-DD */ to?: string; /** * The employee ids to retrieve */ 'employee_ids[]'?: Array; /** * The policy period ids to retrieve */ 'policy_period_ids[]': Array; /** * The compensation id to retrieve */ compensation_id?: string; /** * ids */ 'ids[]'?: Array; /** * The legal entities id to retrieve */ 'legal_entity_ids[]'?: Array; }; url: '/api/2026-07-01/resources/payroll/supplements'; }; export type GetApi20260701ResourcesPayrollSupplementsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPayrollSupplementsResponse = GetApi20260701ResourcesPayrollSupplementsResponses[keyof GetApi20260701ResourcesPayrollSupplementsResponses]; export type PostApi20260701ResourcesPayrollSupplementsData = { body?: { /** * Supplement amount in cents */ amount_in_cents: number; /** * The employee id of the suplement */ employee_id: string; /** * Supplement effective on date following the format YYYY-MM-DD */ effective_on: string; /** * Supplement contract taxonomy id */ contracts_taxonomy_id: string; /** * Supplement contract compensation id */ contracts_compensation_id?: string; /** * Supplement payroll policy period id */ payroll_policy_period_id: string; /** * Supplement unit */ unit?: string; /** * Supplement worked days */ worked_days?: number; }; path?: never; query?: never; url: '/api/2026-07-01/resources/payroll/supplements'; }; export type PostApi20260701ResourcesPayrollSupplementsResponses = { /** * CREATED */ 201: PayrollSupplement; }; export type PostApi20260701ResourcesPayrollSupplementsResponse = PostApi20260701ResourcesPayrollSupplementsResponses[keyof PostApi20260701ResourcesPayrollSupplementsResponses]; export type DeleteApi20260701ResourcesPayrollSupplementsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/payroll/supplements/{id}'; }; export type DeleteApi20260701ResourcesPayrollSupplementsByIdResponses = { /** * OK */ 200: PayrollSupplement; }; export type DeleteApi20260701ResourcesPayrollSupplementsByIdResponse = DeleteApi20260701ResourcesPayrollSupplementsByIdResponses[keyof DeleteApi20260701ResourcesPayrollSupplementsByIdResponses]; export type GetApi20260701ResourcesPayrollSupplementsByIdData = { body?: never; path: { /** * ids */ id: string; }; query?: never; url: '/api/2026-07-01/resources/payroll/supplements/{id}'; }; export type GetApi20260701ResourcesPayrollSupplementsByIdResponses = { /** * OK */ 200: PayrollSupplement; }; export type GetApi20260701ResourcesPayrollSupplementsByIdResponse = GetApi20260701ResourcesPayrollSupplementsByIdResponses[keyof GetApi20260701ResourcesPayrollSupplementsByIdResponses]; export type PutApi20260701ResourcesPayrollSupplementsByIdData = { body?: { /** * The supplement id */ id: string; /** * The employee id of the supplement */ employee_id?: string; /** * The supplement contract compensation id */ contracts_compensation_id?: string; /** * The supplement contract taxonomy id */ contracts_taxonomy_id?: string; /** * Supplement amount in cents */ amount_in_cents?: number; /** * Supplement effective on date following the format YYYY-MM-DD */ effective_on?: string; /** * Supplement unit */ unit?: string; /** * Supplement payroll policy period id */ payroll_policy_period_id?: string; }; path: { /** * The supplement id */ id: string; }; query?: never; url: '/api/2026-07-01/resources/payroll/supplements/{id}'; }; export type PutApi20260701ResourcesPayrollSupplementsByIdResponses = { /** * OK */ 200: PayrollSupplement; }; export type PutApi20260701ResourcesPayrollSupplementsByIdResponse = PutApi20260701ResourcesPayrollSupplementsByIdResponses[keyof PutApi20260701ResourcesPayrollSupplementsByIdResponses]; export type GetApi20260701ResourcesPayrollEmployeesIdentifiersData = { body?: never; path?: never; query: { 'ids[]'?: Array; /** * filters by employee identifiers */ 'employees_ids[]'?: Array; 'legal_entities_ids[]'?: Array; /** * filters by country code pt | it | de */ country: 'pt' | 'de' | 'it'; }; url: '/api/2026-07-01/resources/payroll_employees/identifiers'; }; export type GetApi20260701ResourcesPayrollEmployeesIdentifiersResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPayrollEmployeesIdentifiersResponse = GetApi20260701ResourcesPayrollEmployeesIdentifiersResponses[keyof GetApi20260701ResourcesPayrollEmployeesIdentifiersResponses]; export type PostApi20260701ResourcesPayrollEmployeesIdentifiersData = { body?: { /** * identifier of the employee */ employee_id: string; /** * social security number of the employee */ social_security_number?: string; /** * tax id of the employee */ tax_id?: string; /** * country code of the employee pt | it | de */ country: 'pt' | 'de' | 'it'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/payroll_employees/identifiers'; }; export type PostApi20260701ResourcesPayrollEmployeesIdentifiersResponses = { /** * CREATED */ 201: PayrollEmployeesIdentifier; }; export type PostApi20260701ResourcesPayrollEmployeesIdentifiersResponse = PostApi20260701ResourcesPayrollEmployeesIdentifiersResponses[keyof PostApi20260701ResourcesPayrollEmployeesIdentifiersResponses]; export type DeleteApi20260701ResourcesPayrollEmployeesIdentifiersByIdData = { body?: never; path: { /** * payroll employee identifier */ id: string; }; query?: never; url: '/api/2026-07-01/resources/payroll_employees/identifiers/{id}'; }; export type DeleteApi20260701ResourcesPayrollEmployeesIdentifiersByIdResponses = { /** * OK */ 200: PayrollEmployeesIdentifier; }; export type DeleteApi20260701ResourcesPayrollEmployeesIdentifiersByIdResponse = DeleteApi20260701ResourcesPayrollEmployeesIdentifiersByIdResponses[keyof DeleteApi20260701ResourcesPayrollEmployeesIdentifiersByIdResponses]; export type GetApi20260701ResourcesPayrollEmployeesIdentifiersByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/payroll_employees/identifiers/{id}'; }; export type GetApi20260701ResourcesPayrollEmployeesIdentifiersByIdResponses = { /** * OK */ 200: PayrollEmployeesIdentifier; }; export type GetApi20260701ResourcesPayrollEmployeesIdentifiersByIdResponse = GetApi20260701ResourcesPayrollEmployeesIdentifiersByIdResponses[keyof GetApi20260701ResourcesPayrollEmployeesIdentifiersByIdResponses]; export type PutApi20260701ResourcesPayrollEmployeesIdentifiersByIdData = { body?: { /** * payroll employee identifier */ id: string; /** * social security number of the employee */ social_security_number?: string; /** * tax id of the employee */ tax_id?: string; /** * country code of the employee pt | it | de */ country: 'pt' | 'de' | 'it'; }; path: { /** * payroll employee identifier */ id: string; }; query?: never; url: '/api/2026-07-01/resources/payroll_employees/identifiers/{id}'; }; export type PutApi20260701ResourcesPayrollEmployeesIdentifiersByIdResponses = { /** * OK */ 200: PayrollEmployeesIdentifier; }; export type PutApi20260701ResourcesPayrollEmployeesIdentifiersByIdResponse = PutApi20260701ResourcesPayrollEmployeesIdentifiersByIdResponses[keyof PutApi20260701ResourcesPayrollEmployeesIdentifiersByIdResponses]; export type GetApi20260701ResourcesPayrollIntegrationsBaseCodesData = { body?: never; path?: never; query: { /** * Code Value */ code?: string; /** * Payroll Integration names */ 'integrations[]': 'a3innuva' | 'a3nom' | 'agenda' | 'paierh' | 'yeap_paierh' | 'silae' | 'sage100' | 'datev' | 'datev_api' | 'datev_lug_api' | 'datev_lauds' | 'team_system' | 'zucchetti' | 'gispaghe' | 'job_sistemi'; /** * Related object ID. Used together with codeable_type */ codeable_id?: string; /** * Related object type. Used together with codeable_id */ codeable_type?: string; }; url: '/api/2026-07-01/resources/payroll_integrations_base/codes'; }; export type GetApi20260701ResourcesPayrollIntegrationsBaseCodesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPayrollIntegrationsBaseCodesResponse = GetApi20260701ResourcesPayrollIntegrationsBaseCodesResponses[keyof GetApi20260701ResourcesPayrollIntegrationsBaseCodesResponses]; export type PostApi20260701ResourcesPayrollIntegrationsBaseCodesData = { body?: { /** * Code Value */ code: string; /** * Related object ID. Used together with codeable_type */ codeable_id: string; /** * Related object type. Used together with codeable_id */ codeable_type: string; /** * Integration name */ integration: 'a3innuva' | 'a3nom' | 'agenda' | 'paierh' | 'yeap_paierh' | 'silae' | 'sage100' | 'datev' | 'datev_api' | 'datev_lug_api' | 'datev_lauds' | 'team_system' | 'zucchetti' | 'gispaghe' | 'job_sistemi'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/payroll_integrations_base/codes'; }; export type PostApi20260701ResourcesPayrollIntegrationsBaseCodesResponses = { /** * CREATED */ 201: PayrollIntegrationsBaseCode; }; export type PostApi20260701ResourcesPayrollIntegrationsBaseCodesResponse = PostApi20260701ResourcesPayrollIntegrationsBaseCodesResponses[keyof PostApi20260701ResourcesPayrollIntegrationsBaseCodesResponses]; export type DeleteApi20260701ResourcesPayrollIntegrationsBaseCodesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/payroll_integrations_base/codes/{id}'; }; export type DeleteApi20260701ResourcesPayrollIntegrationsBaseCodesByIdResponses = { /** * OK */ 200: PayrollIntegrationsBaseCode; }; export type DeleteApi20260701ResourcesPayrollIntegrationsBaseCodesByIdResponse = DeleteApi20260701ResourcesPayrollIntegrationsBaseCodesByIdResponses[keyof DeleteApi20260701ResourcesPayrollIntegrationsBaseCodesByIdResponses]; export type PutApi20260701ResourcesPayrollIntegrationsBaseCodesByIdData = { body?: { /** * Code identifier */ id: string; /** * Code Value */ code: string; }; path: { /** * Code identifier */ id: string; }; query?: never; url: '/api/2026-07-01/resources/payroll_integrations_base/codes/{id}'; }; export type PutApi20260701ResourcesPayrollIntegrationsBaseCodesByIdResponses = { /** * OK */ 200: PayrollIntegrationsBaseCode; }; export type PutApi20260701ResourcesPayrollIntegrationsBaseCodesByIdResponse = PutApi20260701ResourcesPayrollIntegrationsBaseCodesByIdResponses[keyof PutApi20260701ResourcesPayrollIntegrationsBaseCodesByIdResponses]; export type GetApi20260701ResourcesPerformanceAgreementsData = { body?: never; path?: never; query?: { /** * Filter by action plan IDs */ 'ids[]'?: Array; /** * Filter by review process IDs */ 'process_ids[]'?: Array; /** * Filter by review process target IDs */ 'target_ids[]'?: Array; }; url: '/api/2026-07-01/resources/performance/agreements'; }; export type GetApi20260701ResourcesPerformanceAgreementsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceAgreementsResponse = GetApi20260701ResourcesPerformanceAgreementsResponses[keyof GetApi20260701ResourcesPerformanceAgreementsResponses]; export type GetApi20260701ResourcesPerformanceAgreementsByIdData = { body?: never; path: { /** * Filter by action plan IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/agreements/{id}'; }; export type GetApi20260701ResourcesPerformanceAgreementsByIdResponses = { /** * OK */ 200: PerformanceAgreement; }; export type GetApi20260701ResourcesPerformanceAgreementsByIdResponse = GetApi20260701ResourcesPerformanceAgreementsByIdResponses[keyof GetApi20260701ResourcesPerformanceAgreementsByIdResponses]; export type PostApi20260701ResourcesPerformanceAgreementsBulkInitiateData = { body?: { /** * Review process ID */ process_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/agreements/bulk_initiate'; }; export type PostApi20260701ResourcesPerformanceAgreementsBulkInitiateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesPerformanceAgreementsBulkInitiateResponse = PostApi20260701ResourcesPerformanceAgreementsBulkInitiateResponses[keyof PostApi20260701ResourcesPerformanceAgreementsBulkInitiateResponses]; export type PostApi20260701ResourcesPerformanceAgreementsInitiateData = { body?: { /** * Review process ID */ process_id: string; /** * Review process target ID */ target_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/agreements/initiate'; }; export type PostApi20260701ResourcesPerformanceAgreementsInitiateResponses = { /** * OK */ 200: PerformanceAgreement; }; export type PostApi20260701ResourcesPerformanceAgreementsInitiateResponse = PostApi20260701ResourcesPerformanceAgreementsInitiateResponses[keyof PostApi20260701ResourcesPerformanceAgreementsInitiateResponses]; export type GetApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesData = { body?: never; path?: never; query?: { /** * Filter by company IDs */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/performance/company_employee_score_scales'; }; export type GetApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesResponse = GetApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesResponses[keyof GetApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesResponses]; export type GetApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesByIdData = { body?: never; path: { /** * Filter by company IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/company_employee_score_scales/{id}'; }; export type GetApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesByIdResponses = { /** * OK */ 200: PerformanceCompanyEmployeeScoreScale; }; export type GetApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesByIdResponse = GetApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesByIdResponses[keyof GetApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesByIdResponses]; export type PostApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesSetData = { body?: { id: string; scale_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/company_employee_score_scales/set'; }; export type PostApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesSetResponses = { /** * OK */ 200: PerformanceCompanyEmployeeScoreScale; }; export type PostApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesSetResponse = PostApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesSetResponses[keyof PostApi20260701ResourcesPerformanceCompanyEmployeeScoreScalesSetResponses]; export type GetApi20260701ResourcesPerformanceEmployeeScoreScalesData = { body?: never; path?: never; query?: { /** * Filter by employee score scale IDs */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/performance/employee_score_scales'; }; export type GetApi20260701ResourcesPerformanceEmployeeScoreScalesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceEmployeeScoreScalesResponse = GetApi20260701ResourcesPerformanceEmployeeScoreScalesResponses[keyof GetApi20260701ResourcesPerformanceEmployeeScoreScalesResponses]; export type GetApi20260701ResourcesPerformanceEmployeeScoreScalesByIdData = { body?: never; path: { /** * Filter by employee score scale IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/employee_score_scales/{id}'; }; export type GetApi20260701ResourcesPerformanceEmployeeScoreScalesByIdResponses = { /** * OK */ 200: PerformanceEmployeeScoreScale; }; export type GetApi20260701ResourcesPerformanceEmployeeScoreScalesByIdResponse = GetApi20260701ResourcesPerformanceEmployeeScoreScalesByIdResponses[keyof GetApi20260701ResourcesPerformanceEmployeeScoreScalesByIdResponses]; export type GetApi20260701ResourcesPerformanceReviewEvaluationsData = { body?: never; path?: never; query?: { /** * Filter by evaluation IDs */ 'ids[]'?: Array; /** * Filter by review process IDs */ 'performance_review_process_ids[]'?: Array; /** * Only published or unpublished evaluations */ published?: boolean; /** * Filter by reviewer access IDs */ 'reviewer_ids[]'?: Array; /** * Filter by reviewer strategies */ 'reviewer_strategies[]'?: 'self' | 'manager' | 'direct_reports' | 'peers'; /** * Filter by participant access IDs */ 'target_access_ids[]'?: Array; /** * Filter by review process target IDs. Composite key format: review_process_id-target_access_id */ 'review_process_target_ids[]'?: Array; /** * Only evaluations where the participant is managed by the specified employee ID */ with_targets_managed_by_filter?: { [key: string]: unknown; }; /** * Exclude evaluations by IDs */ 'exclude_ids[]'?: Array; }; url: '/api/2026-07-01/resources/performance/review_evaluations'; }; export type GetApi20260701ResourcesPerformanceReviewEvaluationsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceReviewEvaluationsResponse = GetApi20260701ResourcesPerformanceReviewEvaluationsResponses[keyof GetApi20260701ResourcesPerformanceReviewEvaluationsResponses]; export type GetApi20260701ResourcesPerformanceReviewEvaluationsByIdData = { body?: never; path: { /** * Filter by evaluation IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/review_evaluations/{id}'; }; export type GetApi20260701ResourcesPerformanceReviewEvaluationsByIdResponses = { /** * OK */ 200: PerformanceReviewEvaluation; }; export type GetApi20260701ResourcesPerformanceReviewEvaluationsByIdResponse = GetApi20260701ResourcesPerformanceReviewEvaluationsByIdResponses[keyof GetApi20260701ResourcesPerformanceReviewEvaluationsByIdResponses]; export type PostApi20260701ResourcesPerformanceReviewEvaluationsReplaceReviewerData = { body?: { /** * Evaluation ID */ id: string; /** * New reviewer access ID */ new_reviewer_access_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_evaluations/replace_reviewer'; }; export type PostApi20260701ResourcesPerformanceReviewEvaluationsReplaceReviewerResponses = { /** * OK */ 200: PerformanceReviewEvaluation; }; export type PostApi20260701ResourcesPerformanceReviewEvaluationsReplaceReviewerResponse = PostApi20260701ResourcesPerformanceReviewEvaluationsReplaceReviewerResponses[keyof PostApi20260701ResourcesPerformanceReviewEvaluationsReplaceReviewerResponses]; export type GetApi20260701ResourcesPerformanceReviewEvaluationAnswersData = { body?: never; path?: never; query?: { /** * Filter by review evaluation IDs */ 'performance_review_evaluation_ids[]'?: Array; }; url: '/api/2026-07-01/resources/performance/review_evaluation_answers'; }; export type GetApi20260701ResourcesPerformanceReviewEvaluationAnswersResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceReviewEvaluationAnswersResponse = GetApi20260701ResourcesPerformanceReviewEvaluationAnswersResponses[keyof GetApi20260701ResourcesPerformanceReviewEvaluationAnswersResponses]; export type GetApi20260701ResourcesPerformanceReviewEvaluationScoresData = { body?: never; path?: never; query?: { /** * Filter by evaluation score IDs */ 'ids[]'?: Array; /** * Filter by review process IDs */ 'review_process_ids[]'?: Array; /** * Filter by evaluation IDs */ 'review_evaluation_ids[]'?: Array; /** * Filter by employee access IDs */ 'target_access_ids[]'?: Array; /** * Filter by who scored the employee */ 'reviewer_strategies[]'?: 'self' | 'manager' | 'direct_reports' | 'peers'; /** * Filter by review process target IDs */ 'review_process_target_ids[]'?: Array; }; url: '/api/2026-07-01/resources/performance/review_evaluation_scores'; }; export type GetApi20260701ResourcesPerformanceReviewEvaluationScoresResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceReviewEvaluationScoresResponse = GetApi20260701ResourcesPerformanceReviewEvaluationScoresResponses[keyof GetApi20260701ResourcesPerformanceReviewEvaluationScoresResponses]; export type GetApi20260701ResourcesPerformanceReviewEvaluationScoresByIdData = { body?: never; path: { /** * Filter by evaluation score IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/review_evaluation_scores/{id}'; }; export type GetApi20260701ResourcesPerformanceReviewEvaluationScoresByIdResponses = { /** * OK */ 200: PerformanceReviewEvaluationScore; }; export type GetApi20260701ResourcesPerformanceReviewEvaluationScoresByIdResponse = GetApi20260701ResourcesPerformanceReviewEvaluationScoresByIdResponses[keyof GetApi20260701ResourcesPerformanceReviewEvaluationScoresByIdResponses]; export type GetApi20260701ResourcesPerformanceReviewOwnersData = { body?: never; path?: never; query?: { /** * Filter by review process IDs */ 'performance_review_process_ids[]'?: Array; }; url: '/api/2026-07-01/resources/performance/review_owners'; }; export type GetApi20260701ResourcesPerformanceReviewOwnersResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceReviewOwnersResponse = GetApi20260701ResourcesPerformanceReviewOwnersResponses[keyof GetApi20260701ResourcesPerformanceReviewOwnersResponses]; export type DeleteApi20260701ResourcesPerformanceReviewOwnersByIdData = { body?: never; path: { /** * Review owner ID */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/review_owners/{id}'; }; export type DeleteApi20260701ResourcesPerformanceReviewOwnersByIdResponses = { /** * OK */ 200: PerformanceReviewOwner; }; export type DeleteApi20260701ResourcesPerformanceReviewOwnersByIdResponse = DeleteApi20260701ResourcesPerformanceReviewOwnersByIdResponses[keyof DeleteApi20260701ResourcesPerformanceReviewOwnersByIdResponses]; export type PostApi20260701ResourcesPerformanceReviewOwnersBulkCreateData = { body?: { /** * Review process ID */ review_process_id: string; /** * List of access IDs to be added as owners */ owner_access_ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_owners/bulk_create'; }; export type PostApi20260701ResourcesPerformanceReviewOwnersBulkCreateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesPerformanceReviewOwnersBulkCreateResponse = PostApi20260701ResourcesPerformanceReviewOwnersBulkCreateResponses[keyof PostApi20260701ResourcesPerformanceReviewOwnersBulkCreateResponses]; export type GetApi20260701ResourcesPerformanceReviewProcessesData = { body?: never; path?: never; query?: { /** * Filter by review process IDs */ 'ids[]'?: Array; /** * Filter by review process name */ search?: string; }; url: '/api/2026-07-01/resources/performance/review_processes'; }; export type GetApi20260701ResourcesPerformanceReviewProcessesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceReviewProcessesResponse = GetApi20260701ResourcesPerformanceReviewProcessesResponses[keyof GetApi20260701ResourcesPerformanceReviewProcessesResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesData = { body?: { /** * Access identifier of the author of the review process */ author_access_id: string; /** * Name of the review process */ name?: string; /** * A brief description of the review process */ description?: string; /** * Review types that will be assigned to the review process. It'll be used to create the evaluations when the process starts */ reviewer_strategies?: 'self' | 'manager' | 'direct_reports' | 'peers'; /** * Condition that defines the employees that will be evaluated (participants). Calculated when the review process starts */ target_strategy?: 'all_employees' | 'by_locations' | 'by_teams' | 'by_employees' | 'manual_selection'; /** * IDs of target strategy groups selected */ arguments?: Array; /** * Date when the review process should end */ ends_at?: string; /** * Action plans help track goal progress, and facilitate performance review discussions. */ agreements_enabled?: boolean; /** * Include one question at the end of the review to rate participants' performance. This rating will be reflected on the results page. */ employee_score_enabled?: boolean; /** * Include one question at the end of the review to rate participants' potential. This rating will be reflected in the 9 box grid. */ employee_potential_score_enabled?: boolean; /** * Assess employees based on their assigned competencies through both manager and self-reviews. Ensure roles with designated competencies are properly set up. */ competencies_assessments_enabled?: boolean; /** * Performance cycle ID */ cycle_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesResponses = { /** * CREATED */ 201: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesResponse = PostApi20260701ResourcesPerformanceReviewProcessesResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesResponses]; export type DeleteApi20260701ResourcesPerformanceReviewProcessesByIdData = { body?: never; path: { /** * Review process ID */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/{id}'; }; export type DeleteApi20260701ResourcesPerformanceReviewProcessesByIdResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type DeleteApi20260701ResourcesPerformanceReviewProcessesByIdResponse = DeleteApi20260701ResourcesPerformanceReviewProcessesByIdResponses[keyof DeleteApi20260701ResourcesPerformanceReviewProcessesByIdResponses]; export type GetApi20260701ResourcesPerformanceReviewProcessesByIdData = { body?: never; path: { /** * Filter by review process IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/{id}'; }; export type GetApi20260701ResourcesPerformanceReviewProcessesByIdResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type GetApi20260701ResourcesPerformanceReviewProcessesByIdResponse = GetApi20260701ResourcesPerformanceReviewProcessesByIdResponses[keyof GetApi20260701ResourcesPerformanceReviewProcessesByIdResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesCreateFromTemplateData = { body?: { /** * Access ID to be set as author of the new review process */ author_access_id: string; /** * Review process template ID */ template_id: string; /** * Type of the template, custom or predefined */ template_type: 'predefined' | 'custom'; /** * Name of the new review process */ name?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/create_from_template'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesCreateFromTemplateResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesCreateFromTemplateResponse = PostApi20260701ResourcesPerformanceReviewProcessesCreateFromTemplateResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesCreateFromTemplateResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesDuplicateData = { body?: { /** * Review process ID to duplicate */ id: string; /** * Access ID to be set as author of the new review process */ author_access_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/duplicate'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesDuplicateResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesDuplicateResponse = PostApi20260701ResourcesPerformanceReviewProcessesDuplicateResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesDuplicateResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesRemindInBulkData = { body?: { /** * Review process ID */ id: string; /** * Reviewer strategies to remind about */ evaluation_types?: 'self' | 'manager' | 'direct_reports' | 'peers'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/remind_in_bulk'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesRemindInBulkResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesRemindInBulkResponse = PostApi20260701ResourcesPerformanceReviewProcessesRemindInBulkResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesRemindInBulkResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesRemoveScheduleData = { body?: { /** * Review process ID */ id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/remove_schedule'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesRemoveScheduleResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesRemoveScheduleResponse = PostApi20260701ResourcesPerformanceReviewProcessesRemoveScheduleResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesRemoveScheduleResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesReopenData = { body?: { /** * Review process ID */ id: string; /** * New deadline of the review process */ ends_at: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/reopen'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesReopenResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesReopenResponse = PostApi20260701ResourcesPerformanceReviewProcessesReopenResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesReopenResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesScheduleData = { body?: { /** * Review process ID */ id: string; /** * Date when the review process should start */ starts_at: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/schedule'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesScheduleResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesScheduleResponse = PostApi20260701ResourcesPerformanceReviewProcessesScheduleResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesScheduleResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesStartData = { body?: { /** * Review process ID */ id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/start'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesStartResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesStartResponse = PostApi20260701ResourcesPerformanceReviewProcessesStartResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesStartResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesStopData = { body?: { /** * Review process ID */ id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/stop'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesStopResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesStopResponse = PostApi20260701ResourcesPerformanceReviewProcessesStopResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesStopResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesToggleArchiveData = { body?: { /** * Review process ID */ id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/toggle_archive'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesToggleArchiveResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesToggleArchiveResponse = PostApi20260701ResourcesPerformanceReviewProcessesToggleArchiveResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesToggleArchiveResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateAgreementsConfigurationData = { body?: { /** * Review process ID */ id: string; enabled: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/update_agreements_configuration'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateAgreementsConfigurationResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateAgreementsConfigurationResponse = PostApi20260701ResourcesPerformanceReviewProcessesUpdateAgreementsConfigurationResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesUpdateAgreementsConfigurationResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateBasicInfoData = { body?: { /** * Review process ID */ id: string; /** * New name of the review process */ name?: string; /** * New description of the review process */ description?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/update_basic_info'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateBasicInfoResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateBasicInfoResponse = PostApi20260701ResourcesPerformanceReviewProcessesUpdateBasicInfoResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesUpdateBasicInfoResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateCompetenciesAssessmentsConfigurationData = { body?: { /** * Review process ID */ id: string; enabled: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/update_competencies_assessments_configuration'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateCompetenciesAssessmentsConfigurationResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateCompetenciesAssessmentsConfigurationResponse = PostApi20260701ResourcesPerformanceReviewProcessesUpdateCompetenciesAssessmentsConfigurationResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesUpdateCompetenciesAssessmentsConfigurationResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateDeadlineData = { body?: { /** * Review process ID */ id: string; /** * New deadline of the review process */ ends_at: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/update_deadline'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateDeadlineResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateDeadlineResponse = PostApi20260701ResourcesPerformanceReviewProcessesUpdateDeadlineResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesUpdateDeadlineResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateEmployeeScoreConfigurationData = { body?: { /** * Review process ID */ id: string; enabled: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/update_employee_score_configuration'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateEmployeeScoreConfigurationResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateEmployeeScoreConfigurationResponse = PostApi20260701ResourcesPerformanceReviewProcessesUpdateEmployeeScoreConfigurationResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesUpdateEmployeeScoreConfigurationResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateReviewerStrategiesData = { body?: { /** * Review process ID */ id: string; /** * New review types to be applied */ reviewer_strategies: 'self' | 'manager' | 'direct_reports' | 'peers'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/update_reviewer_strategies'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateReviewerStrategiesResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateReviewerStrategiesResponse = PostApi20260701ResourcesPerformanceReviewProcessesUpdateReviewerStrategiesResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesUpdateReviewerStrategiesResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateScheduleData = { body?: { /** * Review process ID */ id: string; /** * Date when the review process should start */ starts_at: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/update_schedule'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateScheduleResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateScheduleResponse = PostApi20260701ResourcesPerformanceReviewProcessesUpdateScheduleResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesUpdateScheduleResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateTargetStrategyData = { body?: { /** * Review process ID */ id: string; /** * Condition that defines the employees that will be evaluated (participants) */ target_strategy?: 'all_employees' | 'by_locations' | 'by_teams' | 'by_employees' | 'manual_selection'; /** * IDs of target strategy groups selected */ arguments?: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_processes/update_target_strategy'; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateTargetStrategyResponses = { /** * OK */ 200: PerformanceReviewProcess; }; export type PostApi20260701ResourcesPerformanceReviewProcessesUpdateTargetStrategyResponse = PostApi20260701ResourcesPerformanceReviewProcessesUpdateTargetStrategyResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessesUpdateTargetStrategyResponses]; export type GetApi20260701ResourcesPerformanceReviewProcessCustomTemplatesData = { body?: never; path?: never; query?: { /** * Filter by template IDs */ 'ids[]'?: Array; /** * Filter by author IDs */ 'author_ids[]'?: Array; /** * Filter by template name */ search?: string; }; url: '/api/2026-07-01/resources/performance/review_process_custom_templates'; }; export type GetApi20260701ResourcesPerformanceReviewProcessCustomTemplatesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceReviewProcessCustomTemplatesResponse = GetApi20260701ResourcesPerformanceReviewProcessCustomTemplatesResponses[keyof GetApi20260701ResourcesPerformanceReviewProcessCustomTemplatesResponses]; export type GetApi20260701ResourcesPerformanceReviewProcessCustomTemplatesByIdData = { body?: never; path: { /** * Filter by template IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/review_process_custom_templates/{id}'; }; export type GetApi20260701ResourcesPerformanceReviewProcessCustomTemplatesByIdResponses = { /** * OK */ 200: PerformanceReviewProcessCustomTemplate; }; export type GetApi20260701ResourcesPerformanceReviewProcessCustomTemplatesByIdResponse = GetApi20260701ResourcesPerformanceReviewProcessCustomTemplatesByIdResponses[keyof GetApi20260701ResourcesPerformanceReviewProcessCustomTemplatesByIdResponses]; export type GetApi20260701ResourcesPerformanceReviewProcessEstimatedTargetsData = { body?: never; path?: never; query?: { /** * Filter by review process IDs */ 'performance_review_process_ids[]'?: Array; /** * Filter by access IDs */ 'access_ids[]'?: Array; }; url: '/api/2026-07-01/resources/performance/review_process_estimated_targets'; }; export type GetApi20260701ResourcesPerformanceReviewProcessEstimatedTargetsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceReviewProcessEstimatedTargetsResponse = GetApi20260701ResourcesPerformanceReviewProcessEstimatedTargetsResponses[keyof GetApi20260701ResourcesPerformanceReviewProcessEstimatedTargetsResponses]; export type GetApi20260701ResourcesPerformanceReviewProcessTargetsData = { body?: never; path?: never; query?: { /** * Filter by review process target IDs */ 'ids[]'?: Array; /** * Filter by access IDs */ 'access_ids[]'?: Array; /** * Only participants for peer assignment */ only_for_peer_assignment?: boolean; /** * Only participants with no manager assigned */ without_manager?: boolean; /** * Filter by reviewer process IDs */ 'performance_review_process_ids[]'?: Array; /** * Filter by agreement status */ agreement_completion_status?: 'canbeinitiated' | 'notinitiated' | 'haspendingagreement' | 'hassignedagreement' | 'haspendingesignaturesagreement' | 'haspartiallyesignedagreement' | 'hasesignedagreement' | 'hasdeclinedagreement' | 'hasbouncedemailagreement' | 'hascancelledagreement' | 'haserroragreement' | 'hasexpiredagreement'; /** * Only participants with no peer evaluations */ pending_peer_evaluations?: boolean; /** * Only participants managed by the specified employee ID */ managed_by_filter?: { [key: string]: unknown; }; }; url: '/api/2026-07-01/resources/performance/review_process_targets'; }; export type GetApi20260701ResourcesPerformanceReviewProcessTargetsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceReviewProcessTargetsResponse = GetApi20260701ResourcesPerformanceReviewProcessTargetsResponses[keyof GetApi20260701ResourcesPerformanceReviewProcessTargetsResponses]; export type DeleteApi20260701ResourcesPerformanceReviewProcessTargetsByIdData = { body?: never; path: { /** * Process Target ID */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/review_process_targets/{id}'; }; export type DeleteApi20260701ResourcesPerformanceReviewProcessTargetsByIdResponses = { /** * OK */ 200: PerformanceReviewProcessTarget; }; export type DeleteApi20260701ResourcesPerformanceReviewProcessTargetsByIdResponse = DeleteApi20260701ResourcesPerformanceReviewProcessTargetsByIdResponses[keyof DeleteApi20260701ResourcesPerformanceReviewProcessTargetsByIdResponses]; export type GetApi20260701ResourcesPerformanceReviewProcessTargetsByIdData = { body?: never; path: { /** * Filter by review process target IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/review_process_targets/{id}'; }; export type GetApi20260701ResourcesPerformanceReviewProcessTargetsByIdResponses = { /** * OK */ 200: PerformanceReviewProcessTarget; }; export type GetApi20260701ResourcesPerformanceReviewProcessTargetsByIdResponse = GetApi20260701ResourcesPerformanceReviewProcessTargetsByIdResponses[keyof GetApi20260701ResourcesPerformanceReviewProcessTargetsByIdResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessTargetsAddPeersData = { body?: { /** * Review process target ID */ id: string; /** * List of access IDs to be added as peers for the participant */ peer_access_ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_process_targets/add_peers'; }; export type PostApi20260701ResourcesPerformanceReviewProcessTargetsAddPeersResponses = { /** * OK */ 200: PerformanceReviewProcessTarget; }; export type PostApi20260701ResourcesPerformanceReviewProcessTargetsAddPeersResponse = PostApi20260701ResourcesPerformanceReviewProcessTargetsAddPeersResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessTargetsAddPeersResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessTargetsBulkCreateData = { body?: { /** * Review process ID */ performance_review_process_id: string; /** * List of access IDs to be added as participants */ targets_access_ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_process_targets/bulk_create'; }; export type PostApi20260701ResourcesPerformanceReviewProcessTargetsBulkCreateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesPerformanceReviewProcessTargetsBulkCreateResponse = PostApi20260701ResourcesPerformanceReviewProcessTargetsBulkCreateResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessTargetsBulkCreateResponses]; export type PostApi20260701ResourcesPerformanceReviewProcessTargetsRemovePeerEvaluationsData = { body?: { id: string; evaluation_ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_process_targets/remove_peer_evaluations'; }; export type PostApi20260701ResourcesPerformanceReviewProcessTargetsRemovePeerEvaluationsResponses = { /** * OK */ 200: PerformanceReviewProcessTarget; }; export type PostApi20260701ResourcesPerformanceReviewProcessTargetsRemovePeerEvaluationsResponse = PostApi20260701ResourcesPerformanceReviewProcessTargetsRemovePeerEvaluationsResponses[keyof PostApi20260701ResourcesPerformanceReviewProcessTargetsRemovePeerEvaluationsResponses]; export type GetApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesData = { body?: never; path?: never; query?: { /** * Filter by review process IDs */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/performance/review_questionnaire_by_strategies'; }; export type GetApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesResponse = GetApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesResponses[keyof GetApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesResponses]; export type GetApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesByIdData = { body?: never; path: { /** * Filter by review process IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/review_questionnaire_by_strategies/{id}'; }; export type GetApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesByIdResponses = { /** * OK */ 200: PerformanceReviewQuestionnairesByStrategy; }; export type GetApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesByIdResponse = GetApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesByIdResponses[keyof GetApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesByIdResponses]; export type PostApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesUpdateDefaultRatingScaleData = { body?: { /** * Review process ID */ performance_review_process_id: string; /** * ###### **What should each range object look like?** * * - `value`: Range value (0 to 10) * - `text`: Range description */ default_rating_scale: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_questionnaire_by_strategies/update_default_rating_scale'; }; export type PostApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesUpdateDefaultRatingScaleResponses = { /** * OK */ 200: PerformanceReviewQuestionnairesByStrategy; }; export type PostApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesUpdateDefaultRatingScaleResponse = PostApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesUpdateDefaultRatingScaleResponses[keyof PostApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesUpdateDefaultRatingScaleResponses]; export type PostApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesUpdateQuestionnaireForStrategyData = { body?: { /** * Review process ID */ performance_review_process_id: string; /** * Reviewer strategy to update the questionnaire for */ strategy: 'self' | 'manager' | 'direct_reports' | 'peers'; /** * List of grouped questions to be evaluated by the reviewer. * ###### **What should each group object look like?** * * - `uuid`: Unique identifier for the group * - `type`: Group type (`section` or `question`). If it's `section`, the questions will be grouped under a section with a given title * - `section_title`: Title of the section (optional) * - `questions`: List of questions * * ###### **What should each question object look like?** * * - `uuid`: Unique identifier for the question * - `mandatory`: Whether the question is mandatory or not * - `with_comment`: Whether the reviewer can add a comment or not * - `title`: Question * - `answer_type`: Answer type (`text`, `rating`, `number` or `multiple_choice`) * - `max_choices`: Maximum number of choices. If `1`, it'll be a single choice question * - `choice_options`: List of options for single and multiple choice questions */ questionnaire_content: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/performance/review_questionnaire_by_strategies/update_questionnaire_for_strategy'; }; export type PostApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesUpdateQuestionnaireForStrategyResponses = { /** * OK */ 200: PerformanceReviewQuestionnairesByStrategy; }; export type PostApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesUpdateQuestionnaireForStrategyResponse = PostApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesUpdateQuestionnaireForStrategyResponses[keyof PostApi20260701ResourcesPerformanceReviewQuestionnaireByStrategiesUpdateQuestionnaireForStrategyResponses]; export type GetApi20260701ResourcesPerformanceReviewVisibilitySettingsData = { body?: never; path?: never; query?: { /** * Filter by review process IDs */ 'performance_review_process_ids[]'?: Array; }; url: '/api/2026-07-01/resources/performance/review_visibility_settings'; }; export type GetApi20260701ResourcesPerformanceReviewVisibilitySettingsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceReviewVisibilitySettingsResponse = GetApi20260701ResourcesPerformanceReviewVisibilitySettingsResponses[keyof GetApi20260701ResourcesPerformanceReviewVisibilitySettingsResponses]; export type PutApi20260701ResourcesPerformanceReviewVisibilitySettingsByIdData = { body?: { /** * Review process ID */ id?: string; /** * Review process ID */ performance_review_process_id?: string; /** * When enabled, employees don't have access to their results */ restrict_answers_visibility_to_reportees: boolean; /** * When enabled, managers can access the results of their reports before deadline */ early_access_to_answers_for_managers: boolean; /** * When enabled, peer evaluations are anonymous so employees don't know who reviewed them */ anonymous_peer_evaluation_for_target: boolean; }; path: { /** * Review process ID */ id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/review_visibility_settings/{id}'; }; export type PutApi20260701ResourcesPerformanceReviewVisibilitySettingsByIdResponses = { /** * OK */ 200: PerformanceReviewVisibilitySetting; }; export type PutApi20260701ResourcesPerformanceReviewVisibilitySettingsByIdResponse = PutApi20260701ResourcesPerformanceReviewVisibilitySettingsByIdResponses[keyof PutApi20260701ResourcesPerformanceReviewVisibilitySettingsByIdResponses]; export type GetApi20260701ResourcesPerformanceTargetManagersData = { body?: never; path?: never; query: { 'ids[]'?: Array; /** * Review process ID (only one ID is allowed) */ 'performance_review_process_ids[]': Array; }; url: '/api/2026-07-01/resources/performance/target_managers'; }; export type GetApi20260701ResourcesPerformanceTargetManagersResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPerformanceTargetManagersResponse = GetApi20260701ResourcesPerformanceTargetManagersResponses[keyof GetApi20260701ResourcesPerformanceTargetManagersResponses]; export type GetApi20260701ResourcesPerformanceTargetManagersByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/performance/target_managers/{id}'; }; export type GetApi20260701ResourcesPerformanceTargetManagersByIdResponses = { /** * OK */ 200: PerformanceTargetManager; }; export type GetApi20260701ResourcesPerformanceTargetManagersByIdResponse = GetApi20260701ResourcesPerformanceTargetManagersByIdResponses[keyof GetApi20260701ResourcesPerformanceTargetManagersByIdResponses]; export type GetApi20260701ResourcesPostsCommentsData = { body?: never; path?: never; query: { /** * identifiers of the post */ 'post_ids[]': Array; /** * identifiers of the comment */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/posts/comments'; }; export type GetApi20260701ResourcesPostsCommentsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPostsCommentsResponse = GetApi20260701ResourcesPostsCommentsResponses[keyof GetApi20260701ResourcesPostsCommentsResponses]; export type PostApi20260701ResourcesPostsCommentsData = { body?: { /** * identifier of the post */ post_id: string; /** * Text of the comment */ text: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/posts/comments'; }; export type PostApi20260701ResourcesPostsCommentsResponses = { /** * CREATED */ 201: PostsComment; }; export type PostApi20260701ResourcesPostsCommentsResponse = PostApi20260701ResourcesPostsCommentsResponses[keyof PostApi20260701ResourcesPostsCommentsResponses]; export type DeleteApi20260701ResourcesPostsCommentsByIdData = { body?: never; path: { /** * identifier of the comment */ id: string; }; query?: never; url: '/api/2026-07-01/resources/posts/comments/{id}'; }; export type DeleteApi20260701ResourcesPostsCommentsByIdResponses = { /** * OK */ 200: PostsComment; }; export type DeleteApi20260701ResourcesPostsCommentsByIdResponse = DeleteApi20260701ResourcesPostsCommentsByIdResponses[keyof DeleteApi20260701ResourcesPostsCommentsByIdResponses]; export type GetApi20260701ResourcesPostsCommentsByIdData = { body?: never; path: { /** * identifiers of the comment */ id: string; }; query?: never; url: '/api/2026-07-01/resources/posts/comments/{id}'; }; export type GetApi20260701ResourcesPostsCommentsByIdResponses = { /** * OK */ 200: PostsComment; }; export type GetApi20260701ResourcesPostsCommentsByIdResponse = GetApi20260701ResourcesPostsCommentsByIdResponses[keyof GetApi20260701ResourcesPostsCommentsByIdResponses]; export type PutApi20260701ResourcesPostsCommentsByIdData = { body?: { /** * identifier of the comment */ id: string; /** * identifier of the post */ post_id: string; /** * Text of the comment */ text: string; }; path: { /** * identifier of the comment */ id: string; }; query?: never; url: '/api/2026-07-01/resources/posts/comments/{id}'; }; export type PutApi20260701ResourcesPostsCommentsByIdResponses = { /** * OK */ 200: PostsComment; }; export type PutApi20260701ResourcesPostsCommentsByIdResponse = PutApi20260701ResourcesPostsCommentsByIdResponses[keyof PutApi20260701ResourcesPostsCommentsByIdResponses]; export type GetApi20260701ResourcesPostsGroupsData = { body?: never; path?: never; query?: { /** * identifier of the group. */ 'ids[]'?: Array; /** * search term to filter groups by title or description. */ search?: string; }; url: '/api/2026-07-01/resources/posts/groups'; }; export type GetApi20260701ResourcesPostsGroupsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPostsGroupsResponse = GetApi20260701ResourcesPostsGroupsResponses[keyof GetApi20260701ResourcesPostsGroupsResponses]; export type PostApi20260701ResourcesPostsGroupsData = { body?: { /** * title of the group. */ title: string; /** * description of the group. */ description: string; /** * Identifier of the company, this value can be retrieved from core/me endpoint */ company_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/posts/groups'; }; export type PostApi20260701ResourcesPostsGroupsResponses = { /** * CREATED */ 201: PostsGroup; }; export type PostApi20260701ResourcesPostsGroupsResponse = PostApi20260701ResourcesPostsGroupsResponses[keyof PostApi20260701ResourcesPostsGroupsResponses]; export type DeleteApi20260701ResourcesPostsGroupsByIdData = { body?: never; path: { /** * identifier of the group. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/posts/groups/{id}'; }; export type DeleteApi20260701ResourcesPostsGroupsByIdResponses = { /** * OK */ 200: PostsGroup; }; export type DeleteApi20260701ResourcesPostsGroupsByIdResponse = DeleteApi20260701ResourcesPostsGroupsByIdResponses[keyof DeleteApi20260701ResourcesPostsGroupsByIdResponses]; export type GetApi20260701ResourcesPostsGroupsByIdData = { body?: never; path: { /** * identifier of the group. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/posts/groups/{id}'; }; export type GetApi20260701ResourcesPostsGroupsByIdResponses = { /** * OK */ 200: PostsGroup; }; export type GetApi20260701ResourcesPostsGroupsByIdResponse = GetApi20260701ResourcesPostsGroupsByIdResponses[keyof GetApi20260701ResourcesPostsGroupsByIdResponses]; export type PutApi20260701ResourcesPostsGroupsByIdData = { body?: { /** * Identifier of the group. */ id: string; /** * title of the group. */ title?: string; /** * description of the group. */ description?: string; }; path: { /** * Identifier of the group. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/posts/groups/{id}'; }; export type PutApi20260701ResourcesPostsGroupsByIdResponses = { /** * OK */ 200: PostsGroup; }; export type PutApi20260701ResourcesPostsGroupsByIdResponse = PutApi20260701ResourcesPostsGroupsByIdResponses[keyof PutApi20260701ResourcesPostsGroupsByIdResponses]; export type PostApi20260701ResourcesPostsGroupsArchiveData = { body?: { /** * identifier of the group. */ id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/posts/groups/archive'; }; export type PostApi20260701ResourcesPostsGroupsArchiveResponses = { /** * OK */ 200: PostsGroup; }; export type PostApi20260701ResourcesPostsGroupsArchiveResponse = PostApi20260701ResourcesPostsGroupsArchiveResponses[keyof PostApi20260701ResourcesPostsGroupsArchiveResponses]; export type GetApi20260701ResourcesPostsPostsData = { body?: never; path?: never; query?: { /** * group identifiers of the posts */ 'groups[]'?: Array; /** * date from which posts will be retrieved */ from?: string; /** * date until which the posts will be retrieved */ until?: string; /** * identifiers of the post */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/posts/posts'; }; export type GetApi20260701ResourcesPostsPostsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesPostsPostsResponse = GetApi20260701ResourcesPostsPostsResponses[keyof GetApi20260701ResourcesPostsPostsResponses]; export type PostApi20260701ResourcesPostsPostsData = { body?: { /** * title of the post */ title: string; /** * description of the post */ description: string; /** * group identifier of the post, references to posts/groups endpoint */ post_group_id: string; /** * allow comments and reactions on the post */ allow_comments_and_reactions?: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/posts/posts'; }; export type PostApi20260701ResourcesPostsPostsResponses = { /** * CREATED */ 201: PostsPost; }; export type PostApi20260701ResourcesPostsPostsResponse = PostApi20260701ResourcesPostsPostsResponses[keyof PostApi20260701ResourcesPostsPostsResponses]; export type DeleteApi20260701ResourcesPostsPostsByIdData = { body?: never; path: { /** * identifier of the post */ id: string; }; query?: never; url: '/api/2026-07-01/resources/posts/posts/{id}'; }; export type DeleteApi20260701ResourcesPostsPostsByIdResponses = { /** * OK */ 200: PostsPost; }; export type DeleteApi20260701ResourcesPostsPostsByIdResponse = DeleteApi20260701ResourcesPostsPostsByIdResponses[keyof DeleteApi20260701ResourcesPostsPostsByIdResponses]; export type GetApi20260701ResourcesPostsPostsByIdData = { body?: never; path: { /** * identifiers of the post */ id: string; }; query?: never; url: '/api/2026-07-01/resources/posts/posts/{id}'; }; export type GetApi20260701ResourcesPostsPostsByIdResponses = { /** * OK */ 200: PostsPost; }; export type GetApi20260701ResourcesPostsPostsByIdResponse = GetApi20260701ResourcesPostsPostsByIdResponses[keyof GetApi20260701ResourcesPostsPostsByIdResponses]; export type PutApi20260701ResourcesPostsPostsByIdData = { body?: { /** * identifier of the post */ id: string; /** * title of the post */ title?: string; /** * description of the post */ description?: string; /** * group identifier of the post, references to posts/groups endpoint */ post_group_id?: string; /** * allow comments and reactions on the post */ allow_comments_and_reactions?: boolean; }; path: { /** * identifier of the post */ id: string; }; query?: never; url: '/api/2026-07-01/resources/posts/posts/{id}'; }; export type PutApi20260701ResourcesPostsPostsByIdResponses = { /** * OK */ 200: PostsPost; }; export type PutApi20260701ResourcesPostsPostsByIdResponse = PutApi20260701ResourcesPostsPostsByIdResponses[keyof PutApi20260701ResourcesPostsPostsByIdResponses]; export type GetApi20260701ResourcesProcurementPurchaseOrdersData = { body?: never; path?: never; query?: { /** * An array of purchase order IDs to filter by. */ 'ids[]'?: Array; /** * An array of purchase request IDs to filter by. */ 'purchase_request_ids[]'?: Array; /** * Status to filter by. */ status?: 'processing' | 'draft' | 'pending' | 'ordered' | 'partial' | 'received' | 'closed'; /** * Vendor IDs to filter by. */ 'vendor_ids[]'?: Array; }; url: '/api/2026-07-01/resources/procurement/purchase_orders'; }; export type GetApi20260701ResourcesProcurementPurchaseOrdersResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProcurementPurchaseOrdersResponse = GetApi20260701ResourcesProcurementPurchaseOrdersResponses[keyof GetApi20260701ResourcesProcurementPurchaseOrdersResponses]; export type GetApi20260701ResourcesProcurementPurchaseOrdersByIdData = { body?: never; path: { /** * An array of purchase order IDs to filter by. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/procurement/purchase_orders/{id}'; }; export type GetApi20260701ResourcesProcurementPurchaseOrdersByIdResponses = { /** * OK */ 200: ProcurementPurchaseOrder; }; export type GetApi20260701ResourcesProcurementPurchaseOrdersByIdResponse = GetApi20260701ResourcesProcurementPurchaseOrdersByIdResponses[keyof GetApi20260701ResourcesProcurementPurchaseOrdersByIdResponses]; export type GetApi20260701ResourcesProcurementPurchaseRequestsData = { body?: never; path?: never; query?: { /** * An array of purchase request IDs to filter by. */ 'ids[]'?: Array; /** * An array of employee IDs to filter by as the purchase requester requesters. */ 'requester_employee_ids[]'?: Array; /** * An array of purchase type IDs to filter by. */ 'type_ids[]'?: Array; /** * Status to filter by. */ status?: 'approved' | 'draft' | 'pending' | 'rejected' | 'changes_requested'; }; url: '/api/2026-07-01/resources/procurement/purchase_requests'; }; export type GetApi20260701ResourcesProcurementPurchaseRequestsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProcurementPurchaseRequestsResponse = GetApi20260701ResourcesProcurementPurchaseRequestsResponses[keyof GetApi20260701ResourcesProcurementPurchaseRequestsResponses]; export type GetApi20260701ResourcesProcurementPurchaseRequestsByIdData = { body?: never; path: { /** * An array of purchase request IDs to filter by. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/procurement/purchase_requests/{id}'; }; export type GetApi20260701ResourcesProcurementPurchaseRequestsByIdResponses = { /** * OK */ 200: ProcurementPurchaseRequest; }; export type GetApi20260701ResourcesProcurementPurchaseRequestsByIdResponse = GetApi20260701ResourcesProcurementPurchaseRequestsByIdResponses[keyof GetApi20260701ResourcesProcurementPurchaseRequestsByIdResponses]; export type GetApi20260701ResourcesProcurementTypesData = { body?: never; path?: never; query?: { /** * An array of procurement type IDs to filter by. */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/procurement/types'; }; export type GetApi20260701ResourcesProcurementTypesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProcurementTypesResponse = GetApi20260701ResourcesProcurementTypesResponses[keyof GetApi20260701ResourcesProcurementTypesResponses]; export type GetApi20260701ResourcesProcurementTypesByIdData = { body?: never; path: { /** * An array of procurement type IDs to filter by. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/procurement/types/{id}'; }; export type GetApi20260701ResourcesProcurementTypesByIdResponses = { /** * OK */ 200: ProcurementType; }; export type GetApi20260701ResourcesProcurementTypesByIdResponse = GetApi20260701ResourcesProcurementTypesByIdResponses[keyof GetApi20260701ResourcesProcurementTypesByIdResponses]; export type GetApi20260701ResourcesProjectManagementBudgetStrategiesData = { body?: never; path?: never; query?: { /** * Filter budget strategies by these ids */ 'ids[]'?: Array; /** * Filter budget strategies by these project ids */ 'project_ids[]'?: Array; /** * Filter budget strategies by these subproject ids */ 'subproject_ids[]'?: Array; /** * When true, return only budget strategies without a subproject */ without_subproject?: boolean; }; url: '/api/2026-07-01/resources/project_management/budget_strategies'; }; export type GetApi20260701ResourcesProjectManagementBudgetStrategiesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProjectManagementBudgetStrategiesResponse = GetApi20260701ResourcesProjectManagementBudgetStrategiesResponses[keyof GetApi20260701ResourcesProjectManagementBudgetStrategiesResponses]; export type PostApi20260701ResourcesProjectManagementBudgetStrategiesData = { body?: { /** * Type of budget strategy. One of project_fixed_cost => ProjectFixedCost, total_budget => TimeAndMaterials, without_budget => WithoutBudget */ budget_strategy_type: 'project_fixed_cost' | 'total_budget' | 'without_budget'; /** * Planned amount in cents (for project_fixed_cost / total_budget) */ planned_cents?: number; /** * Planned time in minutes (for total_budget) */ planned_minutes?: number; /** * Fee amount in cents (for project_fixed_cost / total_budget when is billable) */ fee_amount_cents?: number; /** * Id of the project this budget strategy belongs to */ project_id: string; /** * Id of the subproject, if any */ subproject_id?: string; /** * Whether the budget strategy is delegated */ delegated?: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/budget_strategies'; }; export type PostApi20260701ResourcesProjectManagementBudgetStrategiesResponses = { /** * CREATED */ 201: ProjectManagementBudgetStrategy; }; export type PostApi20260701ResourcesProjectManagementBudgetStrategiesResponse = PostApi20260701ResourcesProjectManagementBudgetStrategiesResponses[keyof PostApi20260701ResourcesProjectManagementBudgetStrategiesResponses]; export type DeleteApi20260701ResourcesProjectManagementBudgetStrategiesByIdData = { body?: never; path: { /** * Id of the budget strategy to delete */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/budget_strategies/{id}'; }; export type DeleteApi20260701ResourcesProjectManagementBudgetStrategiesByIdResponses = { /** * OK */ 200: ProjectManagementBudgetStrategy; }; export type DeleteApi20260701ResourcesProjectManagementBudgetStrategiesByIdResponse = DeleteApi20260701ResourcesProjectManagementBudgetStrategiesByIdResponses[keyof DeleteApi20260701ResourcesProjectManagementBudgetStrategiesByIdResponses]; export type GetApi20260701ResourcesProjectManagementBudgetStrategiesByIdData = { body?: never; path: { /** * Filter budget strategies by these ids */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/budget_strategies/{id}'; }; export type GetApi20260701ResourcesProjectManagementBudgetStrategiesByIdResponses = { /** * OK */ 200: ProjectManagementBudgetStrategy; }; export type GetApi20260701ResourcesProjectManagementBudgetStrategiesByIdResponse = GetApi20260701ResourcesProjectManagementBudgetStrategiesByIdResponses[keyof GetApi20260701ResourcesProjectManagementBudgetStrategiesByIdResponses]; export type PutApi20260701ResourcesProjectManagementBudgetStrategiesByIdData = { body?: { /** * Id of the budget strategy to update */ id: string; /** * Planned amount in cents (for project_fixed_cost / total_budget) */ planned_cents?: number; /** * Planned time in minutes (for total_budget) */ planned_minutes?: number; /** * Fee amount in cents (for project_fixed_cost / total_budget when is billable) */ fee_amount_cents?: number; /** * Type of budget strategy. One of project_fixed_cost => ProjectFixedCost, total_budget => TimeAndMaterials, without_budget => WithoutBudget */ budget_strategy_type?: 'project_fixed_cost' | 'total_budget' | 'without_budget'; /** * Whether the budget strategy is delegated */ delegated?: boolean; }; path: { /** * Id of the budget strategy to update */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/budget_strategies/{id}'; }; export type PutApi20260701ResourcesProjectManagementBudgetStrategiesByIdResponses = { /** * OK */ 200: ProjectManagementBudgetStrategy; }; export type PutApi20260701ResourcesProjectManagementBudgetStrategiesByIdResponse = PutApi20260701ResourcesProjectManagementBudgetStrategiesByIdResponses[keyof PutApi20260701ResourcesProjectManagementBudgetStrategiesByIdResponses]; export type GetApi20260701ResourcesProjectManagementExpenseRecordsData = { body?: never; path?: never; query?: { /** * Retrieve only the expense records that matches the project ids provided in the request. */ 'ids[]'?: Array; /** * Retrieve only the expense records with end date greater than or equal to the start date provided in the request. */ start_date?: string; /** * Retrieve only the expense records with start date less than or equal to the end date provided in the request. */ end_date?: string; /** * Retrieve only the expense records that matches the expense ids provided in the request. */ 'expense_ids[]'?: Array; /** * Retrieve only the expense records that matches the project ids provided in the request. */ 'project_ids[]'?: Array; /** * Retrieve only the expense records that matches the subproject ids provided in the request. */ 'subproject_ids[]'?: Array; /** * Retrieve only the expense records that matches the updated after date provided in the request. */ updated_after?: string; /** * Retrieve only the expense records that matches the employee user name like provided in the request. */ employee_user_name_like?: string; /** * Retrieve only the expense records that matches the project worker ids provided in the request. */ 'project_worker_ids[]'?: Array; }; url: '/api/2026-07-01/resources/project_management/expense_records'; }; export type GetApi20260701ResourcesProjectManagementExpenseRecordsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProjectManagementExpenseRecordsResponse = GetApi20260701ResourcesProjectManagementExpenseRecordsResponses[keyof GetApi20260701ResourcesProjectManagementExpenseRecordsResponses]; export type GetApi20260701ResourcesProjectManagementExpenseRecordsByIdData = { body?: never; path: { /** * Retrieve only the expense records that matches the project ids provided in the request. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/expense_records/{id}'; }; export type GetApi20260701ResourcesProjectManagementExpenseRecordsByIdResponses = { /** * OK */ 200: ProjectManagementExpenseRecord; }; export type GetApi20260701ResourcesProjectManagementExpenseRecordsByIdResponse = GetApi20260701ResourcesProjectManagementExpenseRecordsByIdResponses[keyof GetApi20260701ResourcesProjectManagementExpenseRecordsByIdResponses]; export type GetApi20260701ResourcesProjectManagementExportableExpensesData = { body?: never; path?: never; query: { start_date: string; end_date: string; 'project_ids[]': Array; }; url: '/api/2026-07-01/resources/project_management/exportable_expenses'; }; export type GetApi20260701ResourcesProjectManagementExportableExpensesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProjectManagementExportableExpensesResponse = GetApi20260701ResourcesProjectManagementExportableExpensesResponses[keyof GetApi20260701ResourcesProjectManagementExportableExpensesResponses]; export type GetApi20260701ResourcesProjectManagementImputableProjectsData = { body?: never; path?: never; query?: { /** * Retrieve only the imputable projects that match the ids provided in the request. */ 'ids[]'?: Array; /** * Retrieve only the imputable projects that match the name or code passed in the request. */ name_or_code?: string; /** * If true, retrieve only active imputable projects. */ only_active?: boolean; /** * If true, retrieve only imputable projects that have at least one assigned project worker. */ assigned?: boolean; /** * Retrieve only the imputable projects in which the employees passed in the request are project workers. */ 'employee_ids[]'?: Array; }; url: '/api/2026-07-01/resources/project_management/imputable_projects'; }; export type GetApi20260701ResourcesProjectManagementImputableProjectsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProjectManagementImputableProjectsResponse = GetApi20260701ResourcesProjectManagementImputableProjectsResponses[keyof GetApi20260701ResourcesProjectManagementImputableProjectsResponses]; export type GetApi20260701ResourcesProjectManagementImputableProjectsByIdData = { body?: never; path: { /** * Retrieve only the imputable projects that match the ids provided in the request. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/imputable_projects/{id}'; }; export type GetApi20260701ResourcesProjectManagementImputableProjectsByIdResponses = { /** * OK */ 200: ProjectManagementImputableProject; }; export type GetApi20260701ResourcesProjectManagementImputableProjectsByIdResponse = GetApi20260701ResourcesProjectManagementImputableProjectsByIdResponses[keyof GetApi20260701ResourcesProjectManagementImputableProjectsByIdResponses]; export type GetApi20260701ResourcesProjectManagementPlannedRecordsData = { body?: never; path?: never; query?: { /** * Retrieve only the planned records that matches the ids provided in the request. */ 'ids[]'?: Array; /** * Retrieve only the planned records that matches the project worker ids provided in the request. */ 'project_worker_ids[]'?: Array; /** * Retrieve only the planned records that matches the start date provided in the request. */ start_date?: string; /** * Retrieve only the planned records that matches the end date provided in the request. */ end_date?: string; /** * Retrieve only the planned records that matches the subproject ids provided in the request. */ 'subproject_ids[]'?: Array; }; url: '/api/2026-07-01/resources/project_management/planned_records'; }; export type GetApi20260701ResourcesProjectManagementPlannedRecordsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProjectManagementPlannedRecordsResponse = GetApi20260701ResourcesProjectManagementPlannedRecordsResponses[keyof GetApi20260701ResourcesProjectManagementPlannedRecordsResponses]; export type DeleteApi20260701ResourcesProjectManagementPlannedRecordsByIdData = { body?: never; path: { /** * The id of the planned record to delete */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/planned_records/{id}'; }; export type DeleteApi20260701ResourcesProjectManagementPlannedRecordsByIdResponses = { /** * OK */ 200: ProjectManagementPlannedRecord; }; export type DeleteApi20260701ResourcesProjectManagementPlannedRecordsByIdResponse = DeleteApi20260701ResourcesProjectManagementPlannedRecordsByIdResponses[keyof DeleteApi20260701ResourcesProjectManagementPlannedRecordsByIdResponses]; export type GetApi20260701ResourcesProjectManagementPlannedRecordsByIdData = { body?: never; path: { /** * Retrieve only the planned records that matches the ids provided in the request. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/planned_records/{id}'; }; export type GetApi20260701ResourcesProjectManagementPlannedRecordsByIdResponses = { /** * OK */ 200: ProjectManagementPlannedRecord; }; export type GetApi20260701ResourcesProjectManagementPlannedRecordsByIdResponse = GetApi20260701ResourcesProjectManagementPlannedRecordsByIdResponses[keyof GetApi20260701ResourcesProjectManagementPlannedRecordsByIdResponses]; export type PutApi20260701ResourcesProjectManagementPlannedRecordsByIdData = { body?: { /** * The id of the planned record to update */ id: string; /** * The start date to update the planned record for */ start_date: string; /** * The end date to update the planned record for */ end_date: string; /** * The daily minutes to update the planned record for */ daily_minutes: number; /** * The project worker id to update the planned record for */ project_worker_id?: string; /** * The week days to update the planned record for, start in Sunday 0 and end in Saturday 6 */ week_days?: Array; }; path: { /** * The id of the planned record to update */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/planned_records/{id}'; }; export type PutApi20260701ResourcesProjectManagementPlannedRecordsByIdResponses = { /** * OK */ 200: ProjectManagementPlannedRecord; }; export type PutApi20260701ResourcesProjectManagementPlannedRecordsByIdResponse = PutApi20260701ResourcesProjectManagementPlannedRecordsByIdResponses[keyof PutApi20260701ResourcesProjectManagementPlannedRecordsByIdResponses]; export type PostApi20260701ResourcesProjectManagementPlannedRecordsBulkCreateData = { body?: { /** * The project worker ids to create the planned records for */ project_worker_ids: Array; /** * The start date to create the planned records for */ start_date: string; /** * The end date to create the planned records for */ end_date: string; /** * The daily minutes to create the planned records for */ daily_minutes: number; /** * The subproject id to create the planned records for */ subproject_id?: string; /** * The week days to create the planned records for, start in Sunday 0 and end in Saturday 6 */ week_days?: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/planned_records/bulk_create'; }; export type PostApi20260701ResourcesProjectManagementPlannedRecordsBulkCreateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesProjectManagementPlannedRecordsBulkCreateResponse = PostApi20260701ResourcesProjectManagementPlannedRecordsBulkCreateResponses[keyof PostApi20260701ResourcesProjectManagementPlannedRecordsBulkCreateResponses]; export type GetApi20260701ResourcesProjectManagementProjectsData = { body?: never; path?: never; query: { /** * Retrieve only the projects that matches the ids provided in the request. */ 'ids[]'?: Array; /** * Retrieve only the projects that match the name passed in the request. (deprecated) */ name?: string; /** * Retrieve only the projects that match the name or code passed in the request. */ name_or_code?: string; /** * If true we will perform the minutes calculations and will be return the total inputed_minutes. If false, 0 will be returned and no minutes calculations will be performed. */ include_inputed_minutes: boolean; /** * If true we will perform the costs calculations and will be return the total cost. If false, 0 will be returned and no costs calculations will be performed. */ include_costs?: boolean; /** * Retrieve only the projects that were created or updated after the date provided in the request. */ updated_after?: string; /** * Retrieve only the projects that are related to the legal entity passed in the request. */ legal_entity_id?: string; /** * Retrieve only the projects that are related to the clients passed in the request, refers to finance/contacts. */ 'client_ids[]'?: Array; /** * Retrieve only the projects that are not related to any client, refers to finance/contacts. */ no_clients?: boolean; /** * Retrieve only the projects that have the total cost in the currency passed in the request. */ total_currency?: string; }; url: '/api/2026-07-01/resources/project_management/projects'; }; export type GetApi20260701ResourcesProjectManagementProjectsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProjectManagementProjectsResponse = GetApi20260701ResourcesProjectManagementProjectsResponses[keyof GetApi20260701ResourcesProjectManagementProjectsResponses]; export type PostApi20260701ResourcesProjectManagementProjectsData = { body?: { /** * Mandatory to pass a name of the project. */ name: string; /** * Optional unique code for the project to be identifiable and searchable. */ code?: string; /** * Description of the project. */ description?: string; /** * Optional start date for the project. If given must be in iso-8601 format (YYYY-MM-DD). */ start_date?: string; /** * Optional due date for the project. If given must be in iso-8601 format (YYYY-MM-DD). */ due_date?: string; /** * Project status. Can be `active` or `closed` */ status?: string; /** * Optional param to define the kind of assignation the project has. Can be `manual` or `company` */ employees_assignment?: string; /** * Array of employee IDs who are project administrators */ project_admins?: Array; /** * Array of employee IDs who are project managers */ project_managers?: Array; /** * Whether the project is billable to clients */ is_billable?: boolean; /** * Fixed cost of the project in cents */ fixed_cost_cents?: number; /** * Budget allocation in minutes for the project, it's exclusive of the budget_allocation_cents */ budget_allocation?: number; /** * The legal entity ID associated with the project */ legal_entity_id?: string; /** * Budget allocation amount in cents, it's exclusive of the budget_allocation */ budget_allocation_cents?: number; /** * Fee amount in cents for the project */ fee_amount_cents?: number; /** * Client associated to the project, refers to finance/contacts. */ client_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/projects'; }; export type PostApi20260701ResourcesProjectManagementProjectsResponses = { /** * CREATED */ 201: ProjectManagementProject; }; export type PostApi20260701ResourcesProjectManagementProjectsResponse = PostApi20260701ResourcesProjectManagementProjectsResponses[keyof PostApi20260701ResourcesProjectManagementProjectsResponses]; export type GetApi20260701ResourcesProjectManagementProjectsByIdData = { body?: never; path: { /** * Retrieve only the projects that matches the ids provided in the request. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/projects/{id}'; }; export type GetApi20260701ResourcesProjectManagementProjectsByIdResponses = { /** * OK */ 200: ProjectManagementProject; }; export type GetApi20260701ResourcesProjectManagementProjectsByIdResponse = GetApi20260701ResourcesProjectManagementProjectsByIdResponses[keyof GetApi20260701ResourcesProjectManagementProjectsByIdResponses]; export type PutApi20260701ResourcesProjectManagementProjectsByIdData = { body?: { /** * Id project. */ id: string; /** * Name of the project. */ name: string; /** * Code for the project to be identifiable and searchable. */ code?: string; /** * Description of the project. */ description?: string; /** * Start date for the project. If given must be in iso-8601 format (YYYY-MM-DD). */ start_date?: string; /** * Due date for the project. If given must be in iso-8601 format (YYYY-MM-DD). */ due_date?: string; /** * Client associated to the project, refers to finance/contacts. */ client_id?: string; /** * Id of the legal entity for the currency of the project */ legal_entity_id?: string; }; path: { /** * Id project. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/projects/{id}'; }; export type PutApi20260701ResourcesProjectManagementProjectsByIdResponses = { /** * OK */ 200: ProjectManagementProject; }; export type PutApi20260701ResourcesProjectManagementProjectsByIdResponse = PutApi20260701ResourcesProjectManagementProjectsByIdResponses[keyof PutApi20260701ResourcesProjectManagementProjectsByIdResponses]; export type PostApi20260701ResourcesProjectManagementProjectsActivateData = { body?: { id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/projects/activate'; }; export type PostApi20260701ResourcesProjectManagementProjectsActivateResponses = { /** * OK */ 200: ProjectManagementProject; }; export type PostApi20260701ResourcesProjectManagementProjectsActivateResponse = PostApi20260701ResourcesProjectManagementProjectsActivateResponses[keyof PostApi20260701ResourcesProjectManagementProjectsActivateResponses]; export type PostApi20260701ResourcesProjectManagementProjectsChangeAssignmentData = { body?: { id: string; employees_assignment: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/projects/change_assignment'; }; export type PostApi20260701ResourcesProjectManagementProjectsChangeAssignmentResponses = { /** * OK */ 200: ProjectManagementProject; }; export type PostApi20260701ResourcesProjectManagementProjectsChangeAssignmentResponse = PostApi20260701ResourcesProjectManagementProjectsChangeAssignmentResponses[keyof PostApi20260701ResourcesProjectManagementProjectsChangeAssignmentResponses]; export type PostApi20260701ResourcesProjectManagementProjectsChangeStatusData = { body?: { /** * Id project. */ id: string; /** * new status of the projects */ status: 'active' | 'closed' | 'draft'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/projects/change_status'; }; export type PostApi20260701ResourcesProjectManagementProjectsChangeStatusResponses = { /** * OK */ 200: ProjectManagementProject; }; export type PostApi20260701ResourcesProjectManagementProjectsChangeStatusResponse = PostApi20260701ResourcesProjectManagementProjectsChangeStatusResponses[keyof PostApi20260701ResourcesProjectManagementProjectsChangeStatusResponses]; export type PostApi20260701ResourcesProjectManagementProjectsCloseData = { body?: { id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/projects/close'; }; export type PostApi20260701ResourcesProjectManagementProjectsCloseResponses = { /** * OK */ 200: ProjectManagementProject; }; export type PostApi20260701ResourcesProjectManagementProjectsCloseResponse = PostApi20260701ResourcesProjectManagementProjectsCloseResponses[keyof PostApi20260701ResourcesProjectManagementProjectsCloseResponses]; export type PostApi20260701ResourcesProjectManagementProjectsSoftDeleteData = { body?: { id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/projects/soft_delete'; }; export type PostApi20260701ResourcesProjectManagementProjectsSoftDeleteResponses = { /** * OK */ 200: ProjectManagementProject; }; export type PostApi20260701ResourcesProjectManagementProjectsSoftDeleteResponse = PostApi20260701ResourcesProjectManagementProjectsSoftDeleteResponses[keyof PostApi20260701ResourcesProjectManagementProjectsSoftDeleteResponses]; export type GetApi20260701ResourcesProjectManagementProjectTasksData = { body?: never; path?: never; query: { /** * Retrieve only the projects tasks that matches the ids passed in the request. */ 'ids[]': Array; /** * Retrieve only the projects tasks from the projects that matched the ids passed in the request. */ 'project_ids[]': Array; /** * Retrieve only the projects tasks from the subprojects that matched the ids passed in the request. */ 'subproject_ids[]': Array; 'task_ids[]'?: Array; /** * Retrieve only the projects tasks with the status completed. */ completed: boolean; /** * Retrieve only the projects tasks that are overdue. */ overdue: boolean; /** * Retrieve only the projects tasks that their name match with the content passed as argument. */ search: string; /** * Retrieve only the project tasks that their due status match with the content passed as argument. */ due_status: 'no_due' | 'due_today' | 'over_due' | 'due_in_future'; /** * Retrieve only the projects tasks from the clients that matched the ids passed in the request. */ 'client_ids[]': Array; }; url: '/api/2026-07-01/resources/project_management/project_tasks'; }; export type GetApi20260701ResourcesProjectManagementProjectTasksResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProjectManagementProjectTasksResponse = GetApi20260701ResourcesProjectManagementProjectTasksResponses[keyof GetApi20260701ResourcesProjectManagementProjectTasksResponses]; export type PostApi20260701ResourcesProjectManagementProjectTasksData = { body?: { /** * The name of the project task */ name: string; /** * The content/description of the project task */ content?: string; /** * The date when the project task starts */ starts_on?: string; /** * If true, status changes related to the project will notify the author */ follow_up?: boolean; /** * The date when the project task will be due */ due_on?: string; /** * The value of the assignee employee ids of the project task */ 'assignee_employee_ids[]'?: Array; /** * The ID of the project where the task belongs */ project_id: string; /** * The ID of the subproject where the project task belongs */ subproject_id?: string; /** * Array of files that will be attached to the project task */ 'files[]'?: Array; /** * The status of the project task */ status: 'todo' | 'in_progress' | 'done' | 'discarded'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/project_tasks'; }; export type PostApi20260701ResourcesProjectManagementProjectTasksResponses = { /** * CREATED */ 201: ProjectManagementProjectTask; }; export type PostApi20260701ResourcesProjectManagementProjectTasksResponse = PostApi20260701ResourcesProjectManagementProjectTasksResponses[keyof PostApi20260701ResourcesProjectManagementProjectTasksResponses]; export type GetApi20260701ResourcesProjectManagementProjectTasksByIdData = { body?: never; path: { /** * Retrieve only the projects tasks that matches the ids passed in the request. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/project_tasks/{id}'; }; export type GetApi20260701ResourcesProjectManagementProjectTasksByIdResponses = { /** * OK */ 200: ProjectManagementProjectTask; }; export type GetApi20260701ResourcesProjectManagementProjectTasksByIdResponse = GetApi20260701ResourcesProjectManagementProjectTasksByIdResponses[keyof GetApi20260701ResourcesProjectManagementProjectTasksByIdResponses]; export type PutApi20260701ResourcesProjectManagementProjectTasksByIdData = { body?: { /** * The ID of the project task to update */ id: string; /** * The name of the project task */ name: string; /** * The content/description of the project task */ content?: string; /** * The date when the project task starts */ starts_on?: string; /** * If true, status changes related to the project will notify the author */ follow_up?: boolean; /** * The date when the project task will be due */ due_on?: string; /** * The value of the assignee employee ids of the project task */ 'assignee_employee_ids[]'?: Array; /** * The ID of the project where the task belongs */ project_id: string; /** * The ID of the subproject where the project task belongs */ subproject_id?: string; /** * Array of files to add to the project task */ 'files_to_add[]'?: Array; /** * Array of files to remove from the project task */ 'files_to_remove[]'?: Array; /** * The status of the project task */ status?: 'todo' | 'in_progress' | 'done' | 'discarded'; }; path: { /** * The ID of the project task to update */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/project_tasks/{id}'; }; export type PutApi20260701ResourcesProjectManagementProjectTasksByIdResponses = { /** * OK */ 200: ProjectManagementProjectTask; }; export type PutApi20260701ResourcesProjectManagementProjectTasksByIdResponse = PutApi20260701ResourcesProjectManagementProjectTasksByIdResponses[keyof PutApi20260701ResourcesProjectManagementProjectTasksByIdResponses]; export type PostApi20260701ResourcesProjectManagementProjectTasksBulkDestroyData = { body?: { ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/project_tasks/bulk_destroy'; }; export type PostApi20260701ResourcesProjectManagementProjectTasksBulkDestroyResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesProjectManagementProjectTasksBulkDestroyResponse = PostApi20260701ResourcesProjectManagementProjectTasksBulkDestroyResponses[keyof PostApi20260701ResourcesProjectManagementProjectTasksBulkDestroyResponses]; export type PostApi20260701ResourcesProjectManagementProjectTasksBulkDuplicateData = { body?: { /** * Project id where the tasks will be duplicated */ project_id?: string; /** * Subproject id where the tasks will be duplicated */ subproject_id?: string; /** * Task ids to be duplicated */ ids: Array; /** * Set this to true if you want to exclude assignees from the duplicated tasks */ exclude_assignees?: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/project_tasks/bulk_duplicate'; }; export type PostApi20260701ResourcesProjectManagementProjectTasksBulkDuplicateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesProjectManagementProjectTasksBulkDuplicateResponse = PostApi20260701ResourcesProjectManagementProjectTasksBulkDuplicateResponses[keyof PostApi20260701ResourcesProjectManagementProjectTasksBulkDuplicateResponses]; export type GetApi20260701ResourcesProjectManagementProjectWorkersData = { body?: never; path?: never; query?: { /** * Retrieve only the project workers that matches the ids provided in the request. */ 'ids[]'?: Array; /** * Retrieve only the project workers that matches the project_ids provided in the request. */ 'project_ids[]'?: Array; /** * Retrieve only the project workers that matches the subproject_ids provided in the request. */ 'subproject_ids[]'?: Array; /** * Retrieve the project workers that are not assigned to any subproject (can be combined with subproject_ids). */ no_subproject?: boolean; /** * Retrieve only the project workers that are related to the employee_ids provided in the request. */ 'employee_ids[]'?: Array; /** * Retrieve project workers that are assigned if true or in not-assigned status if false. */ assigned?: boolean; /** * Retrieve the project workers that are assigned to active projects if turew or closed projects if false. */ project_active?: boolean; /** * Retrieve only the project workers that matches the given employee's name provided in the request. */ employee_name?: string; /** * If true we will perform the minutes calculations and will be return the total inputed_minutes. If false, 0 will be returned and no minutes calculations will be performed. */ include_inputed_minutes?: boolean; /** * If true, costs of the project worker will be included to the response. */ include_cost?: boolean; /** * Retrieve only the project workers that were created or updated after the date provided in the request. */ updated_after?: string; include_labor_cost?: boolean; }; url: '/api/2026-07-01/resources/project_management/project_workers'; }; export type GetApi20260701ResourcesProjectManagementProjectWorkersResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProjectManagementProjectWorkersResponse = GetApi20260701ResourcesProjectManagementProjectWorkersResponses[keyof GetApi20260701ResourcesProjectManagementProjectWorkersResponses]; export type PostApi20260701ResourcesProjectManagementProjectWorkersData = { body?: { /** * The id of the project to assign the employee project worker. */ project_id: string; /** * The id of the employee to be assigned to the project. */ employee_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/project_workers'; }; export type PostApi20260701ResourcesProjectManagementProjectWorkersResponses = { /** * CREATED */ 201: ProjectManagementProjectWorker; }; export type PostApi20260701ResourcesProjectManagementProjectWorkersResponse = PostApi20260701ResourcesProjectManagementProjectWorkersResponses[keyof PostApi20260701ResourcesProjectManagementProjectWorkersResponses]; export type GetApi20260701ResourcesProjectManagementProjectWorkersByIdData = { body?: never; path: { /** * Retrieve only the project workers that matches the ids provided in the request. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/project_workers/{id}'; }; export type GetApi20260701ResourcesProjectManagementProjectWorkersByIdResponses = { /** * OK */ 200: ProjectManagementProjectWorker; }; export type GetApi20260701ResourcesProjectManagementProjectWorkersByIdResponse = GetApi20260701ResourcesProjectManagementProjectWorkersByIdResponses[keyof GetApi20260701ResourcesProjectManagementProjectWorkersByIdResponses]; export type PostApi20260701ResourcesProjectManagementProjectWorkersBulkAssignData = { body?: { /** * **DEPRECATED** in favor of `project_ids`. Please use `project_ids` instead */ project_id?: string; /** * Set of project_ids to assign to the employees specified in the next param. */ project_ids?: Array; /** * Set of a employee_ids that must be **assigned** after execution. */ employee_ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/project_workers/bulk_assign'; }; export type PostApi20260701ResourcesProjectManagementProjectWorkersBulkAssignResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesProjectManagementProjectWorkersBulkAssignResponse = PostApi20260701ResourcesProjectManagementProjectWorkersBulkAssignResponses[keyof PostApi20260701ResourcesProjectManagementProjectWorkersBulkAssignResponses]; export type PostApi20260701ResourcesProjectManagementProjectWorkersBulkCreateData = { body?: { /** * The id of the project to assign the given employees. */ project_id: string; /** * The id of the employee to be assigned to the projects. */ employee_ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/project_workers/bulk_create'; }; export type PostApi20260701ResourcesProjectManagementProjectWorkersBulkCreateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesProjectManagementProjectWorkersBulkCreateResponse = PostApi20260701ResourcesProjectManagementProjectWorkersBulkCreateResponses[keyof PostApi20260701ResourcesProjectManagementProjectWorkersBulkCreateResponses]; export type PostApi20260701ResourcesProjectManagementProjectWorkersUnassignData = { body?: { /** * The id of the project worker to be unassigned. */ id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/project_workers/unassign'; }; export type PostApi20260701ResourcesProjectManagementProjectWorkersUnassignResponses = { /** * OK */ 200: ProjectManagementProjectWorker; }; export type PostApi20260701ResourcesProjectManagementProjectWorkersUnassignResponse = PostApi20260701ResourcesProjectManagementProjectWorkersUnassignResponses[keyof PostApi20260701ResourcesProjectManagementProjectWorkersUnassignResponses]; export type GetApi20260701ResourcesProjectManagementSubprojectsData = { body?: never; path?: never; query?: { /** * Retrieve only the subprojects that matches the ids passed in the request. */ 'ids[]'?: Array; /** * Retrieve only the subprojects that belongs to the project ids passed in the request. */ 'project_ids[]'?: Array; /** * Retrieve only the subprojects that matches the name passed in the request. */ name?: string; include_no_subproject?: boolean; /** * If `true` we will perform the minutes calculations and will be return the total `inputed_minutes`. If the param is not passed in the request, its default value is `FALSE` so it will return `inputed_minutes: 0` and no minutes calculations will be performed. */ include_inputed_minutes?: boolean; /** * If `true` we will perform the cost calculations and will be return the total `labor_cost_cents`. If the param is not passed in the request, its default value is `FALSE` so it will return `labor_cost_cents: 0` and no cost calculations will be performed. */ include_cost?: boolean; /** * Retrieve only the subprojects that were updated after the date passed in the request. */ updated_after?: string; }; url: '/api/2026-07-01/resources/project_management/subprojects'; }; export type GetApi20260701ResourcesProjectManagementSubprojectsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProjectManagementSubprojectsResponse = GetApi20260701ResourcesProjectManagementSubprojectsResponses[keyof GetApi20260701ResourcesProjectManagementSubprojectsResponses]; export type PostApi20260701ResourcesProjectManagementSubprojectsData = { body?: { name: string; project_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/subprojects'; }; export type PostApi20260701ResourcesProjectManagementSubprojectsResponses = { /** * CREATED */ 201: ProjectManagementSubproject; }; export type PostApi20260701ResourcesProjectManagementSubprojectsResponse = PostApi20260701ResourcesProjectManagementSubprojectsResponses[keyof PostApi20260701ResourcesProjectManagementSubprojectsResponses]; export type DeleteApi20260701ResourcesProjectManagementSubprojectsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/subprojects/{id}'; }; export type DeleteApi20260701ResourcesProjectManagementSubprojectsByIdResponses = { /** * OK */ 200: ProjectManagementSubproject; }; export type DeleteApi20260701ResourcesProjectManagementSubprojectsByIdResponse = DeleteApi20260701ResourcesProjectManagementSubprojectsByIdResponses[keyof DeleteApi20260701ResourcesProjectManagementSubprojectsByIdResponses]; export type GetApi20260701ResourcesProjectManagementSubprojectsByIdData = { body?: never; path: { /** * Retrieve only the subprojects that matches the ids passed in the request. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/subprojects/{id}'; }; export type GetApi20260701ResourcesProjectManagementSubprojectsByIdResponses = { /** * OK */ 200: ProjectManagementSubproject; }; export type GetApi20260701ResourcesProjectManagementSubprojectsByIdResponse = GetApi20260701ResourcesProjectManagementSubprojectsByIdResponses[keyof GetApi20260701ResourcesProjectManagementSubprojectsByIdResponses]; export type PutApi20260701ResourcesProjectManagementSubprojectsByIdData = { body?: { /** * The id of the subproject. */ id: string; /** * The name of the subproject. */ name?: string; /** * The description of the subproject. */ description?: string; /** * The status of the subproject. */ status?: 'active' | 'closed' | 'draft' | 'processing'; /** * The code of the subproject. */ code?: string; /** * The start date of the subproject. */ start_date?: string; /** * The due date of the subproject. */ due_date?: string; }; path: { /** * The id of the subproject. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/subprojects/{id}'; }; export type PutApi20260701ResourcesProjectManagementSubprojectsByIdResponses = { /** * OK */ 200: ProjectManagementSubproject; }; export type PutApi20260701ResourcesProjectManagementSubprojectsByIdResponse = PutApi20260701ResourcesProjectManagementSubprojectsByIdResponses[keyof PutApi20260701ResourcesProjectManagementSubprojectsByIdResponses]; export type PostApi20260701ResourcesProjectManagementSubprojectsRenameData = { body?: { id: string; name: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/subprojects/rename'; }; export type PostApi20260701ResourcesProjectManagementSubprojectsRenameResponses = { /** * OK */ 200: ProjectManagementSubproject; }; export type PostApi20260701ResourcesProjectManagementSubprojectsRenameResponse = PostApi20260701ResourcesProjectManagementSubprojectsRenameResponses[keyof PostApi20260701ResourcesProjectManagementSubprojectsRenameResponses]; export type GetApi20260701ResourcesProjectManagementTimeRecordsData = { body?: never; path?: never; query?: { /** * Time record ids to retrieve */ 'ids[]'?: Array; /** * Project worker ids to retrieve */ 'project_worker_ids[]'?: Array; /** * Subproject ids to retrieve */ 'subproject_ids[]'?: Array; /** * Attendance shift ids to retrieve */ 'attendance_shift_ids[]'?: Array; /** * Employee ids to retrieve */ 'employee_ids[]'?: Array; /** * Month to filter */ month?: number; /** * Year to filter */ year?: number; updated_after?: string; }; url: '/api/2026-07-01/resources/project_management/time_records'; }; export type GetApi20260701ResourcesProjectManagementTimeRecordsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesProjectManagementTimeRecordsResponse = GetApi20260701ResourcesProjectManagementTimeRecordsResponses[keyof GetApi20260701ResourcesProjectManagementTimeRecordsResponses]; export type PostApi20260701ResourcesProjectManagementTimeRecordsData = { body?: { project_worker_id: string; attendance_shift_id?: string; subproject_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/time_records'; }; export type PostApi20260701ResourcesProjectManagementTimeRecordsResponses = { /** * CREATED */ 201: ProjectManagementTimeRecord; }; export type PostApi20260701ResourcesProjectManagementTimeRecordsResponse = PostApi20260701ResourcesProjectManagementTimeRecordsResponses[keyof PostApi20260701ResourcesProjectManagementTimeRecordsResponses]; export type DeleteApi20260701ResourcesProjectManagementTimeRecordsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/time_records/{id}'; }; export type DeleteApi20260701ResourcesProjectManagementTimeRecordsByIdResponses = { /** * OK */ 200: ProjectManagementTimeRecord; }; export type DeleteApi20260701ResourcesProjectManagementTimeRecordsByIdResponse = DeleteApi20260701ResourcesProjectManagementTimeRecordsByIdResponses[keyof DeleteApi20260701ResourcesProjectManagementTimeRecordsByIdResponses]; export type GetApi20260701ResourcesProjectManagementTimeRecordsByIdData = { body?: never; path: { /** * Time record ids to retrieve */ id: string; }; query?: never; url: '/api/2026-07-01/resources/project_management/time_records/{id}'; }; export type GetApi20260701ResourcesProjectManagementTimeRecordsByIdResponses = { /** * OK */ 200: ProjectManagementTimeRecord; }; export type GetApi20260701ResourcesProjectManagementTimeRecordsByIdResponse = GetApi20260701ResourcesProjectManagementTimeRecordsByIdResponses[keyof GetApi20260701ResourcesProjectManagementTimeRecordsByIdResponses]; export type PostApi20260701ResourcesProjectManagementTimeRecordsBulkDeleteData = { body?: { date: string; project_worker_id: string; subproject_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/time_records/bulk_delete'; }; export type PostApi20260701ResourcesProjectManagementTimeRecordsBulkDeleteResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesProjectManagementTimeRecordsBulkDeleteResponse = PostApi20260701ResourcesProjectManagementTimeRecordsBulkDeleteResponses[keyof PostApi20260701ResourcesProjectManagementTimeRecordsBulkDeleteResponses]; export type PostApi20260701ResourcesProjectManagementTimeRecordsBulkProcessData = { body?: { items: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/time_records/bulk_process'; }; export type PostApi20260701ResourcesProjectManagementTimeRecordsBulkProcessResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesProjectManagementTimeRecordsBulkProcessResponse = PostApi20260701ResourcesProjectManagementTimeRecordsBulkProcessResponses[keyof PostApi20260701ResourcesProjectManagementTimeRecordsBulkProcessResponses]; export type PostApi20260701ResourcesProjectManagementTimeRecordsUpdateProjectWorkerData = { body?: { id: string; project_worker_id: string; subproject_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/project_management/time_records/update_project_worker'; }; export type PostApi20260701ResourcesProjectManagementTimeRecordsUpdateProjectWorkerResponses = { /** * OK */ 200: ProjectManagementTimeRecord; }; export type PostApi20260701ResourcesProjectManagementTimeRecordsUpdateProjectWorkerResponse = PostApi20260701ResourcesProjectManagementTimeRecordsUpdateProjectWorkerResponses[keyof PostApi20260701ResourcesProjectManagementTimeRecordsUpdateProjectWorkerResponses]; export type GetApi20260701ResourcesShiftManagementShiftsData = { body?: never; path?: never; query?: { /** * Filter shifts by their unique identifiers. Returns only shifts matching the provided IDs. If an empty array is provided, returns no results */ 'ids[]'?: Array; /** * Exclude shifts with these identifiers from the results. Useful for filtering out specific shifts while keeping others */ 'without_ids[]'?: Array; /** * Filter shifts by employee identifiers. Returns only shifts assigned to the specified employees. If not provided, returns shifts for all accessible employees */ 'employee_ids[]'?: Array; /** * Filter shifts by location identifiers. Returns shifts that occur at the specified locations. Can be combined with employee_ids for more precise filtering */ 'location_ids[]'?: Array; /** * Filter shifts that end on or after this date. Only the date (calendar day) is used; the time part is ignored (treated as start of day, 00:00:00). Shifts are included if their end time is at or after the start of the specified day */ start_at?: string; /** * Filter shifts that start before this date. Only the date (calendar day) is used; the time part is ignored (treated as end of day, 23:59:59). Shifts are included if their start time is before the end of the specified day */ end_at?: string; /** * When true, returns only shifts with state 'published' (visible to employees). When false, returns shifts in all states (draft, published, backup) based on your permissions */ only_published?: boolean; /** * Filter shifts by their state. Provide an array of states ('draft', 'published', 'backup') to include. Can be combined with other filters for precise control */ 'only_states[]'?: 'draft' | 'published' | 'backup'; /** * When true, shifts that span across midnight (overnight shifts) are split into two separate shift objects - one for each calendar day. This makes it easier to display shifts in day-based views */ split_overnight_shifts?: boolean; }; url: '/api/2026-07-01/resources/shift_management/shifts'; }; export type GetApi20260701ResourcesShiftManagementShiftsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesShiftManagementShiftsResponse = GetApi20260701ResourcesShiftManagementShiftsResponses[keyof GetApi20260701ResourcesShiftManagementShiftsResponses]; export type PostApi20260701ResourcesShiftManagementShiftsData = { body?: { /** * Display name of the shift. If not explicitly set, falls back to the default shift title or template week name */ name?: string; /** * Timestamp indicating when the shift starts. Required parameter */ start_at: string; /** * Timestamp indicating when the shift ends. Required parameter */ end_at: string; /** * Optional notes or comments about the shift, visible to managers and schedulers */ notes?: string; /** * Identifier of the employee assigned to this shift. Required parameter */ employee_id: string; /** * Identifier of the location where the shift takes place. Can be null if the shift uses the employee's default location */ location_id?: string; /** * Identifier of the specific work area within the location where the shift occurs. Work areas allow further subdivision of locations */ work_area_id?: string; /** * Identifier of the company that owns this shift. Required parameter */ company_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/shift_management/shifts'; }; export type PostApi20260701ResourcesShiftManagementShiftsResponses = { /** * CREATED */ 201: ShiftManagementShift; }; export type PostApi20260701ResourcesShiftManagementShiftsResponse = PostApi20260701ResourcesShiftManagementShiftsResponses[keyof PostApi20260701ResourcesShiftManagementShiftsResponses]; export type DeleteApi20260701ResourcesShiftManagementShiftsByIdData = { body?: never; path: { /** * Shift identifier to delete */ id: string; }; query?: never; url: '/api/2026-07-01/resources/shift_management/shifts/{id}'; }; export type DeleteApi20260701ResourcesShiftManagementShiftsByIdResponses = { /** * OK */ 200: ShiftManagementShift; }; export type DeleteApi20260701ResourcesShiftManagementShiftsByIdResponse = DeleteApi20260701ResourcesShiftManagementShiftsByIdResponses[keyof DeleteApi20260701ResourcesShiftManagementShiftsByIdResponses]; export type GetApi20260701ResourcesShiftManagementShiftsByIdData = { body?: never; path: { /** * Filter shifts by their unique identifiers. Returns only shifts matching the provided IDs. If an empty array is provided, returns no results */ id: string; }; query?: never; url: '/api/2026-07-01/resources/shift_management/shifts/{id}'; }; export type GetApi20260701ResourcesShiftManagementShiftsByIdResponses = { /** * OK */ 200: ShiftManagementShift; }; export type GetApi20260701ResourcesShiftManagementShiftsByIdResponse = GetApi20260701ResourcesShiftManagementShiftsByIdResponses[keyof GetApi20260701ResourcesShiftManagementShiftsByIdResponses]; export type PostApi20260701ResourcesShiftManagementShiftsBulkCreateData = { body?: { /** * Array of shift objects to create. Each shift object represents a scheduled work period for an employee */ shifts: Array; /** * An array of planned breaks to be added to the shifts created. */ planned_breaks?: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/shift_management/shifts/bulk_create'; }; export type PostApi20260701ResourcesShiftManagementShiftsBulkCreateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesShiftManagementShiftsBulkCreateResponse = PostApi20260701ResourcesShiftManagementShiftsBulkCreateResponses[keyof PostApi20260701ResourcesShiftManagementShiftsBulkCreateResponses]; export type PostApi20260701ResourcesShiftManagementShiftsBulkDeleteData = { body?: { /** * Filter shifts by their unique identifiers. Deletes only shifts matching the provided IDs. If not provided, uses other filters to determine which shifts to delete */ ids?: Array; /** * Filter shifts that end on or after this date. Only the date (calendar day) is used; the time part is ignored (treated as start of day, 00:00:00). Shifts are included if their end time is at or after the start of the specified day */ start_at?: string; /** * Filter shifts that start before this date. Only the date (calendar day) is used; the time part is ignored (treated as end of day, 23:59:59). Shifts are included if their start time is before the end of the specified day */ end_at?: string; /** * Filter shifts by employee identifiers. Deletes only shifts assigned to the specified employees. Can be combined with start_at and end_at for precise bulk deletion */ employee_ids?: Array; /** * Also destroys shifts with status backup when true, which by default are being kept */ destroy_backup_shifts?: boolean; /** * Identifier of the user/access who is performing the bulk delete operation. Used for audit purposes and tracking who deleted the shifts */ author_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/shift_management/shifts/bulk_delete'; }; export type PostApi20260701ResourcesShiftManagementShiftsBulkDeleteResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesShiftManagementShiftsBulkDeleteResponse = PostApi20260701ResourcesShiftManagementShiftsBulkDeleteResponses[keyof PostApi20260701ResourcesShiftManagementShiftsBulkDeleteResponses]; export type GetApi20260701ResourcesTasksTasksData = { body?: never; path?: never; query?: { /** * retrieve only the tasks that match the IDs passed in the request. */ 'ids[]'?: Array; /** * retrieve the tasks that have a company_id associated */ company_id?: string; /** * retrieve the tasks that have an assignee_id associated, assignee_id references to access_id. */ assignee_id?: string; /** * filter by tasks that have a due date. */ due_on?: string; /** * filter by tasks that have expired or are still due. */ already_due?: boolean; /** * filter by tasks that with an especific status (todo | in_progress | done | discarded). */ task_status?: 'todo' | 'in_progress' | 'done' | 'discarded'; /** * retrieve tasks where the user is affectee or assignee */ involvee_id?: string; /** * filter by tasks that have a specific category */ category?: 'benefits' | 'complaints' | 'compensation' | 'documents' | 'engagement' | 'finance' | 'organization' | 'performance' | 'policies' | 'recruitment' | 'software' | 'spending' | 'surveys' | 'timeoff' | 'time_planning' | 'time_tracking' | 'training'; }; url: '/api/2026-07-01/resources/tasks/tasks'; }; export type GetApi20260701ResourcesTasksTasksResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTasksTasksResponse = GetApi20260701ResourcesTasksTasksResponses[keyof GetApi20260701ResourcesTasksTasksResponses]; export type PostApi20260701ResourcesTasksTasksData = { body?: { /** * name of the task. */ name: string; /** * description of the task */ content?: string; /** * expiration date of the task. */ due_on?: string; /** * Employees assigned to the task, assignee_id references to access_id. */ assignee_ids?: Array; /** * status of the task (todo | in_progress | done | discarded). */ status: 'todo' | 'in_progress' | 'done' | 'discarded'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/tasks/tasks'; }; export type PostApi20260701ResourcesTasksTasksResponses = { /** * CREATED */ 201: TasksTask; }; export type PostApi20260701ResourcesTasksTasksResponse = PostApi20260701ResourcesTasksTasksResponses[keyof PostApi20260701ResourcesTasksTasksResponses]; export type DeleteApi20260701ResourcesTasksTasksByIdData = { body?: never; path: { /** * id of the task. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/tasks/tasks/{id}'; }; export type DeleteApi20260701ResourcesTasksTasksByIdResponses = { /** * OK */ 200: TasksTask; }; export type DeleteApi20260701ResourcesTasksTasksByIdResponse = DeleteApi20260701ResourcesTasksTasksByIdResponses[keyof DeleteApi20260701ResourcesTasksTasksByIdResponses]; export type GetApi20260701ResourcesTasksTasksByIdData = { body?: never; path: { /** * retrieve only the tasks that match the IDs passed in the request. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/tasks/tasks/{id}'; }; export type GetApi20260701ResourcesTasksTasksByIdResponses = { /** * OK */ 200: TasksTask; }; export type GetApi20260701ResourcesTasksTasksByIdResponse = GetApi20260701ResourcesTasksTasksByIdResponses[keyof GetApi20260701ResourcesTasksTasksByIdResponses]; export type PutApi20260701ResourcesTasksTasksByIdData = { body?: { /** * id of a task. */ id: string; /** * name of task. */ name?: string; /** * description of the task. */ content?: string; /** * expiration date of the task. */ due_on?: string; /** * employees assigned to the task, assignee_id references to access_id. */ assignee_ids?: Array; /** * status of the task (todo | in_progress | done | discarded). */ status?: 'todo' | 'in_progress' | 'done' | 'discarded'; }; path: { /** * id of a task. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/tasks/tasks/{id}'; }; export type PutApi20260701ResourcesTasksTasksByIdResponses = { /** * OK */ 200: TasksTask; }; export type PutApi20260701ResourcesTasksTasksByIdResponse = PutApi20260701ResourcesTasksTasksByIdResponses[keyof PutApi20260701ResourcesTasksTasksByIdResponses]; export type PostApi20260701ResourcesTasksTasksBulkCreateData = { body?: { /** * name of the task. */ name: string; /** * description of the task */ content?: string; /** * expiration date of the task. */ due_on?: string; /** * Employees assigned to the task, assignee_id references to access_id. */ assignee_ids?: Array; /** * status of the task (todo | in_progress | done | discarded). */ status: 'todo' | 'in_progress' | 'done' | 'discarded'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/tasks/tasks/bulk_create'; }; export type PostApi20260701ResourcesTasksTasksBulkCreateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesTasksTasksBulkCreateResponse = PostApi20260701ResourcesTasksTasksBulkCreateResponses[keyof PostApi20260701ResourcesTasksTasksBulkCreateResponses]; export type PostApi20260701ResourcesTasksTasksBulkDeleteData = { body?: { /** * a list of task ids. */ ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/tasks/tasks/bulk_delete'; }; export type PostApi20260701ResourcesTasksTasksBulkDeleteResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesTasksTasksBulkDeleteResponse = PostApi20260701ResourcesTasksTasksBulkDeleteResponses[keyof PostApi20260701ResourcesTasksTasksBulkDeleteResponses]; export type PostApi20260701ResourcesTasksTasksBulkUpdateData = { body?: { /** * a list of tasks to update. */ tasks: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/tasks/tasks/bulk_update'; }; export type PostApi20260701ResourcesTasksTasksBulkUpdateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesTasksTasksBulkUpdateResponse = PostApi20260701ResourcesTasksTasksBulkUpdateResponses[keyof PostApi20260701ResourcesTasksTasksBulkUpdateResponses]; export type PostApi20260701ResourcesTasksTasksCopyData = { body?: { /** * id of the task. */ id: string; /** * name of the task */ name?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/tasks/tasks/copy'; }; export type PostApi20260701ResourcesTasksTasksCopyResponses = { /** * OK */ 200: TasksTask; }; export type PostApi20260701ResourcesTasksTasksCopyResponse = PostApi20260701ResourcesTasksTasksCopyResponses[keyof PostApi20260701ResourcesTasksTasksCopyResponses]; export type PostApi20260701ResourcesTasksTasksCreateCommentData = { body?: { content: string; author_id: string; resource_id: string; company_id: string; mentioned_access_ids?: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/tasks/tasks/create_comment'; }; export type PostApi20260701ResourcesTasksTasksCreateCommentResponses = { /** * OK */ 200: TasksTask; }; export type PostApi20260701ResourcesTasksTasksCreateCommentResponse = PostApi20260701ResourcesTasksTasksCreateCommentResponses[keyof PostApi20260701ResourcesTasksTasksCreateCommentResponses]; export type GetApi20260701ResourcesTasksTaskFilesData = { body?: never; path?: never; query: { /** * identifier of the task */ task_id: string; /** * identifiers of the files */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/tasks/task_files'; }; export type GetApi20260701ResourcesTasksTaskFilesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTasksTaskFilesResponse = GetApi20260701ResourcesTasksTaskFilesResponses[keyof GetApi20260701ResourcesTasksTaskFilesResponses]; export type PostApi20260701ResourcesTasksTaskFilesData = { body?: { /** * identifier of the task */ task_id: string; /** * file to attach to the task */ file: Blob | File; }; path?: never; query?: never; url: '/api/2026-07-01/resources/tasks/task_files'; }; export type PostApi20260701ResourcesTasksTaskFilesResponses = { /** * CREATED */ 201: TasksTaskFile; }; export type PostApi20260701ResourcesTasksTaskFilesResponse = PostApi20260701ResourcesTasksTaskFilesResponses[keyof PostApi20260701ResourcesTasksTaskFilesResponses]; export type DeleteApi20260701ResourcesTasksTaskFilesByIdData = { body?: never; path: { /** * identifier of the file */ id: string; }; query?: never; url: '/api/2026-07-01/resources/tasks/task_files/{id}'; }; export type DeleteApi20260701ResourcesTasksTaskFilesByIdResponses = { /** * OK */ 200: TasksTaskFile; }; export type DeleteApi20260701ResourcesTasksTaskFilesByIdResponse = DeleteApi20260701ResourcesTasksTaskFilesByIdResponses[keyof DeleteApi20260701ResourcesTasksTaskFilesByIdResponses]; export type GetApi20260701ResourcesTasksTaskFilesByIdData = { body?: never; path: { /** * identifiers of the files */ id: string; }; query?: never; url: '/api/2026-07-01/resources/tasks/task_files/{id}'; }; export type GetApi20260701ResourcesTasksTaskFilesByIdResponses = { /** * OK */ 200: TasksTaskFile; }; export type GetApi20260701ResourcesTasksTaskFilesByIdResponse = GetApi20260701ResourcesTasksTaskFilesByIdResponses[keyof GetApi20260701ResourcesTasksTaskFilesByIdResponses]; export type GetApi20260701ResourcesTeamsMembershipsData = { body?: never; path?: never; query?: { /** * Membership ids. */ 'ids[]'?: Array; /** * Whether the employee is a lead of the team or not */ lead?: boolean; /** * Team ids. */ 'team_ids[]'?: Array; /** * Employee ids. */ 'employee_ids[]'?: Array; }; url: '/api/2026-07-01/resources/teams/memberships'; }; export type GetApi20260701ResourcesTeamsMembershipsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTeamsMembershipsResponse = GetApi20260701ResourcesTeamsMembershipsResponses[keyof GetApi20260701ResourcesTeamsMembershipsResponses]; export type PostApi20260701ResourcesTeamsMembershipsData = { body?: { /** * Team id. */ team_id: string; /** * Employee id. */ employee_id: string; /** * Makes the employee a lead of the team. */ lead?: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/teams/memberships'; }; export type PostApi20260701ResourcesTeamsMembershipsResponses = { /** * CREATED */ 201: TeamsMembership; }; export type PostApi20260701ResourcesTeamsMembershipsResponse = PostApi20260701ResourcesTeamsMembershipsResponses[keyof PostApi20260701ResourcesTeamsMembershipsResponses]; export type DeleteApi20260701ResourcesTeamsMembershipsByIdData = { body?: never; path: { /** * Membership id. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/teams/memberships/{id}'; }; export type DeleteApi20260701ResourcesTeamsMembershipsByIdResponses = { /** * OK */ 200: TeamsMembership; }; export type DeleteApi20260701ResourcesTeamsMembershipsByIdResponse = DeleteApi20260701ResourcesTeamsMembershipsByIdResponses[keyof DeleteApi20260701ResourcesTeamsMembershipsByIdResponses]; export type GetApi20260701ResourcesTeamsMembershipsByIdData = { body?: never; path: { /** * Membership ids. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/teams/memberships/{id}'; }; export type GetApi20260701ResourcesTeamsMembershipsByIdResponses = { /** * OK */ 200: TeamsMembership; }; export type GetApi20260701ResourcesTeamsMembershipsByIdResponse = GetApi20260701ResourcesTeamsMembershipsByIdResponses[keyof GetApi20260701ResourcesTeamsMembershipsByIdResponses]; export type PutApi20260701ResourcesTeamsMembershipsByIdData = { body?: { /** * Membership id. */ id: string; /** * Assign an employee as a lead for their respective team. */ lead?: boolean; }; path: { /** * Membership id. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/teams/memberships/{id}'; }; export type PutApi20260701ResourcesTeamsMembershipsByIdResponses = { /** * OK */ 200: TeamsMembership; }; export type PutApi20260701ResourcesTeamsMembershipsByIdResponse = PutApi20260701ResourcesTeamsMembershipsByIdResponses[keyof PutApi20260701ResourcesTeamsMembershipsByIdResponses]; export type GetApi20260701ResourcesTeamsTeamsData = { body?: never; path?: never; query?: { 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/teams/teams'; }; export type GetApi20260701ResourcesTeamsTeamsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTeamsTeamsResponse = GetApi20260701ResourcesTeamsTeamsResponses[keyof GetApi20260701ResourcesTeamsTeamsResponses]; export type PostApi20260701ResourcesTeamsTeamsData = { body?: { /** * Name of the team. */ name: string; /** * Description of the team */ description?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/teams/teams'; }; export type PostApi20260701ResourcesTeamsTeamsResponses = { /** * CREATED */ 201: TeamsTeam; }; export type PostApi20260701ResourcesTeamsTeamsResponse = PostApi20260701ResourcesTeamsTeamsResponses[keyof PostApi20260701ResourcesTeamsTeamsResponses]; export type DeleteApi20260701ResourcesTeamsTeamsByIdData = { body?: never; path: { /** * id of the team */ id: string; }; query?: never; url: '/api/2026-07-01/resources/teams/teams/{id}'; }; export type DeleteApi20260701ResourcesTeamsTeamsByIdResponses = { /** * OK */ 200: TeamsTeam; }; export type DeleteApi20260701ResourcesTeamsTeamsByIdResponse = DeleteApi20260701ResourcesTeamsTeamsByIdResponses[keyof DeleteApi20260701ResourcesTeamsTeamsByIdResponses]; export type GetApi20260701ResourcesTeamsTeamsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/teams/teams/{id}'; }; export type GetApi20260701ResourcesTeamsTeamsByIdResponses = { /** * OK */ 200: TeamsTeam; }; export type GetApi20260701ResourcesTeamsTeamsByIdResponse = GetApi20260701ResourcesTeamsTeamsByIdResponses[keyof GetApi20260701ResourcesTeamsTeamsByIdResponses]; export type PutApi20260701ResourcesTeamsTeamsByIdData = { body?: { /** * id of the team */ id: string; /** * name of the team */ name?: string; /** * Description of the team */ description?: string; /** * Avatar of the team */ avatar?: Blob | File; }; path: { /** * id of the team */ id: string; }; query?: never; url: '/api/2026-07-01/resources/teams/teams/{id}'; }; export type PutApi20260701ResourcesTeamsTeamsByIdResponses = { /** * OK */ 200: TeamsTeam; }; export type PutApi20260701ResourcesTeamsTeamsByIdResponse = PutApi20260701ResourcesTeamsTeamsByIdResponses[keyof PutApi20260701ResourcesTeamsTeamsByIdResponses]; export type GetApi20260701ResourcesTimeoffAllowancesData = { body?: never; path?: never; query?: { /** * An array of allowance ids to look for */ 'ids[]'?: Array; /** * Filter allowances by Time off policy id */ timeoff_policy_id?: string; /** * Filter by only overtime allowances */ by_overtime?: boolean; }; url: '/api/2026-07-01/resources/timeoff/allowances'; }; export type GetApi20260701ResourcesTimeoffAllowancesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTimeoffAllowancesResponse = GetApi20260701ResourcesTimeoffAllowancesResponses[keyof GetApi20260701ResourcesTimeoffAllowancesResponses]; export type PostApi20260701ResourcesTimeoffAllowancesData = { body?: { /** * Only for Allowances based on worked time. It represents how many units you need to work to be granted allowance units */ accrued_denominator_in_cents?: number; /** * Only for Allowances based on worked time. It represents how many units you are given per unit of time worked */ accrued_factor_in_cents?: number; /** * When can the accrued units be spent. */ accrued_units_availability: 'current_cycle' | 'next_cycle'; /** * Sets the allowance units. Can be "days" or "hours" */ allowance_type: 'days' | 'hours'; /** * Indicates how the allowance units are accrued. For example all_days means all allowance days are given on the first day of the cycle. */ available_days: 'all_days' | 'generated_days' | 'generated_days_monthly' | 'generated_days_monthly_first_day' | 'monthly_fifteenth' | 'mensiversary' | 'bimonthly_first_and_fifteenth' | 'bimonthly_fifteenth_and_last'; /** * How many units can carry over between cycles multiplied by 100 */ carry_over_units_in_cents?: number; /** * This setting flags if units taken during a bank holiday should be deducted or not from allowance. */ count_holiday_as_workable: boolean; /** * How many months does each allowance cycle last */ cycle_length?: number; /** * When does the cycle start. */ cycle_start: 'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'oct' | 'nov' | 'dec' | 'employee_hired_date'; /** * Indicates if the allowance is based on working on calendar days. */ days_type: 'working_days' | 'natural_days' | 'natural_days_only_range' | 'french_calendar_days' | 'french_ouvres'; /** * When does the carryover expire in months. */ expire_in_months?: number; /** * Defines duration of the allowance cycles. Can be "yearly", "monthly_flexible" or "lifetime" */ frequency?: 'monthly_flexible' | 'yearly' | 'lifetime'; /** * Base amount of holiday allowance units multiplied by 100 */ holiday_allowance_in_cents: number; /** * An array of leave type ids associated with that allowance */ leave_type_ids: Array; /** * Maximum the allowance can reach on accrued */ maximum_amount_in_cents?: number; /** * Allowance name set by the user */ name: string; /** * Whether the allowance allows to request more days than available. */ negative_counter_type: 'negative_counter_disabled' | 'negative_counter_enabled'; /** * Indicates the position in the allowance when rendering them in UI */ position?: number; /** * Whether the allowance has proration enabled or not. */ proration_type: 'proration_enabled' | 'proration_disabled'; /** * Whether the allowance days are prorated or not */ pto_proratio_enabled: boolean; /** * Configures how leaves duration is handled. */ range_type?: 'exact_range' | 'extra_non_working_days_at_end'; /** * How the accrued units of the allowance are rounded. It depends if the allowance is set in hours or days. */ rounding: 'half_day' | 'decimals' | 'quarters' | 'round_up'; /** * This field configures the type of allowance (fixed balance, based on worked time) */ source_units: 'base_units' | 'overtime_units' | 'by_worked_time'; /** * In case the allowance has tenure periods, when is this tenure applied. */ tenure_period_transition?: 'beginning_of_cycle' | 'end_of_cycle' | 'after_milestone'; /** * Whether the allowance has tenure periods enabled or not. */ tenure_periods_enabled?: boolean; /** * The tenure periods associated with the allowance. */ tenure_periods: Array; /** * The Id of the policy to which the allowance belongs to */ timeoff_policy_id: string; /** * Flag to indicate if there is unlimited accrual. */ unlimited_accrued_hours: boolean; /** * Flag to indicate if there is unlimited carry over. */ unlimited_carry_over: boolean; /** * Boolean to flag if carryover does not expire */ unlimited_carry_over_expiration: boolean; /** * Flag to indicate that the allowance has unlimited available days */ unlimited_holidays: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/timeoff/allowances'; }; export type PostApi20260701ResourcesTimeoffAllowancesResponses = { /** * CREATED */ 201: TimeoffAllowance; }; export type PostApi20260701ResourcesTimeoffAllowancesResponse = PostApi20260701ResourcesTimeoffAllowancesResponses[keyof PostApi20260701ResourcesTimeoffAllowancesResponses]; export type DeleteApi20260701ResourcesTimeoffAllowancesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/allowances/{id}'; }; export type DeleteApi20260701ResourcesTimeoffAllowancesByIdResponses = { /** * OK */ 200: TimeoffAllowance; }; export type DeleteApi20260701ResourcesTimeoffAllowancesByIdResponse = DeleteApi20260701ResourcesTimeoffAllowancesByIdResponses[keyof DeleteApi20260701ResourcesTimeoffAllowancesByIdResponses]; export type GetApi20260701ResourcesTimeoffAllowancesByIdData = { body?: never; path: { /** * An array of allowance ids to look for */ id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/allowances/{id}'; }; export type GetApi20260701ResourcesTimeoffAllowancesByIdResponses = { /** * OK */ 200: TimeoffAllowance; }; export type GetApi20260701ResourcesTimeoffAllowancesByIdResponse = GetApi20260701ResourcesTimeoffAllowancesByIdResponses[keyof GetApi20260701ResourcesTimeoffAllowancesByIdResponses]; export type PutApi20260701ResourcesTimeoffAllowancesByIdData = { body?: { id: string; /** * Only for Allowances based on worked time. It represents how many units you need to work to be granted allowance units */ accrued_denominator_in_cents?: number; /** * Only for Allowances based on worked time. It represents how many units you are given per unit of time worked */ accrued_factor_in_cents?: number; /** * Indicates how the allowance units are accrued. For example all_days means all allowance days are given on the first day of the cycle. */ available_days?: 'all_days' | 'generated_days' | 'generated_days_monthly' | 'generated_days_monthly_first_day' | 'monthly_fifteenth' | 'mensiversary' | 'bimonthly_first_and_fifteenth' | 'bimonthly_fifteenth_and_last'; /** * How many units can carry over between cycles multiplied by 100 */ carry_over_units_in_cents?: number; /** * This setting flags if units taken during a bank holiday should be deducted or not from allowance. */ count_holiday_as_workable?: boolean; /** * Indicates if the allowance is based on working on calendar days. */ days_type?: 'working_days' | 'natural_days' | 'natural_days_only_range' | 'french_calendar_days' | 'french_ouvres'; /** * When does the carryover expire in months. */ expire_in_months?: number; /** * Defines duration of the allowance cycles. Can be "yearly", "monthly_flexible" or "lifetime" */ frequency?: 'monthly_flexible' | 'yearly' | 'lifetime'; /** * Base amount of holiday allowance units multiplied by 100 */ holiday_allowance_in_cents?: number; /** * An array of leave type ids associated with that allowance */ leave_type_ids?: Array; /** * Maximum the allowance can reach on accrued */ maximum_amount_in_cents?: number; /** * Allowance name set by the user */ name?: string; /** * Whether the allowance allows to request more days than available. */ negative_counter_type?: 'negative_counter_disabled' | 'negative_counter_enabled'; /** * Indicates the position in the allowance when rendering them in UI */ position?: number; /** * Whether the allowance has proration enabled or not. */ proration_type?: 'proration_enabled' | 'proration_disabled'; /** * Whether the allowance days are prorated or not */ pto_proratio_enabled?: boolean; /** * Configures how leaves duration is handled. */ range_type?: 'exact_range' | 'extra_non_working_days_at_end'; /** * How the accrued units of the allowance are rounded. It depends if the allowance is set in hours or days. */ rounding?: 'half_day' | 'decimals' | 'quarters' | 'round_up'; /** * In case the allowance has tenure periods, when is this tenure applied. */ tenure_period_transition?: 'beginning_of_cycle' | 'end_of_cycle' | 'after_milestone'; /** * Whether the allowance has tenure periods enabled or not. */ tenure_periods_enabled?: boolean; /** * The tenure periods associated with the allowance. */ tenure_periods?: Array; /** * Flag to indicate if there is unlimited accrual. */ unlimited_accrued_hours?: boolean; /** * Flag to indicate if there is unlimited carry over. */ unlimited_carry_over?: boolean; /** * Boolean to flag if carryover does not expire */ unlimited_carry_over_expiration?: boolean; /** * Flag to indicate that the allowance has unlimited available days */ unlimited_holidays?: boolean; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/allowances/{id}'; }; export type PutApi20260701ResourcesTimeoffAllowancesByIdResponses = { /** * OK */ 200: TimeoffAllowance; }; export type PutApi20260701ResourcesTimeoffAllowancesByIdResponse = PutApi20260701ResourcesTimeoffAllowancesByIdResponses[keyof PutApi20260701ResourcesTimeoffAllowancesByIdResponses]; export type PostApi20260701ResourcesTimeoffAllowancesDeleteWithAltAllowanceData = { body?: { id: string; /** * Allowance id sent to migrate existing incidences from the deleted allowance to the alternative allowance */ alt_allowance_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/timeoff/allowances/delete_with_alt_allowance'; }; export type PostApi20260701ResourcesTimeoffAllowancesDeleteWithAltAllowanceResponses = { /** * OK */ 200: TimeoffAllowance; }; export type PostApi20260701ResourcesTimeoffAllowancesDeleteWithAltAllowanceResponse = PostApi20260701ResourcesTimeoffAllowancesDeleteWithAltAllowanceResponses[keyof PostApi20260701ResourcesTimeoffAllowancesDeleteWithAltAllowanceResponses]; export type GetApi20260701ResourcesTimeoffAllowanceIncidencesData = { body?: never; path?: never; query?: { 'ids[]'?: Array; 'employee_ids[]'?: Array; 'timeoff_allowance_ids[]'?: Array; }; url: '/api/2026-07-01/resources/timeoff/allowance_incidences'; }; export type GetApi20260701ResourcesTimeoffAllowanceIncidencesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTimeoffAllowanceIncidencesResponse = GetApi20260701ResourcesTimeoffAllowanceIncidencesResponses[keyof GetApi20260701ResourcesTimeoffAllowanceIncidencesResponses]; export type PostApi20260701ResourcesTimeoffAllowanceIncidencesData = { body?: { /** * Employee Id */ employee_id: string; /** * Allowance Id */ timeoff_allowance_id: string; /** * How many units multiplied by 100 do you want to add/substract. Can be positive or negative */ days_in_cents: number; /** * A free text field to add a description to the incidence */ description?: string; /** * When does the incidence take effect. This is related to the allowance cycle. */ effective_on: string; /** * Which counter does the incidence affect. Can be "accrued" or "available" */ target_balance: 'available' | 'accrued'; /** * When set to true, it prevents notifications being sent to employee when this incidence is created */ _skip_notifications?: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/timeoff/allowance_incidences'; }; export type PostApi20260701ResourcesTimeoffAllowanceIncidencesResponses = { /** * CREATED */ 201: TimeoffAllowanceIncidence; }; export type PostApi20260701ResourcesTimeoffAllowanceIncidencesResponse = PostApi20260701ResourcesTimeoffAllowanceIncidencesResponses[keyof PostApi20260701ResourcesTimeoffAllowanceIncidencesResponses]; export type DeleteApi20260701ResourcesTimeoffAllowanceIncidencesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/allowance_incidences/{id}'; }; export type DeleteApi20260701ResourcesTimeoffAllowanceIncidencesByIdResponses = { /** * OK */ 200: TimeoffAllowanceIncidence; }; export type DeleteApi20260701ResourcesTimeoffAllowanceIncidencesByIdResponse = DeleteApi20260701ResourcesTimeoffAllowanceIncidencesByIdResponses[keyof DeleteApi20260701ResourcesTimeoffAllowanceIncidencesByIdResponses]; export type GetApi20260701ResourcesTimeoffAllowanceIncidencesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/allowance_incidences/{id}'; }; export type GetApi20260701ResourcesTimeoffAllowanceIncidencesByIdResponses = { /** * OK */ 200: TimeoffAllowanceIncidence; }; export type GetApi20260701ResourcesTimeoffAllowanceIncidencesByIdResponse = GetApi20260701ResourcesTimeoffAllowanceIncidencesByIdResponses[keyof GetApi20260701ResourcesTimeoffAllowanceIncidencesByIdResponses]; export type PutApi20260701ResourcesTimeoffAllowanceIncidencesByIdData = { body?: { id: string; /** * How many units multiplied by 100 do you want to add/substract. Can be positive or negative */ days_in_cents?: number; /** * Allowance Id */ timeoff_allowance_id?: string; /** * A free text field to add a description to the incidence */ description?: string; /** * When does the incidence take effect. This is related to the allowance cycle. */ effective_on?: string; /** * Which counter does the incidence affect. Can be "accrued" or "available" */ target_balance?: 'available' | 'accrued'; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/allowance_incidences/{id}'; }; export type PutApi20260701ResourcesTimeoffAllowanceIncidencesByIdResponses = { /** * OK */ 200: TimeoffAllowanceIncidence; }; export type PutApi20260701ResourcesTimeoffAllowanceIncidencesByIdResponse = PutApi20260701ResourcesTimeoffAllowanceIncidencesByIdResponses[keyof PutApi20260701ResourcesTimeoffAllowanceIncidencesByIdResponses]; export type GetApi20260701ResourcesTimeoffAllowanceStatsData = { body?: never; path?: never; query?: { /** * A virtual ID for the allowance stat, composed of employee_id/allowance_id/reference_date. Cannot be used to fetch this resource. */ 'ids[]'?: Array; /** * Get the allowance stats for specific employees */ 'employee_ids[]'?: Array; /** * Filter the stats by these allowance IDs */ 'allowance_ids[]'?: Array; /** * The reference date to calculate the allowance stats. If not provided, it will use today's date. */ reference_date?: string; }; url: '/api/2026-07-01/resources/timeoff/allowance_stats'; }; export type GetApi20260701ResourcesTimeoffAllowanceStatsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTimeoffAllowanceStatsResponse = GetApi20260701ResourcesTimeoffAllowanceStatsResponses[keyof GetApi20260701ResourcesTimeoffAllowanceStatsResponses]; export type GetApi20260701ResourcesTimeoffAllowanceStatsByIdData = { body?: never; path: { /** * A virtual ID for the allowance stat, composed of employee_id/allowance_id/reference_date. Cannot be used to fetch this resource. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/allowance_stats/{id}'; }; export type GetApi20260701ResourcesTimeoffAllowanceStatsByIdResponses = { /** * OK */ 200: TimeoffAllowanceStatsNew; }; export type GetApi20260701ResourcesTimeoffAllowanceStatsByIdResponse = GetApi20260701ResourcesTimeoffAllowanceStatsByIdResponses[keyof GetApi20260701ResourcesTimeoffAllowanceStatsByIdResponses]; export type GetApi20260701ResourcesTimeoffBlockedPeriodsData = { body?: never; path?: never; query?: { 'ids[]'?: Array; 'company_ids[]'?: Array; }; url: '/api/2026-07-01/resources/timeoff/blocked_periods'; }; export type GetApi20260701ResourcesTimeoffBlockedPeriodsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTimeoffBlockedPeriodsResponse = GetApi20260701ResourcesTimeoffBlockedPeriodsResponses[keyof GetApi20260701ResourcesTimeoffBlockedPeriodsResponses]; export type PostApi20260701ResourcesTimeoffBlockedPeriodsData = { body?: { /** * The company id */ company_id: string; /** * Name of the blocked period. */ name: string; /** * An array of leave type identifiers for which employees can not request timeoff */ leave_type_ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/timeoff/blocked_periods'; }; export type PostApi20260701ResourcesTimeoffBlockedPeriodsResponses = { /** * CREATED */ 201: TimeoffBlockedPeriodsPolicy; }; export type PostApi20260701ResourcesTimeoffBlockedPeriodsResponse = PostApi20260701ResourcesTimeoffBlockedPeriodsResponses[keyof PostApi20260701ResourcesTimeoffBlockedPeriodsResponses]; export type DeleteApi20260701ResourcesTimeoffBlockedPeriodsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/blocked_periods/{id}'; }; export type DeleteApi20260701ResourcesTimeoffBlockedPeriodsByIdResponses = { /** * OK */ 200: TimeoffBlockedPeriodsPolicy; }; export type DeleteApi20260701ResourcesTimeoffBlockedPeriodsByIdResponse = DeleteApi20260701ResourcesTimeoffBlockedPeriodsByIdResponses[keyof DeleteApi20260701ResourcesTimeoffBlockedPeriodsByIdResponses]; export type GetApi20260701ResourcesTimeoffBlockedPeriodsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/blocked_periods/{id}'; }; export type GetApi20260701ResourcesTimeoffBlockedPeriodsByIdResponses = { /** * OK */ 200: TimeoffBlockedPeriodsPolicy; }; export type GetApi20260701ResourcesTimeoffBlockedPeriodsByIdResponse = GetApi20260701ResourcesTimeoffBlockedPeriodsByIdResponses[keyof GetApi20260701ResourcesTimeoffBlockedPeriodsByIdResponses]; export type PutApi20260701ResourcesTimeoffBlockedPeriodsByIdData = { body?: { id: string; /** * Name of the blocked period. */ name: string; /** * List of leave type identifiers for which employees can not request timeoff edited */ leave_type_ids: Array; /** * The tenure periods associated with the allowance edited. */ time_periods_attributes: Array; /** * Type of access group */ strategy: string; /** * List of employees manually selected */ members?: Array; query?: string; /** * List of team identifiers which the selected employees belong to */ team_ids?: Array; /** * List of locations workplace identifiers where the employees are located */ location_ids?: Array; /** * List of legal entity identifiers which the selected employees belong to */ legal_entity_ids?: Array; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/blocked_periods/{id}'; }; export type PutApi20260701ResourcesTimeoffBlockedPeriodsByIdResponses = { /** * OK */ 200: TimeoffBlockedPeriodsPolicy; }; export type PutApi20260701ResourcesTimeoffBlockedPeriodsByIdResponse = PutApi20260701ResourcesTimeoffBlockedPeriodsByIdResponses[keyof PutApi20260701ResourcesTimeoffBlockedPeriodsByIdResponses]; export type GetApi20260701ResourcesTimeoffLeavesData = { body?: never; path?: never; query: { /** * The leave ids to retrieve */ 'ids[]'?: Array; /** * The employee ids to retrieve */ 'employee_ids[]'?: Array; /** * The leave type id to retrieve */ 'leave_type_id[]'?: Array; /** * Valid date following the format YYYY-MM-DD */ to?: string; /** * Valid date following the format YYYY-MM-DD */ from?: string; /** * Retrieve only active leaves */ only_active?: boolean; /** * Whether to include deleted leaves (not included by default if not specified) */ include_deleted_leaves: boolean; /** * Retrieve approved leaves */ approved?: boolean; /** * Retrieve pending leaves */ include_pending?: boolean; /** * Retrieve leave types */ include_leave_type?: boolean; /** * Retrieve leave duration */ include_duration?: boolean; /** * Retrieve workable leaves */ type_is_workable?: boolean; /** * Retrieve payable leaves */ type_is_payable?: boolean; }; url: '/api/2026-07-01/resources/timeoff/leaves'; }; export type GetApi20260701ResourcesTimeoffLeavesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTimeoffLeavesResponse = GetApi20260701ResourcesTimeoffLeavesResponses[keyof GetApi20260701ResourcesTimeoffLeavesResponses]; export type PostApi20260701ResourcesTimeoffLeavesData = { body?: { /** * The employee id of the leave */ employee_id: string; /** * The leave type id */ leave_type_id?: string; /** * The description of the leave */ description?: string; /** * The valid start date of the leave following the format YYYY-MM-DD */ start_on: string; /** * The valid end date of the leave following the format YYYY-MM-DD */ finish_on?: string; /** * If the leave is in: [beggining_of_day, end_of_day] */ half_day?: string; /** * The start time of a leave */ start_time?: string; /** * The hours amount in cents of a leave */ hours_amount_in_cents?: number; /** * The medical leave type */ medical_leave_type?: number; /** * The effective on date of a leave following the format YYYY-MM-DD */ effective_on?: string; /** * The medical discharge reason of a leave */ medical_discharge_reason?: string; /** * The colegiate number of a leave */ colegiate_number?: number; /** * If the leave has previous relapse */ has_previous_relapse?: boolean; /** * The leave relapse id */ relapse_leave_id?: string; /** * The leave relapse on date following the format YYYY-MM-DD */ relapse_on?: string; /** * The leave accident on date following the format YYYY-MM-DD */ accident_on?: string; /** * The leave paternity birth on date following the format YYYY-MM-DD */ paternity_birth_on?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/timeoff/leaves'; }; export type PostApi20260701ResourcesTimeoffLeavesResponses = { /** * CREATED */ 201: TimeoffLeave; }; export type PostApi20260701ResourcesTimeoffLeavesResponse = PostApi20260701ResourcesTimeoffLeavesResponses[keyof PostApi20260701ResourcesTimeoffLeavesResponses]; export type DeleteApi20260701ResourcesTimeoffLeavesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/leaves/{id}'; }; export type DeleteApi20260701ResourcesTimeoffLeavesByIdResponses = { /** * OK */ 200: TimeoffLeave; }; export type DeleteApi20260701ResourcesTimeoffLeavesByIdResponse = DeleteApi20260701ResourcesTimeoffLeavesByIdResponses[keyof DeleteApi20260701ResourcesTimeoffLeavesByIdResponses]; export type GetApi20260701ResourcesTimeoffLeavesByIdData = { body?: never; path: { /** * The leave ids to retrieve */ id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/leaves/{id}'; }; export type GetApi20260701ResourcesTimeoffLeavesByIdResponses = { /** * OK */ 200: TimeoffLeave; }; export type GetApi20260701ResourcesTimeoffLeavesByIdResponse = GetApi20260701ResourcesTimeoffLeavesByIdResponses[keyof GetApi20260701ResourcesTimeoffLeavesByIdResponses]; export type PutApi20260701ResourcesTimeoffLeavesByIdData = { body?: { /** * The leave id */ id: string; /** * The employee id of the leave */ employee_id?: string; /** * The leave type id */ leave_type_id?: string; /** * The description of the leave */ description?: string; /** * The valid start date of the leave following the format YYYY-MM-DD */ start_on?: string; /** * The valid end date of the leave following the format YYYY-MM-DD */ finish_on?: string; /** * If the leave is in: [beggining_of_day, end_of_day] */ half_day?: string; /** * The start time of a leave */ start_time?: string; /** * The hours amount in cents of a leave */ hours_amount_in_cents?: number; /** * Whether the leave is approved */ approved?: boolean; /** * Whether to skip notifications for this update */ skip_notifications?: boolean; /** * Whether to skip validations for this update */ skip_validations?: boolean; /** * Whether to skip medical leave processing for this update */ skip_medical_leave?: boolean; }; path: { /** * The leave id */ id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/leaves/{id}'; }; export type PutApi20260701ResourcesTimeoffLeavesByIdResponses = { /** * OK */ 200: TimeoffLeave; }; export type PutApi20260701ResourcesTimeoffLeavesByIdResponse = PutApi20260701ResourcesTimeoffLeavesByIdResponses[keyof PutApi20260701ResourcesTimeoffLeavesByIdResponses]; export type PostApi20260701ResourcesTimeoffLeavesApproveData = { body?: { /** * Identifier of the Leave */ id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/timeoff/leaves/approve'; }; export type PostApi20260701ResourcesTimeoffLeavesApproveResponses = { /** * OK */ 200: TimeoffLeave; }; export type PostApi20260701ResourcesTimeoffLeavesApproveResponse = PostApi20260701ResourcesTimeoffLeavesApproveResponses[keyof PostApi20260701ResourcesTimeoffLeavesApproveResponses]; export type PostApi20260701ResourcesTimeoffLeavesApproveAllData = { body?: { /** * Identifier of the Leave */ id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/timeoff/leaves/approve_all'; }; export type PostApi20260701ResourcesTimeoffLeavesApproveAllResponses = { /** * OK */ 200: TimeoffLeave; }; export type PostApi20260701ResourcesTimeoffLeavesApproveAllResponse = PostApi20260701ResourcesTimeoffLeavesApproveAllResponses[keyof PostApi20260701ResourcesTimeoffLeavesApproveAllResponses]; export type PostApi20260701ResourcesTimeoffLeavesRejectData = { body?: { /** * Identifier of the Leave */ id: string; /** * Reason for rejecting the leave */ reason?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/timeoff/leaves/reject'; }; export type PostApi20260701ResourcesTimeoffLeavesRejectResponses = { /** * OK */ 200: TimeoffLeave; }; export type PostApi20260701ResourcesTimeoffLeavesRejectResponse = PostApi20260701ResourcesTimeoffLeavesRejectResponses[keyof PostApi20260701ResourcesTimeoffLeavesRejectResponses]; export type GetApi20260701ResourcesTimeoffLeaveTypesData = { body?: never; path?: never; query?: { /** * Identifiers of the leave types */ 'ids[]'?: Array; /** * Identifiers of the companies */ 'company_ids[]'?: Array; /** * Whether the leave type is active */ active?: boolean; /** * Whether the leave type is payable */ payable?: boolean; /** * A unique identifier for the leave type, or an array of identifiers */ identifier?: unknown; /** * Identifier of the employee */ employee_id?: string; /** * A reference date for the leave type */ reference_date?: string; /** * Identifier of a specific leave type */ leave_type_id?: string; /** * Whether the leave type allows for no end date */ allow_endless?: boolean; }; url: '/api/2026-07-01/resources/timeoff/leave_types'; }; export type GetApi20260701ResourcesTimeoffLeaveTypesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTimeoffLeaveTypesResponse = GetApi20260701ResourcesTimeoffLeaveTypesResponses[keyof GetApi20260701ResourcesTimeoffLeaveTypesResponses]; export type PostApi20260701ResourcesTimeoffLeaveTypesData = { body?: { /** * Whether the leave type accrues over time */ accrues: boolean; /** * Whether approval is required for this leave type */ approval_required: boolean; /** * A unique identifier for the leave type */ identifier: string; /** * Whether an attachment is required for this leave type */ attachment?: boolean; /** * The color associated with this leave type */ color: string; /** * The name of the leave type */ name: string; /** * Whether the leave type is visible to employees */ visibility?: boolean; /** * Whether the leave type is workable (can be worked on during leave) */ workable: boolean; /** * Whether the leave type is payable */ payable?: boolean; /** * Whether the attachment is mandatory */ is_attachment_mandatory?: boolean; /** * Whether half-day units are enabled for this leave type */ half_days_units_enabled?: boolean; /** * Maximum days in cents that can be taken */ max_days_in_cents?: number; /** * Minimum days in cents that must be taken */ min_days_in_cents?: number; /** * Identifier of the company associated with this leave type */ company_id: string; /** * Whether the leave type is editable */ editable?: boolean; /** * Whether endless leave is allowed */ allow_endless?: boolean; /** * Whether the leave type is restricted */ restricted?: boolean; /** * Description of the leave type */ description?: string; /** * Whether additional details are required for the leave type */ details_required: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/timeoff/leave_types'; }; export type PostApi20260701ResourcesTimeoffLeaveTypesResponses = { /** * CREATED */ 201: TimeoffLeaveType; }; export type PostApi20260701ResourcesTimeoffLeaveTypesResponse = PostApi20260701ResourcesTimeoffLeaveTypesResponses[keyof PostApi20260701ResourcesTimeoffLeaveTypesResponses]; export type GetApi20260701ResourcesTimeoffLeaveTypesByIdData = { body?: never; path: { /** * Identifiers of the leave types */ id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/leave_types/{id}'; }; export type GetApi20260701ResourcesTimeoffLeaveTypesByIdResponses = { /** * OK */ 200: TimeoffLeaveType; }; export type GetApi20260701ResourcesTimeoffLeaveTypesByIdResponse = GetApi20260701ResourcesTimeoffLeaveTypesByIdResponses[keyof GetApi20260701ResourcesTimeoffLeaveTypesByIdResponses]; export type PutApi20260701ResourcesTimeoffLeaveTypesByIdData = { body?: { /** * Identifier of the leave type to update */ id?: string; /** * Whether the leave type accrues over time */ accrues?: boolean; /** * Whether approval is required for this leave type */ approval_required?: boolean; /** * A unique identifier for the leave type */ identifier?: string; /** * Whether an attachment is required for this leave type */ attachment?: boolean; /** * The color associated with this leave type (hex code) */ color?: string; /** * The name of the leave type */ name?: string; /** * Whether the leave type is visible to employees */ visibility?: boolean; /** * Whether the leave type is workable (can be worked on during leave) */ workable?: boolean; /** * Whether the leave type is payable */ payable?: boolean; /** * Whether the attachment is mandatory or a status description (boolean or string) */ is_attachment_mandatory?: unknown; /** * Whether half-day units are enabled for this leave type */ half_days_units_enabled?: boolean; /** * Maximum days in cents that can be taken */ max_days_in_cents?: number; /** * Minimum days in cents that must be taken */ min_days_in_cents?: number; /** * Whether the leave type is active */ active?: boolean; /** * Whether endless leave is allowed */ allow_endless?: boolean; /** * Whether the leave type is restricted */ restricted?: boolean; /** * Description of the leave type */ description?: string; /** * Whether additional details are required for the leave type */ details_required?: boolean; }; path: { /** * Identifier of the leave type to update */ id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/leave_types/{id}'; }; export type PutApi20260701ResourcesTimeoffLeaveTypesByIdResponses = { /** * OK */ 200: TimeoffLeaveType; }; export type PutApi20260701ResourcesTimeoffLeaveTypesByIdResponse = PutApi20260701ResourcesTimeoffLeaveTypesByIdResponses[keyof PutApi20260701ResourcesTimeoffLeaveTypesByIdResponses]; export type GetApi20260701ResourcesTimeoffPoliciesData = { body?: never; path?: never; query?: { /** * The policies ids to retrieve. */ 'ids[]'?: Array; /** * The company ids to retrieve policies. */ 'company_ids[]'?: Array; }; url: '/api/2026-07-01/resources/timeoff/policies'; }; export type GetApi20260701ResourcesTimeoffPoliciesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTimeoffPoliciesResponse = GetApi20260701ResourcesTimeoffPoliciesResponses[keyof GetApi20260701ResourcesTimeoffPoliciesResponses]; export type PostApi20260701ResourcesTimeoffPoliciesData = { body?: { /** * The name of the policy. */ name: string; /** * If the policy is the main policy. */ main?: boolean; /** * Policy description. */ description?: string; /** * Company ID. */ company_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/timeoff/policies'; }; export type PostApi20260701ResourcesTimeoffPoliciesResponses = { /** * CREATED */ 201: TimeoffPolicy; }; export type PostApi20260701ResourcesTimeoffPoliciesResponse = PostApi20260701ResourcesTimeoffPoliciesResponses[keyof PostApi20260701ResourcesTimeoffPoliciesResponses]; export type DeleteApi20260701ResourcesTimeoffPoliciesByIdData = { body?: never; path: { /** * Id of the policy to delete. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/policies/{id}'; }; export type DeleteApi20260701ResourcesTimeoffPoliciesByIdResponses = { /** * OK */ 200: TimeoffPolicy; }; export type DeleteApi20260701ResourcesTimeoffPoliciesByIdResponse = DeleteApi20260701ResourcesTimeoffPoliciesByIdResponses[keyof DeleteApi20260701ResourcesTimeoffPoliciesByIdResponses]; export type GetApi20260701ResourcesTimeoffPoliciesByIdData = { body?: never; path: { /** * The policies ids to retrieve. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/policies/{id}'; }; export type GetApi20260701ResourcesTimeoffPoliciesByIdResponses = { /** * OK */ 200: TimeoffPolicy; }; export type GetApi20260701ResourcesTimeoffPoliciesByIdResponse = GetApi20260701ResourcesTimeoffPoliciesByIdResponses[keyof GetApi20260701ResourcesTimeoffPoliciesByIdResponses]; export type PutApi20260701ResourcesTimeoffPoliciesByIdData = { body?: { /** * Id of the policy to update. */ id: string; /** * The name of the policy. */ name?: string; /** * Policy description. */ description?: string; /** * If the policy is the main policy. */ main?: boolean; }; path: { /** * Id of the policy to update. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/policies/{id}'; }; export type PutApi20260701ResourcesTimeoffPoliciesByIdResponses = { /** * OK */ 200: TimeoffPolicy; }; export type PutApi20260701ResourcesTimeoffPoliciesByIdResponse = PutApi20260701ResourcesTimeoffPoliciesByIdResponses[keyof PutApi20260701ResourcesTimeoffPoliciesByIdResponses]; export type GetApi20260701ResourcesTimeoffPolicyAssignmentsData = { body?: never; path?: never; query?: { /** * An array of time off policy assignment ids */ 'ids[]'?: Array; /** * Filter policy assignments by employee ids */ 'employee_ids[]'?: Array; /** * Filter policy assignments by time off policy ids */ 'timeoff_policy_ids[]'?: Array; }; url: '/api/2026-07-01/resources/timeoff/policy_assignments'; }; export type GetApi20260701ResourcesTimeoffPolicyAssignmentsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTimeoffPolicyAssignmentsResponse = GetApi20260701ResourcesTimeoffPolicyAssignmentsResponses[keyof GetApi20260701ResourcesTimeoffPolicyAssignmentsResponses]; export type PostApi20260701ResourcesTimeoffPolicyAssignmentsData = { body?: { /** * The time off policy id */ timeoff_policy_id: string; /** * The employee id */ employee_id: string; /** * The effective date of the policy assignment */ effective_at: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/timeoff/policy_assignments'; }; export type PostApi20260701ResourcesTimeoffPolicyAssignmentsResponses = { /** * CREATED */ 201: TimeoffPolicyAssignment; }; export type PostApi20260701ResourcesTimeoffPolicyAssignmentsResponse = PostApi20260701ResourcesTimeoffPolicyAssignmentsResponses[keyof PostApi20260701ResourcesTimeoffPolicyAssignmentsResponses]; export type DeleteApi20260701ResourcesTimeoffPolicyAssignmentsByIdData = { body?: never; path: { /** * Unique identifier of the policy assignment */ id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/policy_assignments/{id}'; }; export type DeleteApi20260701ResourcesTimeoffPolicyAssignmentsByIdResponses = { /** * OK */ 200: TimeoffPolicyAssignment; }; export type DeleteApi20260701ResourcesTimeoffPolicyAssignmentsByIdResponse = DeleteApi20260701ResourcesTimeoffPolicyAssignmentsByIdResponses[keyof DeleteApi20260701ResourcesTimeoffPolicyAssignmentsByIdResponses]; export type GetApi20260701ResourcesTimeoffPolicyAssignmentsByIdData = { body?: never; path: { /** * An array of time off policy assignment ids */ id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/policy_assignments/{id}'; }; export type GetApi20260701ResourcesTimeoffPolicyAssignmentsByIdResponses = { /** * OK */ 200: TimeoffPolicyAssignment; }; export type GetApi20260701ResourcesTimeoffPolicyAssignmentsByIdResponse = GetApi20260701ResourcesTimeoffPolicyAssignmentsByIdResponses[keyof GetApi20260701ResourcesTimeoffPolicyAssignmentsByIdResponses]; export type PutApi20260701ResourcesTimeoffPolicyAssignmentsByIdData = { body?: { /** * Unique identifier of the policy assignment */ id: string; /** * The time off policy id */ timeoff_policy_id: string; /** * The effective date of the policy assignment */ effective_at: string; }; path: { /** * Unique identifier of the policy assignment */ id: string; }; query?: never; url: '/api/2026-07-01/resources/timeoff/policy_assignments/{id}'; }; export type PutApi20260701ResourcesTimeoffPolicyAssignmentsByIdResponses = { /** * OK */ 200: TimeoffPolicyAssignment; }; export type PutApi20260701ResourcesTimeoffPolicyAssignmentsByIdResponse = PutApi20260701ResourcesTimeoffPolicyAssignmentsByIdResponses[keyof PutApi20260701ResourcesTimeoffPolicyAssignmentsByIdResponses]; export type GetApi20260701ResourcesTimeoffPolicyTimelinesData = { body?: never; path?: never; query: { employee_id: string; reference_date: string; }; url: '/api/2026-07-01/resources/timeoff/policy_timelines'; }; export type GetApi20260701ResourcesTimeoffPolicyTimelinesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTimeoffPolicyTimelinesResponse = GetApi20260701ResourcesTimeoffPolicyTimelinesResponses[keyof GetApi20260701ResourcesTimeoffPolicyTimelinesResponses]; export type GetApi20260701ResourcesTimePlanningPlannedBreaksData = { body?: never; path?: never; query: { /** * List of planned break identifiers */ 'ids[]': Array; /** * Filter by paid or unpaid breaks */ paid: boolean; /** * List of default shift identifiers */ 'default_shift_ids[]': Array; /** * List of shift identifiers */ 'shift_ids[]': Array; /** * List of day configuration identifiers */ 'day_configuration_ids[]': Array; /** * List of shift configuration identifiers */ 'shift_configuration_ids[]': Array; /** * Filter by active break configurations only */ active_break_configuration: boolean; }; url: '/api/2026-07-01/resources/time_planning/planned_breaks'; }; export type GetApi20260701ResourcesTimePlanningPlannedBreaksResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTimePlanningPlannedBreaksResponse = GetApi20260701ResourcesTimePlanningPlannedBreaksResponses[keyof GetApi20260701ResourcesTimePlanningPlannedBreaksResponses]; export type GetApi20260701ResourcesTimePlanningPlannedBreaksByIdData = { body?: never; path: { /** * List of planned break identifiers */ id: string; }; query?: never; url: '/api/2026-07-01/resources/time_planning/planned_breaks/{id}'; }; export type GetApi20260701ResourcesTimePlanningPlannedBreaksByIdResponses = { /** * OK */ 200: TimePlanningPlannedBreak; }; export type GetApi20260701ResourcesTimePlanningPlannedBreaksByIdResponse = GetApi20260701ResourcesTimePlanningPlannedBreaksByIdResponses[keyof GetApi20260701ResourcesTimePlanningPlannedBreaksByIdResponses]; export type PostApi20260701ResourcesTimePlanningPlannedBreaksBulkCreateData = { body?: { /** * List of planned breaks to create */ planned_breaks: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/time_planning/planned_breaks/bulk_create'; }; export type PostApi20260701ResourcesTimePlanningPlannedBreaksBulkCreateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesTimePlanningPlannedBreaksBulkCreateResponse = PostApi20260701ResourcesTimePlanningPlannedBreaksBulkCreateResponses[keyof PostApi20260701ResourcesTimePlanningPlannedBreaksBulkCreateResponses]; export type GetApi20260701ResourcesTimePlanningPlanningVersionsData = { body?: never; path?: never; query: { /** * List of employee identifiers */ 'employee_ids[]'?: Array; /** * Filter by shift management planning tool */ for_shifts?: boolean; /** * Filter by active planning versions only */ only_active: boolean; /** * Type of planning tool (shift_management, work_schedules, contract_hours) */ planning_tool?: 'shift_management' | 'work_schedule' | 'contract_hours'; /** * List of work schedule identifiers to include */ 'schedule_ids[]'?: Array; }; url: '/api/2026-07-01/resources/time_planning/planning_versions'; }; export type GetApi20260701ResourcesTimePlanningPlanningVersionsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTimePlanningPlanningVersionsResponse = GetApi20260701ResourcesTimePlanningPlanningVersionsResponses[keyof GetApi20260701ResourcesTimePlanningPlanningVersionsResponses]; export type PostApi20260701ResourcesTimePlanningPlanningVersionsData = { body?: { /** * Planning version start date */ effective_at: string; /** * Type of planning tool (shift_management, work_schedules, contract_hours) */ planning_tool: string; /** * Amount of rest days per week if applicable (in cents) */ number_of_rest_days_in_cents?: number; /** * Employee identifier */ employee_id: string; /** * Work schedule identifier to include if applicable */ schedule_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/time_planning/planning_versions'; }; export type PostApi20260701ResourcesTimePlanningPlanningVersionsResponses = { /** * CREATED */ 201: TimePlanningPlanningVersion; }; export type PostApi20260701ResourcesTimePlanningPlanningVersionsResponse = PostApi20260701ResourcesTimePlanningPlanningVersionsResponses[keyof PostApi20260701ResourcesTimePlanningPlanningVersionsResponses]; export type DeleteApi20260701ResourcesTimePlanningPlanningVersionsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/time_planning/planning_versions/{id}'; }; export type DeleteApi20260701ResourcesTimePlanningPlanningVersionsByIdResponses = { /** * OK */ 200: TimePlanningPlanningVersion; }; export type DeleteApi20260701ResourcesTimePlanningPlanningVersionsByIdResponse = DeleteApi20260701ResourcesTimePlanningPlanningVersionsByIdResponses[keyof DeleteApi20260701ResourcesTimePlanningPlanningVersionsByIdResponses]; export type PutApi20260701ResourcesTimePlanningPlanningVersionsByIdData = { body?: { /** * Planning version identifier */ id: string; /** * Planning version start date */ effective_at: string; /** * Amount of rest days per week if applicable (in cents) */ number_of_rest_days_in_cents?: number; /** * Type of planning tool (shift_management, work_schedules, contract_hours) */ planning_tool: string; /** * Work schedule identifier to include if applicable */ schedule_id?: string; }; path: { /** * Planning version identifier */ id: string; }; query?: never; url: '/api/2026-07-01/resources/time_planning/planning_versions/{id}'; }; export type PutApi20260701ResourcesTimePlanningPlanningVersionsByIdResponses = { /** * OK */ 200: TimePlanningPlanningVersion; }; export type PutApi20260701ResourcesTimePlanningPlanningVersionsByIdResponse = PutApi20260701ResourcesTimePlanningPlanningVersionsByIdResponses[keyof PutApi20260701ResourcesTimePlanningPlanningVersionsByIdResponses]; export type PostApi20260701ResourcesTimePlanningPlanningVersionsBulkCreateData = { body?: { /** * Start date of the planning version */ effective_at: string; /** * Type of planning tool (shift_management, work_schedules, contract_hours) */ planning_tool: string; /** * Amount of rest days per week if applicable (in cents) */ number_of_rest_days_in_cents?: number; /** * List of employee identifiers */ employee_ids: Array; /** * Work schedule identifier to include if applicable */ schedule_id?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/time_planning/planning_versions/bulk_create'; }; export type PostApi20260701ResourcesTimePlanningPlanningVersionsBulkCreateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesTimePlanningPlanningVersionsBulkCreateResponse = PostApi20260701ResourcesTimePlanningPlanningVersionsBulkCreateResponses[keyof PostApi20260701ResourcesTimePlanningPlanningVersionsBulkCreateResponses]; export type GetApi20260701ResourcesTimeSettingsBreakConfigurationsData = { body?: never; path?: never; query: { 'ids[]'?: Array; active: boolean; }; url: '/api/2026-07-01/resources/time_settings/break_configurations'; }; export type GetApi20260701ResourcesTimeSettingsBreakConfigurationsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTimeSettingsBreakConfigurationsResponse = GetApi20260701ResourcesTimeSettingsBreakConfigurationsResponses[keyof GetApi20260701ResourcesTimeSettingsBreakConfigurationsResponses]; export type PostApi20260701ResourcesTimeSettingsBreakConfigurationsData = { body?: { name: string; paid: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/time_settings/break_configurations'; }; export type PostApi20260701ResourcesTimeSettingsBreakConfigurationsResponses = { /** * CREATED */ 201: TimeSettingsBreakConfiguration; }; export type PostApi20260701ResourcesTimeSettingsBreakConfigurationsResponse = PostApi20260701ResourcesTimeSettingsBreakConfigurationsResponses[keyof PostApi20260701ResourcesTimeSettingsBreakConfigurationsResponses]; export type GetApi20260701ResourcesTimeSettingsBreakConfigurationsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/time_settings/break_configurations/{id}'; }; export type GetApi20260701ResourcesTimeSettingsBreakConfigurationsByIdResponses = { /** * OK */ 200: TimeSettingsBreakConfiguration; }; export type GetApi20260701ResourcesTimeSettingsBreakConfigurationsByIdResponse = GetApi20260701ResourcesTimeSettingsBreakConfigurationsByIdResponses[keyof GetApi20260701ResourcesTimeSettingsBreakConfigurationsByIdResponses]; export type PutApi20260701ResourcesTimeSettingsBreakConfigurationsByIdData = { body?: { id: string; name?: string; paid?: boolean; archived?: boolean; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/time_settings/break_configurations/{id}'; }; export type PutApi20260701ResourcesTimeSettingsBreakConfigurationsByIdResponses = { /** * OK */ 200: TimeSettingsBreakConfiguration; }; export type PutApi20260701ResourcesTimeSettingsBreakConfigurationsByIdResponse = PutApi20260701ResourcesTimeSettingsBreakConfigurationsByIdResponses[keyof PutApi20260701ResourcesTimeSettingsBreakConfigurationsByIdResponses]; export type GetApi20260701ResourcesTrainingsCategoriesData = { body?: never; path?: never; query?: { 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/trainings/categories'; }; export type GetApi20260701ResourcesTrainingsCategoriesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTrainingsCategoriesResponse = GetApi20260701ResourcesTrainingsCategoriesResponses[keyof GetApi20260701ResourcesTrainingsCategoriesResponses]; export type PostApi20260701ResourcesTrainingsCategoriesData = { body?: { name: string; company_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/trainings/categories'; }; export type PostApi20260701ResourcesTrainingsCategoriesResponses = { /** * CREATED */ 201: TrainingsCategory; }; export type PostApi20260701ResourcesTrainingsCategoriesResponse = PostApi20260701ResourcesTrainingsCategoriesResponses[keyof PostApi20260701ResourcesTrainingsCategoriesResponses]; export type DeleteApi20260701ResourcesTrainingsCategoriesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/categories/{id}'; }; export type DeleteApi20260701ResourcesTrainingsCategoriesByIdResponses = { /** * OK */ 200: TrainingsCategory; }; export type DeleteApi20260701ResourcesTrainingsCategoriesByIdResponse = DeleteApi20260701ResourcesTrainingsCategoriesByIdResponses[keyof DeleteApi20260701ResourcesTrainingsCategoriesByIdResponses]; export type GetApi20260701ResourcesTrainingsCategoriesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/categories/{id}'; }; export type GetApi20260701ResourcesTrainingsCategoriesByIdResponses = { /** * OK */ 200: TrainingsCategory; }; export type GetApi20260701ResourcesTrainingsCategoriesByIdResponse = GetApi20260701ResourcesTrainingsCategoriesByIdResponses[keyof GetApi20260701ResourcesTrainingsCategoriesByIdResponses]; export type GetApi20260701ResourcesTrainingsSessionsData = { body?: never; path?: never; query?: { /** * This field is used to filter those sessions whose id match with the given. */ 'ids[]'?: Array; /** * This field is used to filter those sessions whose belong to these trainings. */ 'training_ids[]'?: Array; /** * This field is used to filter those sessions whose name include some of the text written. */ search?: string; /** * This field is used to filter those sessions whose starts date is after the given. */ start_after?: string; /** * This field is used to filter those sessions whose starts date is before the given. */ start_before?: string; /** * access_id associated to the employee, refers to employees/employees endpoint. */ access_id?: string; /** * employee_id associated to the employee, refers to employees/employees endpoint. */ employee_id?: string; /** * This field is used to filter those sessions whose belong to this training groups. */ 'training_class_ids[]'?: Array; /** * When this field is active, it filters and orders those sessions that are closest in time, with the first element being the closest. */ next?: boolean; /** * The mode the session will be handled, online, in person or hybrid. */ modality?: string; /** * This field is used to filter the sessions that start at a given date. */ 'starts_at[]'?: Array; /** * When this field is active, filter by only active sessions */ active?: boolean; }; url: '/api/2026-07-01/resources/trainings/sessions'; }; export type GetApi20260701ResourcesTrainingsSessionsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTrainingsSessionsResponse = GetApi20260701ResourcesTrainingsSessionsResponses[keyof GetApi20260701ResourcesTrainingsSessionsResponses]; export type PostApi20260701ResourcesTrainingsSessionsData = { body?: { /** * Session name */ name: string; /** * Training this session belongs to */ training_id: string; /** * Session specific description */ description?: string; /** * Training class it belongs to */ training_class_id?: string; /** * Start date for the session, if scheduled, starts at and ends at needs to happen within the same day. */ starts_at?: string; /** * End date for the session, if scheduled, starts at and ends at needs to happen within the same day. */ ends_at?: string; /** * Only necessary for self paced sessions. */ due_date?: string; /** * Duration in hours of the session */ duration?: string; /** * Online, In person or mixed */ modality?: 'online' | 'inperson' | 'mixed'; /** * Scheduled or Self paced. Scheduled needs to have a start time and end time within the same day, self paced can start and end in different days and specific time won't be shown in the frontend app. */ schedule?: 'selfpaced' | 'scheduled'; /** * Link to join the session if it's online, or to access or download related material for the session. */ link?: string; /** * Place where the session will happen if modality is mixed or in person. */ location?: string; /** * Mark the session as subsidized */ subsidized?: boolean; /** * - */ recurrent?: boolean; /** * Session reminder notifications for those assigned to the session */ reminders?: Array; /** * Send calendar invites to attendees assigned to the session */ send_calendar_invites?: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/trainings/sessions'; }; export type PostApi20260701ResourcesTrainingsSessionsResponses = { /** * CREATED */ 201: TrainingsSession; }; export type PostApi20260701ResourcesTrainingsSessionsResponse = PostApi20260701ResourcesTrainingsSessionsResponses[keyof PostApi20260701ResourcesTrainingsSessionsResponses]; export type DeleteApi20260701ResourcesTrainingsSessionsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/sessions/{id}'; }; export type DeleteApi20260701ResourcesTrainingsSessionsByIdResponses = { /** * OK */ 200: TrainingsSession; }; export type DeleteApi20260701ResourcesTrainingsSessionsByIdResponse = DeleteApi20260701ResourcesTrainingsSessionsByIdResponses[keyof DeleteApi20260701ResourcesTrainingsSessionsByIdResponses]; export type GetApi20260701ResourcesTrainingsSessionsByIdData = { body?: never; path: { /** * This field is used to filter those sessions whose id match with the given. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/sessions/{id}'; }; export type GetApi20260701ResourcesTrainingsSessionsByIdResponses = { /** * OK */ 200: TrainingsSession; }; export type GetApi20260701ResourcesTrainingsSessionsByIdResponse = GetApi20260701ResourcesTrainingsSessionsByIdResponses[keyof GetApi20260701ResourcesTrainingsSessionsByIdResponses]; export type PutApi20260701ResourcesTrainingsSessionsByIdData = { body?: { /** * The session id you want to update */ id: string; /** * Session name */ name: string; /** * Start date for the session, if scheduled, starts at and ends at needs to happen within the same day. */ starts_at?: string; /** * End date for the session, if scheduled, starts at and ends at needs to happen within the same day. */ ends_at?: string; /** * Only necessary for self paced sessions. */ due_date?: string; /** * Duration in hours of the session */ duration?: string; /** * Online, In person or mixed */ modality?: string; /** * Scheduled or Self paced. Scheduled needs to have a start time and end time within the same day, self paced can start and end in different days and specific time won't be shown in the frontend app. */ schedule?: 'selfpaced' | 'scheduled'; /** * Link to join the session if it's online, or to access or download related material for the session. */ link?: string; /** * Place where the session will happen if modality is mixed or in person. */ location?: string; /** * Mark the session as subsidized */ subsidized?: boolean; /** * - */ recurrent?: boolean; /** * Send calendar invites to attendees assigned to the session */ send_calendar_invites?: boolean; }; path: { /** * The session id you want to update */ id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/sessions/{id}'; }; export type PutApi20260701ResourcesTrainingsSessionsByIdResponses = { /** * OK */ 200: TrainingsSession; }; export type PutApi20260701ResourcesTrainingsSessionsByIdResponse = PutApi20260701ResourcesTrainingsSessionsByIdResponses[keyof PutApi20260701ResourcesTrainingsSessionsByIdResponses]; export type GetApi20260701ResourcesTrainingsSessionAccessMembershipsData = { body?: never; path?: never; query: { /** * Filter memberships by session ID */ session_id: string; /** * Filter memberships by specific IDs */ 'ids[]'?: Array; /** * Filter memberships by user name */ search?: string; /** * ID of the team associated with this membership */ 'team_ids[]'?: Array; /** * Current status of the session attendance */ 'status[]'?: Array; }; url: '/api/2026-07-01/resources/trainings/session_access_memberships'; }; export type GetApi20260701ResourcesTrainingsSessionAccessMembershipsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTrainingsSessionAccessMembershipsResponse = GetApi20260701ResourcesTrainingsSessionAccessMembershipsResponses[keyof GetApi20260701ResourcesTrainingsSessionAccessMembershipsResponses]; export type GetApi20260701ResourcesTrainingsSessionAccessMembershipsByIdData = { body?: never; path: { /** * Filter memberships by specific IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/session_access_memberships/{id}'; }; export type GetApi20260701ResourcesTrainingsSessionAccessMembershipsByIdResponses = { /** * OK */ 200: TrainingsSessionAccessMembership; }; export type GetApi20260701ResourcesTrainingsSessionAccessMembershipsByIdResponse = GetApi20260701ResourcesTrainingsSessionAccessMembershipsByIdResponses[keyof GetApi20260701ResourcesTrainingsSessionAccessMembershipsByIdResponses]; export type PostApi20260701ResourcesTrainingsSessionAccessMembershipsBulkCreateData = { body?: { access_ids?: Array; employee_ids?: Array; session_id: string; notify: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/trainings/session_access_memberships/bulk_create'; }; export type PostApi20260701ResourcesTrainingsSessionAccessMembershipsBulkCreateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesTrainingsSessionAccessMembershipsBulkCreateResponse = PostApi20260701ResourcesTrainingsSessionAccessMembershipsBulkCreateResponses[keyof PostApi20260701ResourcesTrainingsSessionAccessMembershipsBulkCreateResponses]; export type PostApi20260701ResourcesTrainingsSessionAccessMembershipsBulkDestroyData = { body?: { ids: Array; notify: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/trainings/session_access_memberships/bulk_destroy'; }; export type PostApi20260701ResourcesTrainingsSessionAccessMembershipsBulkDestroyResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesTrainingsSessionAccessMembershipsBulkDestroyResponse = PostApi20260701ResourcesTrainingsSessionAccessMembershipsBulkDestroyResponses[keyof PostApi20260701ResourcesTrainingsSessionAccessMembershipsBulkDestroyResponses]; export type GetApi20260701ResourcesTrainingsSessionAttendancesData = { body?: never; path?: never; query?: { session_id?: string; id?: string; 'ids[]'?: Array; 'session_access_membership_ids[]'?: Array; 'access_ids[]'?: Array; }; url: '/api/2026-07-01/resources/trainings/session_attendances'; }; export type GetApi20260701ResourcesTrainingsSessionAttendancesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTrainingsSessionAttendancesResponse = GetApi20260701ResourcesTrainingsSessionAttendancesResponses[keyof GetApi20260701ResourcesTrainingsSessionAttendancesResponses]; export type GetApi20260701ResourcesTrainingsSessionAttendancesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/session_attendances/{id}'; }; export type GetApi20260701ResourcesTrainingsSessionAttendancesByIdResponses = { /** * OK */ 200: TrainingsSessionAttendance; }; export type GetApi20260701ResourcesTrainingsSessionAttendancesByIdResponse = GetApi20260701ResourcesTrainingsSessionAttendancesByIdResponses[keyof GetApi20260701ResourcesTrainingsSessionAttendancesByIdResponses]; export type PostApi20260701ResourcesTrainingsSessionAttendancesBulkUpdateData = { body?: { /** * List of session attendance IDs to update */ ids: Array; /** * New status for the session attendances */ status?: string; /** * Completed duration in hours (decimal format, e.g. 1.5 means 1h 30m) */ completed_duration?: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/trainings/session_attendances/bulk_update'; }; export type PostApi20260701ResourcesTrainingsSessionAttendancesBulkUpdateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesTrainingsSessionAttendancesBulkUpdateResponse = PostApi20260701ResourcesTrainingsSessionAttendancesBulkUpdateResponses[keyof PostApi20260701ResourcesTrainingsSessionAttendancesBulkUpdateResponses]; export type GetApi20260701ResourcesTrainingsTrainingsData = { body?: never; path?: never; query?: { /** * This field is used to get a specific training. */ id?: string; /** * This field is used to filter those trainings whose id match with the given. */ 'ids[]'?: Array; /** * @deprecated */ access_id?: string; /** * This field is used to search in the training name, training description or training category. */ search?: string; /** * This field is used to filter those trainings whose status is the same as the one we pass. */ status?: string; /** * This field is used to filter those trainings whose are visible in the catalog. */ catalog?: boolean; /** * This field is used to filter those trainings whose attendance status is different from not assigned. */ only_assigned?: boolean; /** * This field is used to filter those trainings whose members have the course expired (if 'true') or not (if 'false'). */ with_expired_memberships?: boolean; /** * Fills the information of the field 'number_of_expired_participants' if 'true' */ return_expired_memberships?: boolean; /** * This field is used to filter by mandatory or non-mandatory trainings if provided */ is_mandatory?: boolean; /** * This field is used to filter those trainings whose have current training classes if 'true' */ with_current_training_classes?: boolean; }; url: '/api/2026-07-01/resources/trainings/trainings'; }; export type GetApi20260701ResourcesTrainingsTrainingsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTrainingsTrainingsResponse = GetApi20260701ResourcesTrainingsTrainingsResponses[keyof GetApi20260701ResourcesTrainingsTrainingsResponses]; export type PostApi20260701ResourcesTrainingsTrainingsData = { body?: { /** * Name of the training */ name: string; /** * Code of the training */ code?: string; /** * Description of the training */ description: string; /** * External provider of the training */ external_provider?: string; /** * External training */ external: boolean; /** * List of ids of training categories */ category_ids?: Array; /** * Competency ids of the training */ competency_ids?: Array; /** * The person that creates the training */ author_id?: string; /** * Employee identifier associated with the training */ employee_id?: string; cost?: number; subsidized_cost?: number; cost_decimal?: string; subsidized_cost_decimal?: string; /** * Year of the training */ year: number; /** * Company identifier of the training */ company_id?: string; /** * Attachments of the training */ attachments: Array; /** * The training validity period in years */ valid_for?: number; /** * Objectives of the course */ objectives?: string; /** * The total duration in hours and minutes of the course */ total_duration?: number; /** * This field is used to define if the training is mandatory or not */ is_mandatory?: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/trainings/trainings'; }; export type PostApi20260701ResourcesTrainingsTrainingsResponses = { /** * CREATED */ 201: TrainingsTraining; }; export type PostApi20260701ResourcesTrainingsTrainingsResponse = PostApi20260701ResourcesTrainingsTrainingsResponses[keyof PostApi20260701ResourcesTrainingsTrainingsResponses]; export type DeleteApi20260701ResourcesTrainingsTrainingsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/trainings/{id}'; }; export type DeleteApi20260701ResourcesTrainingsTrainingsByIdResponses = { /** * OK */ 200: TrainingsTraining; }; export type DeleteApi20260701ResourcesTrainingsTrainingsByIdResponse = DeleteApi20260701ResourcesTrainingsTrainingsByIdResponses[keyof DeleteApi20260701ResourcesTrainingsTrainingsByIdResponses]; export type GetApi20260701ResourcesTrainingsTrainingsByIdData = { body?: never; path: { /** * This field is used to get a specific training. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/trainings/{id}'; }; export type GetApi20260701ResourcesTrainingsTrainingsByIdResponses = { /** * OK */ 200: TrainingsTraining; }; export type GetApi20260701ResourcesTrainingsTrainingsByIdResponse = GetApi20260701ResourcesTrainingsTrainingsByIdResponses[keyof GetApi20260701ResourcesTrainingsTrainingsByIdResponses]; export type PutApi20260701ResourcesTrainingsTrainingsByIdData = { body?: { id: string; name: string; code?: string; description: string; external_provider?: string; external: boolean; category_ids?: Array; competency_ids?: Array; cost?: number; subsidized_cost?: number; cost_decimal?: string; subsidized_cost_decimal?: string; year: number; valid_for?: number; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/trainings/{id}'; }; export type PutApi20260701ResourcesTrainingsTrainingsByIdResponses = { /** * OK */ 200: TrainingsTraining; }; export type PutApi20260701ResourcesTrainingsTrainingsByIdResponse = PutApi20260701ResourcesTrainingsTrainingsByIdResponses[keyof PutApi20260701ResourcesTrainingsTrainingsByIdResponses]; export type PostApi20260701ResourcesTrainingsTrainingsBulkDeleteData = { body?: { ids: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/trainings/trainings/bulk_delete'; }; export type PostApi20260701ResourcesTrainingsTrainingsBulkDeleteResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesTrainingsTrainingsBulkDeleteResponse = PostApi20260701ResourcesTrainingsTrainingsBulkDeleteResponses[keyof PostApi20260701ResourcesTrainingsTrainingsBulkDeleteResponses]; export type PostApi20260701ResourcesTrainingsTrainingsBulkUpdateCatalogData = { body?: { ids: Array; catalog: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/trainings/trainings/bulk_update_catalog'; }; export type PostApi20260701ResourcesTrainingsTrainingsBulkUpdateCatalogResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesTrainingsTrainingsBulkUpdateCatalogResponse = PostApi20260701ResourcesTrainingsTrainingsBulkUpdateCatalogResponses[keyof PostApi20260701ResourcesTrainingsTrainingsBulkUpdateCatalogResponses]; export type PostApi20260701ResourcesTrainingsTrainingsUpdateStatusData = { body?: { id: string; status: string; notify: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/trainings/trainings/update_status'; }; export type PostApi20260701ResourcesTrainingsTrainingsUpdateStatusResponses = { /** * OK */ 200: TrainingsTraining; }; export type PostApi20260701ResourcesTrainingsTrainingsUpdateStatusResponse = PostApi20260701ResourcesTrainingsTrainingsUpdateStatusResponses[keyof PostApi20260701ResourcesTrainingsTrainingsUpdateStatusResponses]; export type GetApi20260701ResourcesTrainingsTrainingClassesData = { body?: never; path?: never; query?: { /** * Filter those training classes whose id match with the given. */ 'ids[]'?: Array; /** * Get a specific training class. */ id?: string; /** * Get training classes for the specified training. */ training_id?: string; /** * This field is used to search in the training class name. */ search?: string; /** * Field those classes that start on the given date. */ 'start_date[]'?: Array; /** * Filter those classes that end on the given date. */ 'end_date[]'?: Array; }; url: '/api/2026-07-01/resources/trainings/training_classes'; }; export type GetApi20260701ResourcesTrainingsTrainingClassesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTrainingsTrainingClassesResponse = GetApi20260701ResourcesTrainingsTrainingClassesResponses[keyof GetApi20260701ResourcesTrainingsTrainingClassesResponses]; export type PostApi20260701ResourcesTrainingsTrainingClassesData = { body?: { /** * Class name */ name?: string; /** * Class description */ description?: string; /** * Traning class start date */ start_date: string; /** * Traning class end date */ end_date: string; /** * Training the class belongs to */ training_id: string; /** * Company identifier the class belongs to */ company_id: string; /** * access_id associated to the employee that creates the training class, refers to employees/employees endpoint. */ author_id: string; /** * Training-related expenses, such as instructor fees, materials, venue, and logistics. */ cost: string; /** * Amount of training expenses covered by financial aid or grants for this group. */ subsidized_cost: string; /** * General business expenses related to training, such as utilities and administrative fees. */ indirect_cost: string; /** * Cost of all employees' time spent on the course. */ salary_cost: string; /** * Payment status of the training class. */ payment_status: 'paid' | 'pending'; }; path?: never; query?: never; url: '/api/2026-07-01/resources/trainings/training_classes'; }; export type PostApi20260701ResourcesTrainingsTrainingClassesResponses = { /** * CREATED */ 201: TrainingsTrainingClass; }; export type PostApi20260701ResourcesTrainingsTrainingClassesResponse = PostApi20260701ResourcesTrainingsTrainingClassesResponses[keyof PostApi20260701ResourcesTrainingsTrainingClassesResponses]; export type DeleteApi20260701ResourcesTrainingsTrainingClassesByIdData = { body?: never; path: { /** * Identifier of the training class to delete */ id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/training_classes/{id}'; }; export type DeleteApi20260701ResourcesTrainingsTrainingClassesByIdResponses = { /** * OK */ 200: TrainingsTrainingClass; }; export type DeleteApi20260701ResourcesTrainingsTrainingClassesByIdResponse = DeleteApi20260701ResourcesTrainingsTrainingClassesByIdResponses[keyof DeleteApi20260701ResourcesTrainingsTrainingClassesByIdResponses]; export type GetApi20260701ResourcesTrainingsTrainingClassesByIdData = { body?: never; path: { /** * Filter those training classes whose id match with the given. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/training_classes/{id}'; }; export type GetApi20260701ResourcesTrainingsTrainingClassesByIdResponses = { /** * OK */ 200: TrainingsTrainingClass; }; export type GetApi20260701ResourcesTrainingsTrainingClassesByIdResponse = GetApi20260701ResourcesTrainingsTrainingClassesByIdResponses[keyof GetApi20260701ResourcesTrainingsTrainingClassesByIdResponses]; export type PutApi20260701ResourcesTrainingsTrainingClassesByIdData = { body?: { /** * Class name */ name?: string; /** * Class description */ description?: string; /** * Traning class start date */ start_date?: string; /** * Traning class end date */ end_date?: string; /** * Identifier of the training class to update */ id: string; /** * Training-related expenses, such as instructor fees, materials, venue, and logistics. */ cost: string; /** * Amount of training expenses covered by financial aid or grants for this group. */ subsidized_cost: string; /** * Cost of all employees' time spent on the course. */ salary_cost: string; /** * General business expenses related to training, such as utilities and administrative fees. */ indirect_cost: string; /** * Payment status of the training class. */ payment_status: 'paid' | 'pending'; }; path: { /** * Identifier of the training class to update */ id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/training_classes/{id}'; }; export type PutApi20260701ResourcesTrainingsTrainingClassesByIdResponses = { /** * OK */ 200: TrainingsTrainingClass; }; export type PutApi20260701ResourcesTrainingsTrainingClassesByIdResponse = PutApi20260701ResourcesTrainingsTrainingClassesByIdResponses[keyof PutApi20260701ResourcesTrainingsTrainingClassesByIdResponses]; export type GetApi20260701ResourcesTrainingsTrainingMembershipsData = { body?: never; path?: never; query: { /** * This field is used to filter those trainings memberships that belongs to this training. */ training_id?: string; /** * This field is used to filter those trainings memberships whose id match with the given. */ 'ids[]'?: Array; /** * This field is used to filter those trainings memberships whose employee name include some of the text written. */ search?: string; /** * This field is used to filter those memberships whose employees belongs to this team. */ team_id?: string; /** * This field is used to filter those trainings memberships whose attendance status is the given. */ status?: string; /** * This field is used to filter those trainings memberships whose employees belongs to this group. */ class_id?: string; /** * Get the training memberships by passing the employee id */ employee_id?: string; /** * This field is used to filter training memberships by due date. Values can be 'overdue', 'no_due_date', or a number of days (e.g., '7', '30', '90'). */ due_date: string; }; url: '/api/2026-07-01/resources/trainings/training_memberships'; }; export type GetApi20260701ResourcesTrainingsTrainingMembershipsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesTrainingsTrainingMembershipsResponse = GetApi20260701ResourcesTrainingsTrainingMembershipsResponses[keyof GetApi20260701ResourcesTrainingsTrainingMembershipsResponses]; export type GetApi20260701ResourcesTrainingsTrainingMembershipsByIdData = { body?: never; path: { /** * This field is used to filter those trainings memberships whose id match with the given. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/training_memberships/{id}'; }; export type GetApi20260701ResourcesTrainingsTrainingMembershipsByIdResponses = { /** * OK */ 200: TrainingsTrainingMembership; }; export type GetApi20260701ResourcesTrainingsTrainingMembershipsByIdResponse = GetApi20260701ResourcesTrainingsTrainingMembershipsByIdResponses[keyof GetApi20260701ResourcesTrainingsTrainingMembershipsByIdResponses]; export type PutApi20260701ResourcesTrainingsTrainingMembershipsByIdData = { body?: { /** * Unique identifier for the training membership. Only used to identify the training membership to update. */ id: string; /** * This field is used to record the date a training was completed for trainings that have an expiry date. */ training_completed_at?: string; }; path: { /** * Unique identifier for the training membership. Only used to identify the training membership to update. */ id: string; }; query?: never; url: '/api/2026-07-01/resources/trainings/training_memberships/{id}'; }; export type PutApi20260701ResourcesTrainingsTrainingMembershipsByIdResponses = { /** * OK */ 200: TrainingsTrainingMembership; }; export type PutApi20260701ResourcesTrainingsTrainingMembershipsByIdResponse = PutApi20260701ResourcesTrainingsTrainingMembershipsByIdResponses[keyof PutApi20260701ResourcesTrainingsTrainingMembershipsByIdResponses]; export type PostApi20260701ResourcesTrainingsTrainingMembershipsBulkCreateData = { body?: { /** * ids for the accesses to be assigned in a training */ employee_ids: Array; /** * Training id to be assigned */ training_id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/trainings/training_memberships/bulk_create'; }; export type PostApi20260701ResourcesTrainingsTrainingMembershipsBulkCreateResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesTrainingsTrainingMembershipsBulkCreateResponse = PostApi20260701ResourcesTrainingsTrainingMembershipsBulkCreateResponses[keyof PostApi20260701ResourcesTrainingsTrainingMembershipsBulkCreateResponses]; export type PostApi20260701ResourcesTrainingsTrainingMembershipsBulkDestroyData = { body?: { /** * IDs of training memberships to delete. When 'all' is true, these IDs are excluded from deletion. */ ids: Array; /** * Training ID. Required when 'all' is true to identify which training's memberships to delete. */ training_id?: string; /** * When true, deletes all memberships for the given training_id, excluding those in the 'ids' array. */ all?: boolean; }; path?: never; query?: never; url: '/api/2026-07-01/resources/trainings/training_memberships/bulk_destroy'; }; export type PostApi20260701ResourcesTrainingsTrainingMembershipsBulkDestroyResponses = { /** * OK */ 200: Array; }; export type PostApi20260701ResourcesTrainingsTrainingMembershipsBulkDestroyResponse = PostApi20260701ResourcesTrainingsTrainingMembershipsBulkDestroyResponses[keyof PostApi20260701ResourcesTrainingsTrainingMembershipsBulkDestroyResponses]; export type GetApi20260701ResourcesWorkScheduleDayConfigurationsData = { body?: never; path?: never; query?: { 'ids[]'?: Array; overlap_period_id?: string; schedule_id?: string; }; url: '/api/2026-07-01/resources/work_schedule/day_configurations'; }; export type GetApi20260701ResourcesWorkScheduleDayConfigurationsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesWorkScheduleDayConfigurationsResponse = GetApi20260701ResourcesWorkScheduleDayConfigurationsResponses[keyof GetApi20260701ResourcesWorkScheduleDayConfigurationsResponses]; export type GetApi20260701ResourcesWorkScheduleDayConfigurationsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/work_schedule/day_configurations/{id}'; }; export type GetApi20260701ResourcesWorkScheduleDayConfigurationsByIdResponses = { /** * OK */ 200: WorkScheduleDayConfiguration; }; export type GetApi20260701ResourcesWorkScheduleDayConfigurationsByIdResponse = GetApi20260701ResourcesWorkScheduleDayConfigurationsByIdResponses[keyof GetApi20260701ResourcesWorkScheduleDayConfigurationsByIdResponses]; export type PostApi20260701ResourcesWorkScheduleDayConfigurationsBulkCudData = { body?: { overlap_period_id: string; day_configurations: Array; }; path?: never; query?: never; url: '/api/2026-07-01/resources/work_schedule/day_configurations/bulk_cud'; }; export type PostApi20260701ResourcesWorkScheduleDayConfigurationsBulkCudResponses = { /** * OK */ 200: WorkScheduleDayConfiguration; }; export type PostApi20260701ResourcesWorkScheduleDayConfigurationsBulkCudResponse = PostApi20260701ResourcesWorkScheduleDayConfigurationsBulkCudResponses[keyof PostApi20260701ResourcesWorkScheduleDayConfigurationsBulkCudResponses]; export type GetApi20260701ResourcesWorkScheduleOverlapPeriodsData = { body?: never; path?: never; query?: { /** * List of overlap period identifiers to retrieve. If provided, returns only overlap periods matching these IDs */ 'ids[]'?: Array; }; url: '/api/2026-07-01/resources/work_schedule/overlap_periods'; }; export type GetApi20260701ResourcesWorkScheduleOverlapPeriodsResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesWorkScheduleOverlapPeriodsResponse = GetApi20260701ResourcesWorkScheduleOverlapPeriodsResponses[keyof GetApi20260701ResourcesWorkScheduleOverlapPeriodsResponses]; export type PostApi20260701ResourcesWorkScheduleOverlapPeriodsData = { body?: { author: unknown; schedule_id: string; create_params: unknown; }; path?: never; query?: never; url: '/api/2026-07-01/resources/work_schedule/overlap_periods'; }; export type PostApi20260701ResourcesWorkScheduleOverlapPeriodsResponses = { /** * CREATED */ 201: WorkScheduleOverlapPeriod; }; export type PostApi20260701ResourcesWorkScheduleOverlapPeriodsResponse = PostApi20260701ResourcesWorkScheduleOverlapPeriodsResponses[keyof PostApi20260701ResourcesWorkScheduleOverlapPeriodsResponses]; export type DeleteApi20260701ResourcesWorkScheduleOverlapPeriodsByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/work_schedule/overlap_periods/{id}'; }; export type DeleteApi20260701ResourcesWorkScheduleOverlapPeriodsByIdResponses = { /** * OK */ 200: WorkScheduleOverlapPeriod; }; export type DeleteApi20260701ResourcesWorkScheduleOverlapPeriodsByIdResponse = DeleteApi20260701ResourcesWorkScheduleOverlapPeriodsByIdResponses[keyof DeleteApi20260701ResourcesWorkScheduleOverlapPeriodsByIdResponses]; export type GetApi20260701ResourcesWorkScheduleOverlapPeriodsByIdData = { body?: never; path: { /** * List of overlap period identifiers to retrieve. If provided, returns only overlap periods matching these IDs */ id: string; }; query?: never; url: '/api/2026-07-01/resources/work_schedule/overlap_periods/{id}'; }; export type GetApi20260701ResourcesWorkScheduleOverlapPeriodsByIdResponses = { /** * OK */ 200: WorkScheduleOverlapPeriod; }; export type GetApi20260701ResourcesWorkScheduleOverlapPeriodsByIdResponse = GetApi20260701ResourcesWorkScheduleOverlapPeriodsByIdResponses[keyof GetApi20260701ResourcesWorkScheduleOverlapPeriodsByIdResponses]; export type PutApi20260701ResourcesWorkScheduleOverlapPeriodsByIdData = { body?: { author: unknown; id: string; update_params: unknown; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/work_schedule/overlap_periods/{id}'; }; export type PutApi20260701ResourcesWorkScheduleOverlapPeriodsByIdResponses = { /** * OK */ 200: WorkScheduleOverlapPeriod; }; export type PutApi20260701ResourcesWorkScheduleOverlapPeriodsByIdResponse = PutApi20260701ResourcesWorkScheduleOverlapPeriodsByIdResponses[keyof PutApi20260701ResourcesWorkScheduleOverlapPeriodsByIdResponses]; export type GetApi20260701ResourcesWorkScheduleSchedulesData = { body?: never; path?: never; query: { 'ids[]'?: Array; with_employee_ids: boolean; with_periods: boolean; }; url: '/api/2026-07-01/resources/work_schedule/schedules'; }; export type GetApi20260701ResourcesWorkScheduleSchedulesResponses = { /** * OK */ 200: { data?: Array; meta?: PagedIndexMeta; }; }; export type GetApi20260701ResourcesWorkScheduleSchedulesResponse = GetApi20260701ResourcesWorkScheduleSchedulesResponses[keyof GetApi20260701ResourcesWorkScheduleSchedulesResponses]; export type PostApi20260701ResourcesWorkScheduleSchedulesData = { body?: { name: string; schedule_type: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/work_schedule/schedules'; }; export type PostApi20260701ResourcesWorkScheduleSchedulesResponses = { /** * CREATED */ 201: WorkScheduleSchedule; }; export type PostApi20260701ResourcesWorkScheduleSchedulesResponse = PostApi20260701ResourcesWorkScheduleSchedulesResponses[keyof PostApi20260701ResourcesWorkScheduleSchedulesResponses]; export type GetApi20260701ResourcesWorkScheduleSchedulesByIdData = { body?: never; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/work_schedule/schedules/{id}'; }; export type GetApi20260701ResourcesWorkScheduleSchedulesByIdResponses = { /** * OK */ 200: WorkScheduleSchedule; }; export type GetApi20260701ResourcesWorkScheduleSchedulesByIdResponse = GetApi20260701ResourcesWorkScheduleSchedulesByIdResponses[keyof GetApi20260701ResourcesWorkScheduleSchedulesByIdResponses]; export type PutApi20260701ResourcesWorkScheduleSchedulesByIdData = { body?: { name?: string; id: string; author: unknown; }; path: { id: string; }; query?: never; url: '/api/2026-07-01/resources/work_schedule/schedules/{id}'; }; export type PutApi20260701ResourcesWorkScheduleSchedulesByIdResponses = { /** * OK */ 200: WorkScheduleSchedule; }; export type PutApi20260701ResourcesWorkScheduleSchedulesByIdResponse = PutApi20260701ResourcesWorkScheduleSchedulesByIdResponses[keyof PutApi20260701ResourcesWorkScheduleSchedulesByIdResponses]; export type PostApi20260701ResourcesWorkScheduleSchedulesToggleArchiveData = { body?: { id: string; }; path?: never; query?: never; url: '/api/2026-07-01/resources/work_schedule/schedules/toggle_archive'; }; export type PostApi20260701ResourcesWorkScheduleSchedulesToggleArchiveResponses = { /** * OK */ 200: WorkScheduleSchedule; }; export type PostApi20260701ResourcesWorkScheduleSchedulesToggleArchiveResponse = PostApi20260701ResourcesWorkScheduleSchedulesToggleArchiveResponses[keyof PostApi20260701ResourcesWorkScheduleSchedulesToggleArchiveResponses]; /** * Callback payload */ export type PostWebhooks__ApiPublic__WebhookSubscription__CreatesWebhookPayload = ApiPublicWebhookSubscription; export type PostWebhooks__ApiPublic__WebhookSubscription__CreatesWebhookRequest = { body: PostWebhooks__ApiPublic__WebhookSubscription__CreatesWebhookPayload; key: 'Webhooks > ApiPublic > WebhookSubscription > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__ApiPublic__WebhookSubscription__DeletesWebhookPayload = ApiPublicWebhookSubscription; export type PostWebhooks__ApiPublic__WebhookSubscription__DeletesWebhookRequest = { body: PostWebhooks__ApiPublic__WebhookSubscription__DeletesWebhookPayload; key: 'Webhooks > ApiPublic > WebhookSubscription > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__ApiPublic__WebhookSubscription__UpdatesWebhookPayload = ApiPublicWebhookSubscription; export type PostWebhooks__ApiPublic__WebhookSubscription__UpdatesWebhookRequest = { body: PostWebhooks__ApiPublic__WebhookSubscription__UpdatesWebhookPayload; key: 'Webhooks > ApiPublic > WebhookSubscription > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__Application__AppliesWebhookPayload = AtsApplication; export type PostWebhooks__Ats__Application__AppliesWebhookRequest = { body: PostWebhooks__Ats__Application__AppliesWebhookPayload; key: 'Webhooks > Ats > Application > Applies'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__Application__CreatesWebhookPayload = AtsApplication; export type PostWebhooks__Ats__Application__CreatesWebhookRequest = { body: PostWebhooks__Ats__Application__CreatesWebhookPayload; key: 'Webhooks > Ats > Application > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__Application__CreateFromEmployeesWebhookPayload = AtsApplication; export type PostWebhooks__Ats__Application__CreateFromEmployeesWebhookRequest = { body: PostWebhooks__Ats__Application__CreateFromEmployeesWebhookPayload; key: 'Webhooks > Ats > Application > Create from employees'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__Application__DeletesWebhookPayload = AtsApplication; export type PostWebhooks__Ats__Application__DeletesWebhookRequest = { body: PostWebhooks__Ats__Application__DeletesWebhookPayload; key: 'Webhooks > Ats > Application > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__Application__UpdatesWebhookPayload = AtsApplication; export type PostWebhooks__Ats__Application__UpdatesWebhookRequest = { body: PostWebhooks__Ats__Application__UpdatesWebhookPayload; key: 'Webhooks > Ats > Application > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__Candidate__CreatesWebhookPayload = AtsCandidate; export type PostWebhooks__Ats__Candidate__CreatesWebhookRequest = { body: PostWebhooks__Ats__Candidate__CreatesWebhookPayload; key: 'Webhooks > Ats > Candidate > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__Candidate__DeletesWebhookPayload = AtsCandidate; export type PostWebhooks__Ats__Candidate__DeletesWebhookRequest = { body: PostWebhooks__Ats__Candidate__DeletesWebhookPayload; key: 'Webhooks > Ats > Candidate > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__Candidate__UpdatesWebhookPayload = AtsCandidate; export type PostWebhooks__Ats__Candidate__UpdatesWebhookRequest = { body: PostWebhooks__Ats__Candidate__UpdatesWebhookPayload; key: 'Webhooks > Ats > Candidate > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__EvaluationForm__SaveAsTemplatesWebhookPayload = AtsEvaluationForm; export type PostWebhooks__Ats__EvaluationForm__SaveAsTemplatesWebhookRequest = { body: PostWebhooks__Ats__EvaluationForm__SaveAsTemplatesWebhookPayload; key: 'Webhooks > Ats > EvaluationForm > Save as templates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__JobPosting__CreatesWebhookPayload = AtsJobPosting; export type PostWebhooks__Ats__JobPosting__CreatesWebhookRequest = { body: PostWebhooks__Ats__JobPosting__CreatesWebhookPayload; key: 'Webhooks > Ats > JobPosting > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__JobPosting__DeletesWebhookPayload = AtsJobPosting; export type PostWebhooks__Ats__JobPosting__DeletesWebhookRequest = { body: PostWebhooks__Ats__JobPosting__DeletesWebhookPayload; key: 'Webhooks > Ats > JobPosting > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__JobPosting__DuplicatesWebhookPayload = AtsJobPosting; export type PostWebhooks__Ats__JobPosting__DuplicatesWebhookRequest = { body: PostWebhooks__Ats__JobPosting__DuplicatesWebhookPayload; key: 'Webhooks > Ats > JobPosting > Duplicates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Ats__JobPosting__UpdatesWebhookPayload = AtsJobPosting; export type PostWebhooks__Ats__JobPosting__UpdatesWebhookRequest = { body: PostWebhooks__Ats__JobPosting__UpdatesWebhookPayload; key: 'Webhooks > Ats > JobPosting > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Attendance__Shift__AutofillsWebhookPayload = AttendanceShift; export type PostWebhooks__Attendance__Shift__AutofillsWebhookRequest = { body: PostWebhooks__Attendance__Shift__AutofillsWebhookPayload; key: 'Webhooks > Attendance > Shift > Autofills'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Attendance__Shift__BreakEndsWebhookPayload = AttendanceShift; export type PostWebhooks__Attendance__Shift__BreakEndsWebhookRequest = { body: PostWebhooks__Attendance__Shift__BreakEndsWebhookPayload; key: 'Webhooks > Attendance > Shift > Break ends'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Attendance__Shift__BreakStartsWebhookPayload = AttendanceShift; export type PostWebhooks__Attendance__Shift__BreakStartsWebhookRequest = { body: PostWebhooks__Attendance__Shift__BreakStartsWebhookPayload; key: 'Webhooks > Attendance > Shift > Break starts'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Attendance__Shift__ClockInsWebhookPayload = AttendanceShift; export type PostWebhooks__Attendance__Shift__ClockInsWebhookRequest = { body: PostWebhooks__Attendance__Shift__ClockInsWebhookPayload; key: 'Webhooks > Attendance > Shift > Clock ins'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Attendance__Shift__ClockOutsWebhookPayload = AttendanceShift; export type PostWebhooks__Attendance__Shift__ClockOutsWebhookRequest = { body: PostWebhooks__Attendance__Shift__ClockOutsWebhookPayload; key: 'Webhooks > Attendance > Shift > Clock outs'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Attendance__Shift__CreatesWebhookPayload = AttendanceShift; export type PostWebhooks__Attendance__Shift__CreatesWebhookRequest = { body: PostWebhooks__Attendance__Shift__CreatesWebhookPayload; key: 'Webhooks > Attendance > Shift > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Attendance__Shift__DeletesWebhookPayload = AttendanceShift; export type PostWebhooks__Attendance__Shift__DeletesWebhookRequest = { body: PostWebhooks__Attendance__Shift__DeletesWebhookPayload; key: 'Webhooks > Attendance > Shift > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Attendance__Shift__ToggleClocksWebhookPayload = AttendanceShift; export type PostWebhooks__Attendance__Shift__ToggleClocksWebhookRequest = { body: PostWebhooks__Attendance__Shift__ToggleClocksWebhookPayload; key: 'Webhooks > Attendance > Shift > Toggle clocks'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Attendance__Shift__UpdatesWebhookPayload = AttendanceShift; export type PostWebhooks__Attendance__Shift__UpdatesWebhookRequest = { body: PostWebhooks__Attendance__Shift__UpdatesWebhookPayload; key: 'Webhooks > Attendance > Shift > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Banking__BankAccountNumber__UpsertsWebhookPayload = BankingBankAccountNumber; export type PostWebhooks__Banking__BankAccountNumber__UpsertsWebhookRequest = { body: PostWebhooks__Banking__BankAccountNumber__UpsertsWebhookPayload; key: 'Webhooks > Banking > BankAccountNumber > Upserts'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__BookkeepersManagement__Incidence__UpdatesWebhookPayload = BookkeepersManagementIncidence; export type PostWebhooks__BookkeepersManagement__Incidence__UpdatesWebhookRequest = { body: PostWebhooks__BookkeepersManagement__Incidence__UpdatesWebhookPayload; key: 'Webhooks > BookkeepersManagement > Incidence > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Companies__LegalEntity__CreatesWebhookPayload = CompaniesLegalEntity; export type PostWebhooks__Companies__LegalEntity__CreatesWebhookRequest = { body: PostWebhooks__Companies__LegalEntity__CreatesWebhookPayload; key: 'Webhooks > Companies > LegalEntity > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Contracts__ContractVersionRequest__ApprovesWebhookPayload = ContractsContractVersionRequest; export type PostWebhooks__Contracts__ContractVersionRequest__ApprovesWebhookRequest = { body: PostWebhooks__Contracts__ContractVersionRequest__ApprovesWebhookPayload; key: 'Webhooks > Contracts > ContractVersionRequest > Approves'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Contracts__ContractVersionRequest__CreatePromoteRequestsWebhookPayload = ContractsContractVersionRequest; export type PostWebhooks__Contracts__ContractVersionRequest__CreatePromoteRequestsWebhookRequest = { body: PostWebhooks__Contracts__ContractVersionRequest__CreatePromoteRequestsWebhookPayload; key: 'Webhooks > Contracts > ContractVersionRequest > Create promote requests'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Contracts__ContractVersionRequest__DeletesWebhookPayload = ContractsContractVersionRequest; export type PostWebhooks__Contracts__ContractVersionRequest__DeletesWebhookRequest = { body: PostWebhooks__Contracts__ContractVersionRequest__DeletesWebhookPayload; key: 'Webhooks > Contracts > ContractVersionRequest > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Contracts__ContractVersionRequest__RejectsWebhookPayload = ContractsContractVersionRequest; export type PostWebhooks__Contracts__ContractVersionRequest__RejectsWebhookRequest = { body: PostWebhooks__Contracts__ContractVersionRequest__RejectsWebhookPayload; key: 'Webhooks > Contracts > ContractVersionRequest > Rejects'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Contracts__ContractVersion__CreatesWebhookPayload = ContractsContractVersion; export type PostWebhooks__Contracts__ContractVersion__CreatesWebhookRequest = { body: PostWebhooks__Contracts__ContractVersion__CreatesWebhookPayload; key: 'Webhooks > Contracts > ContractVersion > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Contracts__ContractVersion__DeletesWebhookPayload = ContractsContractVersion; export type PostWebhooks__Contracts__ContractVersion__DeletesWebhookRequest = { body: PostWebhooks__Contracts__ContractVersion__DeletesWebhookPayload; key: 'Webhooks > Contracts > ContractVersion > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Contracts__ContractVersion__UpdatesWebhookPayload = ContractsContractVersion; export type PostWebhooks__Contracts__ContractVersion__UpdatesWebhookRequest = { body: PostWebhooks__Contracts__ContractVersion__UpdatesWebhookPayload; key: 'Webhooks > Contracts > ContractVersion > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__CustomResources__Schema__CreatesWebhookPayload = CustomResourcesSchema; export type PostWebhooks__CustomResources__Schema__CreatesWebhookRequest = { body: PostWebhooks__CustomResources__Schema__CreatesWebhookPayload; key: 'Webhooks > CustomResources > Schema > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Documents__Document__BulkCreatesWebhookPayload = DocumentsDocument; export type PostWebhooks__Documents__Document__BulkCreatesWebhookRequest = { body: PostWebhooks__Documents__Document__BulkCreatesWebhookPayload; key: 'Webhooks > Documents > Document > Bulk creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Documents__Document__CreatesWebhookPayload = DocumentsDocument; export type PostWebhooks__Documents__Document__CreatesWebhookRequest = { body: PostWebhooks__Documents__Document__CreatesWebhookPayload; key: 'Webhooks > Documents > Document > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Documents__Document__DeletesWebhookPayload = DocumentsDocument; export type PostWebhooks__Documents__Document__DeletesWebhookRequest = { body: PostWebhooks__Documents__Document__DeletesWebhookPayload; key: 'Webhooks > Documents > Document > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Documents__Document__MoveToTrashBinsWebhookPayload = DocumentsDocument; export type PostWebhooks__Documents__Document__MoveToTrashBinsWebhookRequest = { body: PostWebhooks__Documents__Document__MoveToTrashBinsWebhookPayload; key: 'Webhooks > Documents > Document > Move to trash bins'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Documents__Document__RestoreFromTrashBinsWebhookPayload = DocumentsDocument; export type PostWebhooks__Documents__Document__RestoreFromTrashBinsWebhookRequest = { body: PostWebhooks__Documents__Document__RestoreFromTrashBinsWebhookPayload; key: 'Webhooks > Documents > Document > Restore from trash bins'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Documents__Document__UpdatesWebhookPayload = DocumentsDocument; export type PostWebhooks__Documents__Document__UpdatesWebhookRequest = { body: PostWebhooks__Documents__Document__UpdatesWebhookPayload; key: 'Webhooks > Documents > Document > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Documents__Folder__CreatesWebhookPayload = DocumentsFolder; export type PostWebhooks__Documents__Folder__CreatesWebhookRequest = { body: PostWebhooks__Documents__Folder__CreatesWebhookPayload; key: 'Webhooks > Documents > Folder > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Documents__Folder__UpdatesWebhookPayload = DocumentsFolder; export type PostWebhooks__Documents__Folder__UpdatesWebhookRequest = { body: PostWebhooks__Documents__Folder__UpdatesWebhookPayload; key: 'Webhooks > Documents > Folder > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Employees__Employee__CreateWithContractsWebhookPayload = EmployeesEmployee; export type PostWebhooks__Employees__Employee__CreateWithContractsWebhookRequest = { body: PostWebhooks__Employees__Employee__CreateWithContractsWebhookPayload; key: 'Webhooks > Employees > Employee > Create with contracts'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Employees__Employee__InvitesWebhookPayload = EmployeesEmployee; export type PostWebhooks__Employees__Employee__InvitesWebhookRequest = { body: PostWebhooks__Employees__Employee__InvitesWebhookPayload; key: 'Webhooks > Employees > Employee > Invites'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Employees__Employee__SetRegularAccessStartDatesWebhookPayload = EmployeesEmployee; export type PostWebhooks__Employees__Employee__SetRegularAccessStartDatesWebhookRequest = { body: PostWebhooks__Employees__Employee__SetRegularAccessStartDatesWebhookPayload; key: 'Webhooks > Employees > Employee > Set regular access start dates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Employees__Employee__TerminatesWebhookPayload = EmployeesEmployee; export type PostWebhooks__Employees__Employee__TerminatesWebhookRequest = { body: PostWebhooks__Employees__Employee__TerminatesWebhookPayload; key: 'Webhooks > Employees > Employee > Terminates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Employees__Employee__UnterminatesWebhookPayload = EmployeesEmployee; export type PostWebhooks__Employees__Employee__UnterminatesWebhookRequest = { body: PostWebhooks__Employees__Employee__UnterminatesWebhookPayload; key: 'Webhooks > Employees > Employee > Unterminates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Employees__Employee__UpdatesWebhookPayload = EmployeesEmployee; export type PostWebhooks__Employees__Employee__UpdatesWebhookRequest = { body: PostWebhooks__Employees__Employee__UpdatesWebhookPayload; key: 'Webhooks > Employees > Employee > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Expenses__Expensable__BulkSetToPaidsWebhookPayload = ExpensesExpensable; export type PostWebhooks__Expenses__Expensable__BulkSetToPaidsWebhookRequest = { body: PostWebhooks__Expenses__Expensable__BulkSetToPaidsWebhookPayload; key: 'Webhooks > Expenses > Expensable > Bulk set to paids'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Expenses__Expensable__UpdateReimbursableAmountsWebhookPayload = ExpensesExpensable; export type PostWebhooks__Expenses__Expensable__UpdateReimbursableAmountsWebhookRequest = { body: PostWebhooks__Expenses__Expensable__UpdateReimbursableAmountsWebhookPayload; key: 'Webhooks > Expenses > Expensable > Update reimbursable amounts'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Finance__CostCenter__CreatesWebhookPayload = FinanceCostCenter; export type PostWebhooks__Finance__CostCenter__CreatesWebhookRequest = { body: PostWebhooks__Finance__CostCenter__CreatesWebhookPayload; key: 'Webhooks > Finance > CostCenter > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Finance__CostCenter__DeletesWebhookPayload = FinanceCostCenter; export type PostWebhooks__Finance__CostCenter__DeletesWebhookRequest = { body: PostWebhooks__Finance__CostCenter__DeletesWebhookPayload; key: 'Webhooks > Finance > CostCenter > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Finance__CostCenter__EditsWebhookPayload = FinanceCostCenter; export type PostWebhooks__Finance__CostCenter__EditsWebhookRequest = { body: PostWebhooks__Finance__CostCenter__EditsWebhookPayload; key: 'Webhooks > Finance > CostCenter > Edits'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Locations__Location__CreatesWebhookPayload = LocationsLocation; export type PostWebhooks__Locations__Location__CreatesWebhookRequest = { body: PostWebhooks__Locations__Location__CreatesWebhookPayload; key: 'Webhooks > Locations > Location > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Locations__Location__DeletesWebhookPayload = LocationsLocation; export type PostWebhooks__Locations__Location__DeletesWebhookRequest = { body: PostWebhooks__Locations__Location__DeletesWebhookPayload; key: 'Webhooks > Locations > Location > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Locations__Location__UpdatesWebhookPayload = LocationsLocation; export type PostWebhooks__Locations__Location__UpdatesWebhookRequest = { body: PostWebhooks__Locations__Location__UpdatesWebhookPayload; key: 'Webhooks > Locations > Location > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Payroll__PolicyPeriod__ChangeStatusesWebhookPayload = PayrollPolicyPeriod; export type PostWebhooks__Payroll__PolicyPeriod__ChangeStatusesWebhookRequest = { body: PostWebhooks__Payroll__PolicyPeriod__ChangeStatusesWebhookPayload; key: 'Webhooks > Payroll > PolicyPeriod > Change statuses'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Payroll__Supplement__CreatesWebhookPayload = PayrollSupplement; export type PostWebhooks__Payroll__Supplement__CreatesWebhookRequest = { body: PostWebhooks__Payroll__Supplement__CreatesWebhookPayload; key: 'Webhooks > Payroll > Supplement > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Payroll__Supplement__DeletesWebhookPayload = PayrollSupplement; export type PostWebhooks__Payroll__Supplement__DeletesWebhookRequest = { body: PostWebhooks__Payroll__Supplement__DeletesWebhookPayload; key: 'Webhooks > Payroll > Supplement > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Payroll__Supplement__UpdatesWebhookPayload = PayrollSupplement; export type PostWebhooks__Payroll__Supplement__UpdatesWebhookRequest = { body: PostWebhooks__Payroll__Supplement__UpdatesWebhookPayload; key: 'Webhooks > Payroll > Supplement > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__PayrollIntegrationsBase__Code__CreatesWebhookPayload = PayrollIntegrationsBaseCode; export type PostWebhooks__PayrollIntegrationsBase__Code__CreatesWebhookRequest = { body: PostWebhooks__PayrollIntegrationsBase__Code__CreatesWebhookPayload; key: 'Webhooks > PayrollIntegrationsBase > Code > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__PayrollIntegrationsBase__Code__DeletesWebhookPayload = PayrollIntegrationsBaseCode; export type PostWebhooks__PayrollIntegrationsBase__Code__DeletesWebhookRequest = { body: PostWebhooks__PayrollIntegrationsBase__Code__DeletesWebhookPayload; key: 'Webhooks > PayrollIntegrationsBase > Code > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__PayrollIntegrationsBase__Code__UpdatesWebhookPayload = PayrollIntegrationsBaseCode; export type PostWebhooks__PayrollIntegrationsBase__Code__UpdatesWebhookRequest = { body: PostWebhooks__PayrollIntegrationsBase__Code__UpdatesWebhookPayload; key: 'Webhooks > PayrollIntegrationsBase > Code > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__CreatesWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__CreatesWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__CreatesWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__CreateFromTemplatesWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__CreateFromTemplatesWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__CreateFromTemplatesWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Create from templates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__DeletesWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__DeletesWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__DeletesWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__DuplicatesWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__DuplicatesWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__DuplicatesWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Duplicates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__RemindInBulksWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__RemindInBulksWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__RemindInBulksWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Remind in bulks'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__RemoveSchedulesWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__RemoveSchedulesWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__RemoveSchedulesWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Remove schedules'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__ReopensWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__ReopensWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__ReopensWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Reopens'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__SchedulesWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__SchedulesWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__SchedulesWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Schedules'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__StartsWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__StartsWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__StartsWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Starts'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__StopsWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__StopsWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__StopsWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Stops'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__ToggleArchivesWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__ToggleArchivesWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__ToggleArchivesWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Toggle archives'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__UpdateAgreementsConfigurationsWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__UpdateAgreementsConfigurationsWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__UpdateAgreementsConfigurationsWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Update agreements configurations'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__UpdateBasicInfosWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__UpdateBasicInfosWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__UpdateBasicInfosWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Update basic infos'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__UpdateCompetenciesAssessmentsConfigurationsWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__UpdateCompetenciesAssessmentsConfigurationsWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__UpdateCompetenciesAssessmentsConfigurationsWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Update competencies assessments configurations'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__UpdateDeadlinesWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__UpdateDeadlinesWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__UpdateDeadlinesWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Update deadlines'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__UpdateEmployeeScoreConfigurationsWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__UpdateEmployeeScoreConfigurationsWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__UpdateEmployeeScoreConfigurationsWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Update employee score configurations'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__UpdateReviewerStrategiesWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__UpdateReviewerStrategiesWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__UpdateReviewerStrategiesWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Update reviewer strategies'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__UpdateSchedulesWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__UpdateSchedulesWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__UpdateSchedulesWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Update schedules'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Performance__ReviewProcess__UpdateTargetStrategiesWebhookPayload = PerformanceReviewProcess; export type PostWebhooks__Performance__ReviewProcess__UpdateTargetStrategiesWebhookRequest = { body: PostWebhooks__Performance__ReviewProcess__UpdateTargetStrategiesWebhookPayload; key: 'Webhooks > Performance > ReviewProcess > Update target strategies'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__ShiftManagement__Shift__BulkCreatesWebhookPayload = ShiftManagementShift; export type PostWebhooks__ShiftManagement__Shift__BulkCreatesWebhookRequest = { body: PostWebhooks__ShiftManagement__Shift__BulkCreatesWebhookPayload; key: 'Webhooks > ShiftManagement > Shift > Bulk creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__ShiftManagement__Shift__BulkDeletesWebhookPayload = ShiftManagementShift; export type PostWebhooks__ShiftManagement__Shift__BulkDeletesWebhookRequest = { body: PostWebhooks__ShiftManagement__Shift__BulkDeletesWebhookPayload; key: 'Webhooks > ShiftManagement > Shift > Bulk deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__ShiftManagement__Shift__CreatesWebhookPayload = ShiftManagementShift; export type PostWebhooks__ShiftManagement__Shift__CreatesWebhookRequest = { body: PostWebhooks__ShiftManagement__Shift__CreatesWebhookPayload; key: 'Webhooks > ShiftManagement > Shift > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__ShiftManagement__Shift__DeletesWebhookPayload = ShiftManagementShift; export type PostWebhooks__ShiftManagement__Shift__DeletesWebhookRequest = { body: PostWebhooks__ShiftManagement__Shift__DeletesWebhookPayload; key: 'Webhooks > ShiftManagement > Shift > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Tasks__Task__BulkCreatesWebhookPayload = TasksTask; export type PostWebhooks__Tasks__Task__BulkCreatesWebhookRequest = { body: PostWebhooks__Tasks__Task__BulkCreatesWebhookPayload; key: 'Webhooks > Tasks > Task > Bulk creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Tasks__Task__BulkDeletesWebhookPayload = TasksTask; export type PostWebhooks__Tasks__Task__BulkDeletesWebhookRequest = { body: PostWebhooks__Tasks__Task__BulkDeletesWebhookPayload; key: 'Webhooks > Tasks > Task > Bulk deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Tasks__Task__BulkUpdatesWebhookPayload = TasksTask; export type PostWebhooks__Tasks__Task__BulkUpdatesWebhookRequest = { body: PostWebhooks__Tasks__Task__BulkUpdatesWebhookPayload; key: 'Webhooks > Tasks > Task > Bulk updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Tasks__Task__CopiesWebhookPayload = TasksTask; export type PostWebhooks__Tasks__Task__CopiesWebhookRequest = { body: PostWebhooks__Tasks__Task__CopiesWebhookPayload; key: 'Webhooks > Tasks > Task > Copies'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Tasks__Task__CreatesWebhookPayload = TasksTask; export type PostWebhooks__Tasks__Task__CreatesWebhookRequest = { body: PostWebhooks__Tasks__Task__CreatesWebhookPayload; key: 'Webhooks > Tasks > Task > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Tasks__Task__CreateCommentsWebhookPayload = TasksTask; export type PostWebhooks__Tasks__Task__CreateCommentsWebhookRequest = { body: PostWebhooks__Tasks__Task__CreateCommentsWebhookPayload; key: 'Webhooks > Tasks > Task > Create comments'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Tasks__Task__DeletesWebhookPayload = TasksTask; export type PostWebhooks__Tasks__Task__DeletesWebhookRequest = { body: PostWebhooks__Tasks__Task__DeletesWebhookPayload; key: 'Webhooks > Tasks > Task > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Tasks__Task__UpdatesWebhookPayload = TasksTask; export type PostWebhooks__Tasks__Task__UpdatesWebhookRequest = { body: PostWebhooks__Tasks__Task__UpdatesWebhookPayload; key: 'Webhooks > Tasks > Task > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Teams__Membership__BulkUpsertsWebhookPayload = TeamsMembership; export type PostWebhooks__Teams__Membership__BulkUpsertsWebhookRequest = { body: PostWebhooks__Teams__Membership__BulkUpsertsWebhookPayload; key: 'Webhooks > Teams > Membership > Bulk upserts'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Teams__Membership__CreatesWebhookPayload = TeamsMembership; export type PostWebhooks__Teams__Membership__CreatesWebhookRequest = { body: PostWebhooks__Teams__Membership__CreatesWebhookPayload; key: 'Webhooks > Teams > Membership > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Teams__Membership__DeletesWebhookPayload = TeamsMembership; export type PostWebhooks__Teams__Membership__DeletesWebhookRequest = { body: PostWebhooks__Teams__Membership__DeletesWebhookPayload; key: 'Webhooks > Teams > Membership > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Teams__Membership__UpdatesWebhookPayload = TeamsMembership; export type PostWebhooks__Teams__Membership__UpdatesWebhookRequest = { body: PostWebhooks__Teams__Membership__UpdatesWebhookPayload; key: 'Webhooks > Teams > Membership > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Teams__Team__CreatesWebhookPayload = TeamsTeam; export type PostWebhooks__Teams__Team__CreatesWebhookRequest = { body: PostWebhooks__Teams__Team__CreatesWebhookPayload; key: 'Webhooks > Teams > Team > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Teams__Team__DeletesWebhookPayload = TeamsTeam; export type PostWebhooks__Teams__Team__DeletesWebhookRequest = { body: PostWebhooks__Teams__Team__DeletesWebhookPayload; key: 'Webhooks > Teams > Team > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Teams__Team__ProjectsWebhookPayload = TeamsTeam; export type PostWebhooks__Teams__Team__ProjectsWebhookRequest = { body: PostWebhooks__Teams__Team__ProjectsWebhookPayload; key: 'Webhooks > Teams > Team > Projects'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Teams__Team__UpdatesWebhookPayload = TeamsTeam; export type PostWebhooks__Teams__Team__UpdatesWebhookRequest = { body: PostWebhooks__Teams__Team__UpdatesWebhookPayload; key: 'Webhooks > Teams > Team > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__BlockedPeriod__CreatesWebhookPayload = TimeoffBlockedPeriodsPolicy; export type PostWebhooks__Timeoff__BlockedPeriod__CreatesWebhookRequest = { body: PostWebhooks__Timeoff__BlockedPeriod__CreatesWebhookPayload; key: 'Webhooks > Timeoff > BlockedPeriod > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__BlockedPeriod__DeletesWebhookPayload = TimeoffBlockedPeriodsPolicy; export type PostWebhooks__Timeoff__BlockedPeriod__DeletesWebhookRequest = { body: PostWebhooks__Timeoff__BlockedPeriod__DeletesWebhookPayload; key: 'Webhooks > Timeoff > BlockedPeriod > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__BlockedPeriod__UpdatesWebhookPayload = TimeoffBlockedPeriodsPolicy; export type PostWebhooks__Timeoff__BlockedPeriod__UpdatesWebhookRequest = { body: PostWebhooks__Timeoff__BlockedPeriod__UpdatesWebhookPayload; key: 'Webhooks > Timeoff > BlockedPeriod > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__LeaveType__CreatesWebhookPayload = TimeoffLeaveType; export type PostWebhooks__Timeoff__LeaveType__CreatesWebhookRequest = { body: PostWebhooks__Timeoff__LeaveType__CreatesWebhookPayload; key: 'Webhooks > Timeoff > LeaveType > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__LeaveType__UpdatesWebhookPayload = TimeoffLeaveType; export type PostWebhooks__Timeoff__LeaveType__UpdatesWebhookRequest = { body: PostWebhooks__Timeoff__LeaveType__UpdatesWebhookPayload; key: 'Webhooks > Timeoff > LeaveType > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__Leave__ApprovesWebhookPayload = TimeoffLeave; export type PostWebhooks__Timeoff__Leave__ApprovesWebhookRequest = { body: PostWebhooks__Timeoff__Leave__ApprovesWebhookPayload; key: 'Webhooks > Timeoff > Leave > Approves'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__Leave__CreatesWebhookPayload = TimeoffLeave; export type PostWebhooks__Timeoff__Leave__CreatesWebhookRequest = { body: PostWebhooks__Timeoff__Leave__CreatesWebhookPayload; key: 'Webhooks > Timeoff > Leave > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__Leave__DeletesWebhookPayload = TimeoffLeave; export type PostWebhooks__Timeoff__Leave__DeletesWebhookRequest = { body: PostWebhooks__Timeoff__Leave__DeletesWebhookPayload; key: 'Webhooks > Timeoff > Leave > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__Leave__RejectsWebhookPayload = TimeoffLeave; export type PostWebhooks__Timeoff__Leave__RejectsWebhookRequest = { body: PostWebhooks__Timeoff__Leave__RejectsWebhookPayload; key: 'Webhooks > Timeoff > Leave > Rejects'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__Leave__UpdatesWebhookPayload = TimeoffLeave; export type PostWebhooks__Timeoff__Leave__UpdatesWebhookRequest = { body: PostWebhooks__Timeoff__Leave__UpdatesWebhookPayload; key: 'Webhooks > Timeoff > Leave > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__Policy__CreatesWebhookPayload = TimeoffPolicy; export type PostWebhooks__Timeoff__Policy__CreatesWebhookRequest = { body: PostWebhooks__Timeoff__Policy__CreatesWebhookPayload; key: 'Webhooks > Timeoff > Policy > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__Policy__DeletesWebhookPayload = TimeoffPolicy; export type PostWebhooks__Timeoff__Policy__DeletesWebhookRequest = { body: PostWebhooks__Timeoff__Policy__DeletesWebhookPayload; key: 'Webhooks > Timeoff > Policy > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Timeoff__Policy__UpdatesWebhookPayload = TimeoffPolicy; export type PostWebhooks__Timeoff__Policy__UpdatesWebhookRequest = { body: PostWebhooks__Timeoff__Policy__UpdatesWebhookPayload; key: 'Webhooks > Timeoff > Policy > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Trainings__Category__CreatesWebhookPayload = TrainingsCategory; export type PostWebhooks__Trainings__Category__CreatesWebhookRequest = { body: PostWebhooks__Trainings__Category__CreatesWebhookPayload; key: 'Webhooks > Trainings > Category > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Trainings__Category__DeletesWebhookPayload = TrainingsCategory; export type PostWebhooks__Trainings__Category__DeletesWebhookRequest = { body: PostWebhooks__Trainings__Category__DeletesWebhookPayload; key: 'Webhooks > Trainings > Category > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Trainings__Training__BulkDeletesWebhookPayload = TrainingsTraining; export type PostWebhooks__Trainings__Training__BulkDeletesWebhookRequest = { body: PostWebhooks__Trainings__Training__BulkDeletesWebhookPayload; key: 'Webhooks > Trainings > Training > Bulk deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Trainings__Training__BulkUpdateCatalogsWebhookPayload = TrainingsTraining; export type PostWebhooks__Trainings__Training__BulkUpdateCatalogsWebhookRequest = { body: PostWebhooks__Trainings__Training__BulkUpdateCatalogsWebhookPayload; key: 'Webhooks > Trainings > Training > Bulk update catalogs'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Trainings__Training__CreatesWebhookPayload = TrainingsTraining; export type PostWebhooks__Trainings__Training__CreatesWebhookRequest = { body: PostWebhooks__Trainings__Training__CreatesWebhookPayload; key: 'Webhooks > Trainings > Training > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Trainings__Training__DeletesWebhookPayload = TrainingsTraining; export type PostWebhooks__Trainings__Training__DeletesWebhookRequest = { body: PostWebhooks__Trainings__Training__DeletesWebhookPayload; key: 'Webhooks > Trainings > Training > Deletes'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Trainings__Training__UpdatesWebhookPayload = TrainingsTraining; export type PostWebhooks__Trainings__Training__UpdatesWebhookRequest = { body: PostWebhooks__Trainings__Training__UpdatesWebhookPayload; key: 'Webhooks > Trainings > Training > Updates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__Trainings__Training__UpdateStatusesWebhookPayload = TrainingsTraining; export type PostWebhooks__Trainings__Training__UpdateStatusesWebhookRequest = { body: PostWebhooks__Trainings__Training__UpdateStatusesWebhookPayload; key: 'Webhooks > Trainings > Training > Update statuses'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__WorkSchedule__Schedule__CreatesWebhookPayload = WorkScheduleSchedule; export type PostWebhooks__WorkSchedule__Schedule__CreatesWebhookRequest = { body: PostWebhooks__WorkSchedule__Schedule__CreatesWebhookPayload; key: 'Webhooks > WorkSchedule > Schedule > Creates'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__WorkSchedule__Schedule__ToggleArchivesWebhookPayload = WorkScheduleSchedule; export type PostWebhooks__WorkSchedule__Schedule__ToggleArchivesWebhookRequest = { body: PostWebhooks__WorkSchedule__Schedule__ToggleArchivesWebhookPayload; key: 'Webhooks > WorkSchedule > Schedule > Toggle archives'; path?: never; query?: never; }; /** * Callback payload */ export type PostWebhooks__WorkSchedule__Schedule__UpdatesWebhookPayload = WorkScheduleSchedule; export type PostWebhooks__WorkSchedule__Schedule__UpdatesWebhookRequest = { body: PostWebhooks__WorkSchedule__Schedule__UpdatesWebhookPayload; key: 'Webhooks > WorkSchedule > Schedule > Updates'; path?: never; query?: never; }; //# sourceMappingURL=types.gen.d.ts.map