import { APIResource } from "../core/resource.js"; import * as BusinessPartnersAPI from "./business-partners.js"; import * as WorkersAPI from "./workers.js"; import { APIPromise } from "../core/api-promise.js"; import { PageCursorURL, PagePromise } from "../core/pagination.js"; import { RequestOptions } from "../internal/request-options.js"; /** * Compensation associated with workers */ export declare class ScheduledPayoutTypes extends APIResource { /** * List system and custom payout types, ordered by id. Per-entity earning code * mappings are configured in Rippling and are not part of this API. Paginated with * limit and cursor. * * - Requires: `Internal Testing` * * @example HTTP * Representative request and response shapes. * ``` * GET /scheduled-payout-types/?expand=expand&limit=0&cursor=cursor HTTP/1.1 * Host: rest.ripplingapis.com * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "__meta": { * "redacted_fields": [ * { * "name": "date_of_birth", * "reason": "Insufficient entitlements" * } * ] * }, * "results": [ * { * "id": "string", * "key": "string", * "display_name": "string", * "is_system": false, * "created_by_id": "string", * "created_by": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "user_id": "string", * "user": {}, * "is_manager": "string", * "manager_id": "string", * "manager": {}, * "legal_entity_id": "string", * "legal_entity": {}, * "country": "AF", * "start_date": "string", * "end_date": "string", * "number": "string", * "work_email": "string", * "personal_email": "string", * "status": "INIT", * "location": {}, * "employment_type_id": "string", * "employment_type": {}, * "gender": "MALE", * "date_of_birth": "string", * "race": "BLACK", * "ethnicity": "HISPANIC_OR_LATINO", * "citizenship": "AF", * "compensation_id": "string", * "compensation": {}, * "overtime_exemption": "EXEMPT", * "department_id": "string", * "department": {}, * "teams_id": [], * "teams": [], * "title": "string", * "title_effective_date": "string", * "level_id": "string", * "level": {}, * "job_function_id": "string", * "job_function": {}, * "termination_details": {}, * "pay_schedule_id": "string", * "work_schedule": {}, * "compensation_grade": {}, * "original_start_date": "string", * "custom_fields": [], * "country_fields": {}, * "business_partners_id": [], * "business_partners": [] * } * } * ], * "next_link": "string" * } * ``` */ list(query?: ScheduledPayoutTypeListParams | null | undefined, options?: RequestOptions): PagePromise; /** * Create a custom payout type. Omit key; the server assigns one. Creates are not * idempotent: repeating the request creates another payout type with a new key, * even with the same display_name. Use PATCH /scheduled-payout-types/{key}/ to * update. * * @example HTTP * Representative request and response shapes. * ``` * POST /scheduled-payout-types/ HTTP/1.1 * Host: rest.ripplingapis.com * Content-Type: application/json * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * { * "display_name": "display_name" * } * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "id": "string", * "key": "string", * "display_name": "string", * "is_system": false, * "created_by_id": "string", * "created_by": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "user_id": "string", * "user": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "is_manager": false, * "manager_id": "string", * "manager": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "legal_entity_id": "string", * "legal_entity": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "country": "AF", * "start_date": "string", * "end_date": "string", * "number": 0, * "work_email": "string", * "personal_email": "string", * "status": "INIT", * "location": { * "type": "REMOTE", * "work_location_id": "string" * }, * "employment_type_id": "string", * "employment_type": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "label": "string" * }, * "gender": "MALE", * "date_of_birth": "string", * "race": "BLACK", * "ethnicity": "HISPANIC_OR_LATINO", * "citizenship": "AF", * "compensation_id": "string", * "compensation": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "overtime_exemption": "EXEMPT", * "department_id": "string", * "department": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string", * "parent_id": "string" * }, * "teams_id": [ * "string" * ], * "teams": [ * { * "id": "string", * "created_at": "string", * "updated_at": "string", * "parent_id": "string", * "parent": {}, * "name": "string" * } * ], * "title": "string", * "title_effective_date": "string", * "level_id": "string", * "level": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string", * "parent_id": "string", * "parent": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string", * "parent_id": "string", * "parent": {}, * "global_level": "string", * "description": "string", * "scope_of_responsibilities": "string", * "experience_requirements": "string", * "rank": "string", * "track_id": "string", * "track": {} * }, * "global_level": 0, * "description": "string", * "scope_of_responsibilities": "string", * "experience_requirements": "string", * "rank": 0, * "track_id": "string", * "track": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string", * "is_default": "string", * "order": "string", * "start_global_level": "string" * } * }, * "job_function_id": "string", * "job_function": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string" * }, * "termination_details": { * "type": "VOLUNTARY", * "reason": "string" * }, * "pay_schedule_id": "string", * "work_schedule": {}, * "compensation_grade": { * "id": "string", * "label": "string" * }, * "original_start_date": "string", * "custom_fields": [ * null * ], * "country_fields": { * "us": { * "ssn": "string" * }, * "ca": { * "sin": "string" * }, * "nz": { * "ird_number": "string" * } * }, * "business_partners_id": [ * "string" * ], * "business_partners": [ * { * "id": "string", * "created_at": "string", * "updated_at": "string", * "business_partner_group_id": "string", * "business_partner_group": {}, * "worker_id": "string", * "worker": {}, * "client_group_id": "string", * "client_group": {}, * "client_group_member_count": "string" * } * ] * } * } * ``` */ create(body: ScheduledPayoutTypeCreateParams, options?: RequestOptions): APIPromise; /** * Retrieve a specific scheduled payout type by key. * * @example HTTP * Representative request and response shapes. * ``` * GET /scheduled-payout-types/{id}/ HTTP/1.1 * Host: rest.ripplingapis.com * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "__meta": { * "redacted_fields": [ * {} * ] * } * } * ``` */ retrieve(id: string, options?: RequestOptions): APIPromise; /** * Rename a custom payout type. Only display_name is writable. * * @example HTTP * Representative request and response shapes. * ``` * PATCH /scheduled-payout-types/{id}/ HTTP/1.1 * Host: rest.ripplingapis.com * Content-Type: application/json * Accept: application/json * Rippling-Api-Version: 2024-08-01 * * { * "display_name": "display_name" * } * * HTTP/1.1 200 OK * Content-Type: application/json * * { * "id": "string", * "key": "string", * "display_name": "string", * "is_system": false, * "created_by_id": "string", * "created_by": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "user_id": "string", * "user": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "is_manager": false, * "manager_id": "string", * "manager": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "legal_entity_id": "string", * "legal_entity": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "country": "AF", * "start_date": "string", * "end_date": "string", * "number": 0, * "work_email": "string", * "personal_email": "string", * "status": "INIT", * "location": { * "type": "REMOTE", * "work_location_id": "string" * }, * "employment_type_id": "string", * "employment_type": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "label": "string" * }, * "gender": "MALE", * "date_of_birth": "string", * "race": "BLACK", * "ethnicity": "HISPANIC_OR_LATINO", * "citizenship": "AF", * "compensation_id": "string", * "compensation": { * "id": "string", * "created_at": "string", * "updated_at": "string" * }, * "overtime_exemption": "EXEMPT", * "department_id": "string", * "department": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string", * "parent_id": "string" * }, * "teams_id": [ * "string" * ], * "teams": [ * { * "id": "string", * "created_at": "string", * "updated_at": "string", * "parent_id": "string", * "parent": {}, * "name": "string" * } * ], * "title": "string", * "title_effective_date": "string", * "level_id": "string", * "level": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string", * "parent_id": "string", * "parent": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string", * "parent_id": "string", * "parent": {}, * "global_level": "string", * "description": "string", * "scope_of_responsibilities": "string", * "experience_requirements": "string", * "rank": "string", * "track_id": "string", * "track": {} * }, * "global_level": 0, * "description": "string", * "scope_of_responsibilities": "string", * "experience_requirements": "string", * "rank": 0, * "track_id": "string", * "track": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string", * "is_default": "string", * "order": "string", * "start_global_level": "string" * } * }, * "job_function_id": "string", * "job_function": { * "id": "string", * "created_at": "string", * "updated_at": "string", * "name": "string" * }, * "termination_details": { * "type": "VOLUNTARY", * "reason": "string" * }, * "pay_schedule_id": "string", * "work_schedule": {}, * "compensation_grade": { * "id": "string", * "label": "string" * }, * "original_start_date": "string", * "custom_fields": [ * null * ], * "country_fields": { * "us": { * "ssn": "string" * }, * "ca": { * "sin": "string" * }, * "nz": { * "ird_number": "string" * } * }, * "business_partners_id": [ * "string" * ], * "business_partners": [ * { * "id": "string", * "created_at": "string", * "updated_at": "string", * "business_partner_group_id": "string", * "business_partner_group": {}, * "worker_id": "string", * "worker": {}, * "client_group_id": "string", * "client_group": {}, * "client_group_member_count": "string" * } * ] * } * } * ``` */ update(id: string, body: ScheduledPayoutTypeUpdateParams, options?: RequestOptions): APIPromise; /** * Delete a custom payout type. Built-in payout types cannot be deleted. Returns * 204 with no body. * * @example HTTP * Representative request and response shapes. * ``` * DELETE /scheduled-payout-types/{id}/ HTTP/1.1 * Host: rest.ripplingapis.com * Rippling-Api-Version: 2024-08-01 * * HTTP/1.1 204 No Content * ``` */ delete(id: string, options?: RequestOptions): APIPromise; } export type ScheduledPayoutTypeListResponsesPageCursorURL = PageCursorURL; export interface ScheduledPayoutTypeListResponse { /** * Unique identifier of the payout type, used in /scheduled-payout-types/{id}/ * paths. Always equal to key; both are returned because every resource exposes id * while payouts reference types by key (payout_type_id). */ id: string; /** * Display name of the payout type. */ display_name: string; /** * Whether this is a built-in payout type. */ is_system: boolean; /** * Stable payout type key assigned by the server on create. */ key: string; /** * Worker who created this custom payout type. Populated only with * expand=created_by, which requires workers.read. */ created_by?: WorkersAPI.Worker; /** * ID of the worker who created this custom payout type; null for built-in types. */ created_by_id?: string; } export interface ScheduledPayoutTypeCreateResponse { /** * Unique identifier of the payout type, used in /scheduled-payout-types/{id}/ * paths. Always equal to key; both are returned because every resource exposes id * while payouts reference types by key (payout_type_id). */ id: string; /** * Display name of the payout type. */ display_name: string; /** * Whether this is a built-in payout type. */ is_system: boolean; /** * Stable payout type key assigned by the server on create. */ key: string; /** * Worker who created this custom payout type. Populated only with * expand=created_by, which requires workers.read. */ created_by?: WorkersAPI.Worker; /** * ID of the worker who created this custom payout type; null for built-in types. */ created_by_id?: string; } /** * Meta information for the response. */ export interface ScheduledPayoutTypeRetrieveResponse extends BusinessPartnersAPI.Meta { /** * Unique identifier of the payout type, used in /scheduled-payout-types/{id}/ * paths. Always equal to key; both are returned because every resource exposes id * while payouts reference types by key (payout_type_id). */ id: string; /** * Display name of the payout type. */ display_name: string; /** * Whether this is a built-in payout type. */ is_system: boolean; /** * Stable payout type key assigned by the server on create. */ key: string; /** * Worker who created this custom payout type. Populated only with * expand=created_by, which requires workers.read. */ created_by?: WorkersAPI.Worker; /** * ID of the worker who created this custom payout type; null for built-in types. */ created_by_id?: string; } export interface ScheduledPayoutTypeUpdateResponse { /** * Unique identifier of the payout type, used in /scheduled-payout-types/{id}/ * paths. Always equal to key; both are returned because every resource exposes id * while payouts reference types by key (payout_type_id). */ id: string; /** * Display name of the payout type. */ display_name: string; /** * Whether this is a built-in payout type. */ is_system: boolean; /** * Stable payout type key assigned by the server on create. */ key: string; /** * Worker who created this custom payout type. Populated only with * expand=created_by, which requires workers.read. */ created_by?: WorkersAPI.Worker; /** * ID of the worker who created this custom payout type; null for built-in types. */ created_by_id?: string; } export interface ScheduledPayoutTypeListParams { /** * Opaque pagination cursor from the previous page's next_link. */ cursor?: string; /** * Set to created_by to include the creating Worker (requires workers.read). * Retrieve accepts the same value. */ expand?: string; /** * Page size. Defaults to 50. Maximum 100. */ limit?: number; } export interface ScheduledPayoutTypeCreateParams { /** * Display name of the payout type. */ display_name: string; } export interface ScheduledPayoutTypeUpdateParams { /** * Display name of the payout type. */ display_name: string; } export declare namespace ScheduledPayoutTypes { export { type ScheduledPayoutTypeListResponse as ScheduledPayoutTypeListResponse, type ScheduledPayoutTypeCreateResponse as ScheduledPayoutTypeCreateResponse, type ScheduledPayoutTypeRetrieveResponse as ScheduledPayoutTypeRetrieveResponse, type ScheduledPayoutTypeUpdateResponse as ScheduledPayoutTypeUpdateResponse, type ScheduledPayoutTypeListResponsesPageCursorURL as ScheduledPayoutTypeListResponsesPageCursorURL, type ScheduledPayoutTypeListParams as ScheduledPayoutTypeListParams, type ScheduledPayoutTypeCreateParams as ScheduledPayoutTypeCreateParams, type ScheduledPayoutTypeUpdateParams as ScheduledPayoutTypeUpdateParams, }; } //# sourceMappingURL=scheduled-payout-types.d.ts.map