UNPKG

@stackone/ai

Version:

Tools for agents to perform actions on your SaaS

1,494 lines (1,493 loc) 555 kB
//#region src/openapi/generated/hris.ts const hrisSpec = { openapi: "3.1.0", paths: { "/unified/hris/companies": { get: { operationId: "hris_list_companies", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", style: "deepObject", explode: true, schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,name,full_name,display_name,created_at,updated_at", type: "string" } }, { name: "filter", required: false, in: "query", description: "Filter parameters that allow greater customisation of the list response", explode: true, style: "deepObject", schema: { properties: { updated_after: { description: "Use a string with a date to only select results updated after that given date", example: "2020-01-01T00:00:00.000Z", type: "string", format: "date-time", nullable: true, additionalProperties: false } }, nullable: true, type: "object" } }, { name: "page", required: false, in: "query", description: "The page number of the results to fetch", deprecated: true, schema: { nullable: true, type: "string" } }, { name: "page_size", required: false, in: "query", description: "The number of results per page (default value is 25)", schema: { nullable: true, type: "string" } }, { name: "next", required: false, in: "query", description: "The unified cursor", schema: { nullable: true, type: "string" } }, { name: "updated_after", required: false, in: "query", description: "Use a string with a date to only select results updated after that given date", deprecated: true, schema: { format: "date-time", nullable: true, example: "2020-01-01T00:00:00.000Z", type: "string" } } ], responses: { "200": { description: "The list of Companies was retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/CompaniesPaginated" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "List Companies", tags: ["Companies"], "x-speakeasy-group": "hris", "x-speakeasy-name-override": "list_companies", "x-speakeasy-pagination": { type: "cursor", inputs: [{ name: "next", in: "parameters", type: "cursor" }], outputs: { nextCursor: "$.next" } }, "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/hris/companies/{id}": { get: { operationId: "hris_get_company", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", style: "deepObject", explode: true, schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,name,full_name,display_name,created_at,updated_at", type: "string" } } ], responses: { "200": { description: "The Company with the given identifier was retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/CompanyResult" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Get Company", tags: ["Companies"], "x-speakeasy-group": "hris", "x-speakeasy-name-override": "get_company", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/hris/custom_field_definitions/employees": { get: { operationId: "hris_list_employee_custom_field_definitions", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", style: "deepObject", explode: true, schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,name,description,type,options", type: "string" } }, { name: "filter", required: false, in: "query", description: "Filter parameters that allow greater customisation of the list response", explode: true, style: "deepObject", schema: { properties: { updated_after: { description: "Use a string with a date to only select results updated after that given date", example: "2020-01-01T00:00:00.000Z", type: "string", format: "date-time", nullable: true, additionalProperties: false } }, nullable: true, type: "object" } }, { name: "page", required: false, in: "query", description: "The page number of the results to fetch", deprecated: true, schema: { nullable: true, type: "string" } }, { name: "page_size", required: false, in: "query", description: "The number of results per page (default value is 25)", schema: { nullable: true, type: "string" } }, { name: "next", required: false, in: "query", description: "The unified cursor", schema: { nullable: true, type: "string" } }, { name: "updated_after", required: false, in: "query", description: "Use a string with a date to only select results updated after that given date", deprecated: true, schema: { format: "date-time", nullable: true, example: "2020-01-01T00:00:00.000Z", type: "string" } } ], responses: { "200": { description: "The list of employee custom field definitions was retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/CustomFieldDefinitionsPaginated" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "List employee Custom Field Definitions", tags: ["Custom Field Definitions"], "x-speakeasy-group": "hris", "x-speakeasy-name-override": "list_employee_custom_field_definitions", "x-speakeasy-pagination": { type: "cursor", inputs: [{ name: "next", in: "parameters", type: "cursor" }], outputs: { nextCursor: "$.next" } }, "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/hris/custom_field_definitions/employees/{id}": { get: { operationId: "hris_get_employee_custom_field_definition", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", style: "deepObject", explode: true, schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,name,description,type,options", type: "string" } }, { name: "filter", required: false, in: "query", description: "Filter parameters that allow greater customisation of the list response", explode: true, style: "deepObject", schema: { properties: { updated_after: { description: "Use a string with a date to only select results updated after that given date", example: "2020-01-01T00:00:00.000Z", type: "string", format: "date-time", nullable: true, additionalProperties: false } }, nullable: true, type: "object" } }, { name: "page", required: false, in: "query", description: "The page number of the results to fetch", deprecated: true, schema: { nullable: true, type: "string" } }, { name: "page_size", required: false, in: "query", description: "The number of results per page (default value is 25)", schema: { nullable: true, type: "string" } }, { name: "next", required: false, in: "query", description: "The unified cursor", schema: { nullable: true, type: "string" } }, { name: "updated_after", required: false, in: "query", description: "Use a string with a date to only select results updated after that given date", deprecated: true, schema: { format: "date-time", nullable: true, example: "2020-01-01T00:00:00.000Z", type: "string" } } ], responses: { "200": { description: "The employee custom field definition was retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/CustomFieldDefinitionResultApiModel" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Get employee Custom Field Definition", tags: ["Custom Field Definitions"], "x-speakeasy-group": "hris", "x-speakeasy-name-override": "get_employee_custom_field_definition", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/hris/employees": { get: { operationId: "hris_list_employees", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", style: "deepObject", explode: true, schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,first_name,last_name,name,display_name,gender,ethnicity,date_of_birth,birthday,marital_status,avatar_url,avatar,personal_email,personal_phone_number,work_email,work_phone_number,job_id,remote_job_id,job_title,job_description,department_id,remote_department_id,department,cost_centers,company,manager_id,remote_manager_id,hire_date,start_date,tenure,work_anniversary,employment_type,employment_contract_type,employment_status,termination_date,company_name,company_id,remote_company_id,preferred_language,citizenships,home_location,work_location,employments,custom_fields,created_at,updated_at,benefits,employee_number,national_identity_number,national_identity_numbers,skills", type: "string" } }, { name: "filter", required: false, in: "query", description: "HRIS Employees filters", explode: true, style: "deepObject", schema: { properties: { updated_after: { description: "Use a string with a date to only select results updated after that given date", example: "2020-01-01T00:00:00.000Z", type: "string", format: "date-time", nullable: true, additionalProperties: false }, email: { description: "Filter to select employees by email", type: "string", nullable: true }, employee_number: { description: "Filter to select employees by employee_number", type: "string", nullable: true } }, nullable: true, type: "object" } }, { name: "page", required: false, in: "query", description: "The page number of the results to fetch", deprecated: true, schema: { nullable: true, type: "string" } }, { name: "page_size", required: false, in: "query", description: "The number of results per page (default value is 25)", schema: { nullable: true, type: "string" } }, { name: "next", required: false, in: "query", description: "The unified cursor", schema: { nullable: true, type: "string" } }, { name: "updated_after", required: false, in: "query", description: "Use a string with a date to only select results updated after that given date", deprecated: true, schema: { format: "date-time", nullable: true, example: "2020-01-01T00:00:00.000Z", type: "string" } }, { name: "expand", required: false, in: "query", description: "The comma separated list of fields that will be expanded in the response", schema: { nullable: true, example: "company,employments,work_location,home_location,groups,skills", type: "string" } }, { name: "include", required: false, in: "query", description: "The comma separated list of fields that will be included in the response", schema: { nullable: true, example: "avatar_url,avatar,custom_fields,job_description,benefits", type: "string" } } ], responses: { "200": { description: "The list of employees was retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/EmployeesPaginated" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "List Employees", tags: ["Employees"], "x-speakeasy-group": "hris", "x-speakeasy-name-override": "list_employees", "x-speakeasy-pagination": { type: "cursor", inputs: [{ name: "next", in: "parameters", type: "cursor" }], outputs: { nextCursor: "$.next" } }, "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" }, "x-speakeasy-usage-example": { title: "List Employees", position: 1 } }, post: { operationId: "hris_create_employee", parameters: [{ name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }], requestBody: { required: true, content: { "application/json": { schema: { $ref: "#/components/schemas/HrisCreateEmployeeRequestDto" } } } }, responses: { "201": { description: "The employee was created successfully.", content: { "application/json": { schema: { $ref: "#/components/schemas/CreateResult" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Create Employee", tags: ["Employees"], "x-speakeasy-group": "hris", "x-speakeasy-name-override": "create_employee", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/hris/employees/{id}": { get: { operationId: "hris_get_employee", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", style: "deepObject", explode: true, schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,first_name,last_name,name,display_name,gender,ethnicity,date_of_birth,birthday,marital_status,avatar_url,avatar,personal_email,personal_phone_number,work_email,work_phone_number,job_id,remote_job_id,job_title,job_description,department_id,remote_department_id,department,cost_centers,company,manager_id,remote_manager_id,hire_date,start_date,tenure,work_anniversary,employment_type,employment_contract_type,employment_status,termination_date,company_name,company_id,remote_company_id,preferred_language,citizenships,home_location,work_location,employments,custom_fields,created_at,updated_at,benefits,employee_number,national_identity_number,national_identity_numbers,skills", type: "string" } }, { name: "expand", required: false, in: "query", description: "The comma separated list of fields that will be expanded in the response", schema: { nullable: true, example: "company,employments,work_location,home_location,groups,skills", type: "string" } }, { name: "include", required: false, in: "query", description: "The comma separated list of fields that will be included in the response", schema: { nullable: true, example: "avatar_url,avatar,custom_fields,job_description,benefits", type: "string" } } ], responses: { "200": { description: "The employee with the given identifier was retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/EmployeeResult" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Get Employee", tags: ["Employees"], "x-speakeasy-group": "hris", "x-speakeasy-name-override": "get_employee", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } }, patch: { operationId: "hris_update_employee", parameters: [{ name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }], requestBody: { required: true, content: { "application/json": { schema: { $ref: "#/components/schemas/HrisUpdateEmployeeRequestDto" } } } }, responses: { "200": { description: "Record updated successfully", content: { "application/json": { schema: { $ref: "#/components/schemas/UpdateResult" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Update Employee", tags: ["Employees"], "x-speakeasy-group": "hris", "x-speakeasy-name-override": "update_employee", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/hris/employees/{id}/invite": { post: { operationId: "hris_invite_employee", parameters: [{ name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }], requestBody: { required: true, content: { "application/json": { schema: { $ref: "#/components/schemas/HrisInviteEmployeeRequestDto" } } } }, responses: { "200": { description: "Record invited successfully", content: { "application/json": { schema: { $ref: "#/components/schemas/InviteEmployeeResult" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } }, security: [{ basic: [] }], summary: "Invite Employee", tags: ["Employees"], "x-speakeasy-group": "hris", "x-speakeasy-name-override": "invite_employee", "x-speakeasy-retries": { statusCodes: [429, 408], strategy: "backoff" } } }, "/unified/hris/employees/{id}/time_off": { get: { operationId: "hris_list_employee_time_off_requests", parameters: [ { name: "x-account-id", in: "header", description: "The account identifier", required: true, schema: { type: "string" } }, { name: "id", required: true, in: "path", schema: { type: "string" } }, { name: "raw", required: false, in: "query", description: "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", schema: { nullable: true, type: "boolean" } }, { name: "proxy", required: false, in: "query", description: "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", style: "deepObject", explode: true, schema: { additionalProperties: true, nullable: true, type: "object" } }, { name: "fields", required: false, in: "query", description: "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", schema: { nullable: true, example: "id,remote_id,employee_id,remote_employee_id,approver_id,remote_approver_id,status,type,start_date,end_date,start_half_day,end_half_day,time_off_policy_id,remote_time_off_policy_id,reason,comment,duration,created_at,updated_at,policy", type: "string" } }, { name: "filter", required: false, in: "query", description: "HRIS Time Off filters", explode: true, style: "deepObject", schema: { properties: { updated_after: { description: "Use a string with a date to only select results updated after that given date", example: "2020-01-01T00:00:00.000Z", type: "string", format: "date-time", nullable: true, additionalProperties: false }, type_ids: { description: "List of time off type ids to filter by.", nullable: true, type: "array", items: { type: "string" } } }, nullable: true, type: "object" } }, { name: "page", required: false, in: "query", description: "The page number of the results to fetch", deprecated: true, schema: { nullable: true, type: "string" } }, { name: "page_size", required: false, in: "query", description: "The number of results per page (default value is 25)", schema: { nullable: true, type: "string" } }, { name: "next", required: false, in: "query", description: "The unified cursor", schema: { nullable: true, type: "string" } }, { name: "updated_after", required: false, in: "query", description: "Use a string with a date to only select results updated after that given date", deprecated: true, schema: { format: "date-time", nullable: true, example: "2020-01-01T00:00:00.000Z", type: "string" } }, { name: "expand", required: false, in: "query", description: "The comma separated list of fields that will be expanded in the response", schema: { nullable: true, example: "policy", type: "string" } } ], responses: { "200": { description: "The time off requests related to the employee with the given identifier were retrieved.", content: { "application/json": { schema: { $ref: "#/components/schemas/TimeOffPaginated" } } } }, "400": { description: "Invalid request.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadRequestResponse" } } } }, "401": { description: "Unauthorized access.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnauthorizedResponse" } } } }, "403": { description: "Forbidden.", content: { "application/json": { schema: { $ref: "#/components/schemas/ForbiddenResponse" } } } }, "404": { description: "Resource not found.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotFoundResponse" } } } }, "408": { description: "The request has timed out.", headers: { "Retry-After": { description: "A time in seconds after which the request can be retried.", schema: { type: "string" } } }, content: { "application/json": { schema: { $ref: "#/components/schemas/RequestTimedOutResponse" } } } }, "409": { description: "Conflict with current state.", content: { "application/json": { schema: { $ref: "#/components/schemas/ConflictResponse" } } } }, "412": { description: "Precondition failed: linked account belongs to a disabled integration.", content: { "application/json": { schema: { $ref: "#/components/schemas/PreconditionFailedResponse" } } } }, "422": { description: "Validation error.", content: { "application/json": { schema: { $ref: "#/components/schemas/UnprocessableEntityResponse" } } } }, "429": { description: "Too many requests.", content: { "application/json": { schema: { $ref: "#/components/schemas/TooManyRequestsResponse" } } } }, "500": { description: "Server error while executing the request.", content: { "application/json": { schema: { $ref: "#/components/schemas/InternalServerErrorResponse" } } } }, "501": { description: "This functionality is not implemented.", content: { "application/json": { schema: { $ref: "#/components/schemas/NotImplementedResponse" } } } }, "502": { description: "Bad gateway error.", content: { "application/json": { schema: { $ref: "#/components/schemas/BadGatewayResponse" } } } } },