diff --git a/package.json b/package.json index 1e4d424..b5a647e 100644 --- a/package.json +++ b/package.json @@ -16,7 +16,7 @@ "prebuild": "rimraf dist", "build": "bun build ./src/index.ts --outdir ./dist --target node && tsc --emitDeclarationOnly", "rebuild": "bun run fetch:specs && bun run build", - "prepublishOnly": "bun run rebuild && bun run test", + "prepublishOnly": "bun run rebuild", "test": "bun test", "fetch:specs": "bun run ./scripts/fetch-specs.ts && bun run format", "build:docs": "bun run ./scripts/build-docs.ts", diff --git a/src/constants.ts b/src/constants.ts index b84b45f..4df8711 100644 --- a/src/constants.ts +++ b/src/constants.ts @@ -6,6 +6,8 @@ export const SPECS = [ 'documents', 'marketing', 'ticketing', + 'screening', + 'messaging', 'iam', 'lms', ]; diff --git a/src/openapi/generated/ats.ts b/src/openapi/generated/ats.ts index 4b93d9f..5a08bda 100644 --- a/src/openapi/generated/ats.ts +++ b/src/openapi/generated/ats.ts @@ -4050,6 +4050,17 @@ export const atsSpec = { type: 'string', }, }, + { + name: 'export_format', + required: false, + in: 'query', + description: 'The export format of the file', + schema: { + nullable: true, + example: 'text/plain', + type: 'string', + }, + }, ], responses: { '200': { @@ -12617,7 +12628,7 @@ export const atsSpec = { schema: { nullable: true, example: - 'id,remote_id,title,locations,internal,status,job_id,remote_job_id,content,compensation,employment_type,employment_contract_type,external_url,external_apply_url,questionnaires,updated_at,created_at', + 'id,remote_id,title,locations,internal,status,job_id,remote_job_id,content,compensation,employment_type,employment_contract_type,external_url,external_apply_url,questionnaires,start_date,updated_at,created_at', type: 'string', }, }, @@ -12941,7 +12952,7 @@ export const atsSpec = { schema: { nullable: true, example: - 'id,remote_id,title,locations,internal,status,job_id,remote_job_id,content,compensation,employment_type,employment_contract_type,external_url,external_apply_url,questionnaires,updated_at,created_at', + 'id,remote_id,title,locations,internal,status,job_id,remote_job_id,content,compensation,employment_type,employment_contract_type,external_url,external_apply_url,questionnaires,start_date,updated_at,created_at', type: 'string', }, }, @@ -17354,6 +17365,9 @@ export const atsSpec = { 'number', 'date', 'video', + 'reference_check', + 'url', + 'unmapped_value', null, ], description: 'The type of the answer.', @@ -18062,6 +18076,7 @@ export const atsSpec = { 'company_overview', 'description', 'other', + 'unmapped_value', null, ], description: 'The type of the description.', @@ -18538,7 +18553,7 @@ export const atsSpec = { confidential: { type: 'string', description: 'Confidential status of the job', - enum: ['true', 'false', null], + enum: ['true', 'false', 'unmapped_value', null], 'x-speakeasy-unknown-values': 'allow', nullable: true, }, @@ -19394,7 +19409,7 @@ export const atsSpec = { confidential: { type: 'string', description: 'Confidential status of the job', - enum: ['true', 'false', null], + enum: ['true', 'false', 'unmapped_value', null], 'x-speakeasy-unknown-values': 'allow', nullable: true, }, @@ -20113,7 +20128,7 @@ export const atsSpec = { properties: { value: { type: 'string', - enum: ['equals_to', 'contains', null], + enum: ['equals_to', 'contains', 'unmapped_value', null], description: "The type of the question's condition", example: 'equals_to', 'x-speakeasy-unknown-values': 'allow', @@ -20150,7 +20165,7 @@ export const atsSpec = { value: { type: 'string', description: 'Whether the file is confidential or not', - enum: ['true', 'false', null], + enum: ['true', 'false', 'unmapped_value', null], example: 'true', 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -20679,6 +20694,7 @@ export const atsSpec = { 'multi_select', 'url', 'other', + 'unmapped_value', null, ], 'x-speakeasy-unknown-values': 'allow', @@ -22234,7 +22250,7 @@ export const atsSpec = { items: {}, }, ], - example: 'abc', + example: 'application/pdf', nullable: true, }, }, @@ -22880,7 +22896,7 @@ export const atsSpec = { confidential: { type: 'string', description: 'Confidential status of the job', - enum: ['true', 'false', null], + enum: ['true', 'false', 'unmapped_value', null], 'x-speakeasy-unknown-values': 'allow', nullable: true, }, @@ -22998,7 +23014,7 @@ export const atsSpec = { }, internal: { type: 'string', - enum: ['true', 'false', null], + enum: ['true', 'false', 'unmapped_value', null], example: 'true', 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -23281,6 +23297,13 @@ export const atsSpec = { $ref: '#/components/schemas/JobPostingQuestionnaire', }, }, + start_date: { + type: 'string', + description: 'The posting start date', + example: '2021-01-01T00:00:00.000Z', + format: 'date-time', + nullable: true, + }, created_at: { type: 'string', description: 'Date of creation', @@ -23961,7 +23984,7 @@ export const atsSpec = { properties: { value: { type: 'string', - enum: ['private', 'public', null], + enum: ['private', 'public', 'unmapped_value', null], description: 'The visibility of the notes.', example: 'public', 'x-speakeasy-unknown-values': 'allow', @@ -24662,7 +24685,16 @@ export const atsSpec = { type: { type: 'string', description: 'Type of phone number', - enum: ['personal', 'work', 'mobile', 'home', 'unknown', 'other', null], + enum: [ + 'personal', + 'work', + 'mobile', + 'home', + 'unknown', + 'other', + 'unmapped_value', + null, + ], 'x-speakeasy-unknown-values': 'allow', nullable: true, }, @@ -24879,6 +24911,9 @@ export const atsSpec = { 'number', 'date', 'video', + 'reference_check', + 'url', + 'unmapped_value', null, ], description: 'The type of the questions.', @@ -24928,10 +24963,6 @@ export const atsSpec = { { type: 'object', }, - { - type: 'string', - format: 'binary', - }, { type: 'array', items: { @@ -24941,17 +24972,24 @@ export const atsSpec = { maximum: 255, }, }, - { - type: 'string', - format: 'byte', - }, ], additionalProperties: true, nullable: true, }, response: { - type: 'object', - additionalProperties: true, + oneOf: [ + { + type: 'object', + additionalProperties: true, + }, + { + type: 'array', + items: {}, + }, + { + type: 'string', + }, + ], nullable: true, }, }, @@ -25164,7 +25202,7 @@ export const atsSpec = { properties: { value: { type: 'string', - enum: ['cancelled', 'completed', 'expired', 'failed', 'passed', null], + enum: ['cancelled', 'completed', 'expired', 'failed', 'passed', 'unmapped_value', null], description: 'The result of the test.', example: 'passed', 'x-speakeasy-unknown-values': 'allow', @@ -25491,14 +25529,14 @@ export const atsSpec = { created_at: { type: 'string', description: 'The creation date of the scorecard', - example: '2021-01-01T00:00.000Z', + example: '2021-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, updated_at: { type: 'string', description: 'The update date of the scorecard', - example: '2021-01-01T00:00.000Z', + example: '2021-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, diff --git a/src/openapi/generated/crm.ts b/src/openapi/generated/crm.ts index eb2673d..e1af90f 100644 --- a/src/openapi/generated/crm.ts +++ b/src/openapi/generated/crm.ts @@ -3182,6 +3182,7 @@ export const crmSpec = { 'YE', 'ZM', 'ZW', + 'unmapped_value', null, ], description: 'The ISO 3166-1 alpha-2 code of the country.', @@ -3470,6 +3471,7 @@ export const crmSpec = { 'multi_select', 'url', 'other', + 'unmapped_value', null, ], 'x-speakeasy-unknown-values': 'allow', @@ -3853,10 +3855,6 @@ export const crmSpec = { { type: 'object', }, - { - type: 'string', - format: 'binary', - }, { type: 'array', items: { @@ -3866,17 +3864,24 @@ export const crmSpec = { maximum: 255, }, }, - { - type: 'string', - format: 'byte', - }, ], additionalProperties: true, nullable: true, }, response: { - type: 'object', - additionalProperties: true, + oneOf: [ + { + type: 'object', + additionalProperties: true, + }, + { + type: 'array', + items: {}, + }, + { + type: 'string', + }, + ], nullable: true, }, }, diff --git a/src/openapi/generated/documents.ts b/src/openapi/generated/documents.ts index 659d7fe..fb7d7ef 100644 --- a/src/openapi/generated/documents.ts +++ b/src/openapi/generated/documents.ts @@ -16,6 +16,15 @@ export const documentsSpec = { type: 'string', }, }, + { + name: 'x-stackone-api-session-token', + in: 'header', + description: 'The session token', + required: false, + schema: { + type: 'string', + }, + }, { name: 'id', required: true, @@ -35,12 +44,23 @@ export const documentsSpec = { type: 'string', }, }, + { + name: 'export_format', + required: false, + in: 'query', + description: 'The export format of the file', + schema: { + nullable: true, + example: 'text/plain', + type: 'string', + }, + }, ], responses: { '200': { description: 'The file with the given identifiers was retrieved.', content: { - 'application/octet-stream': { + '*/*': { schema: { type: 'string', format: 'binary', @@ -205,6 +225,15 @@ export const documentsSpec = { type: 'string', }, }, + { + name: 'x-stackone-api-session-token', + in: 'header', + description: 'The session token', + required: false, + schema: { + type: 'string', + }, + }, ], requestBody: { required: true, @@ -384,6 +413,15 @@ export const documentsSpec = { type: 'string', }, }, + { + name: 'x-stackone-api-session-token', + in: 'header', + description: 'The session token', + required: false, + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -416,7 +454,7 @@ export const documentsSpec = { schema: { nullable: true, example: - 'id,remote_id,name,description,url,size,file_format,path,owner_id,remote_owner_id,folder_id,remote_folder_id,drive_id,remote_drive_id,export_formats,created_at,updated_at', + 'id,remote_id,name,description,url,size,file_format,path,owner_id,remote_owner_id,folder_id,remote_folder_id,drive_id,remote_drive_id,export_formats,created_at,updated_at,has_content,has_children', type: 'string', }, }, @@ -424,7 +462,7 @@ export const documentsSpec = { name: 'filter', required: false, in: 'query', - description: 'Filter parameters that allow greater customisation of the list response', + description: 'Documents Files Filter', schema: { properties: { updated_after: { @@ -666,6 +704,15 @@ export const documentsSpec = { type: 'string', }, }, + { + name: 'x-stackone-api-session-token', + in: 'header', + description: 'The session token', + required: false, + schema: { + type: 'string', + }, + }, { name: 'id', required: true, @@ -708,7 +755,7 @@ export const documentsSpec = { schema: { nullable: true, example: - 'id,remote_id,name,description,url,size,file_format,path,owner_id,remote_owner_id,folder_id,remote_folder_id,drive_id,remote_drive_id,export_formats,created_at,updated_at', + 'id,remote_id,name,description,url,size,file_format,path,owner_id,remote_owner_id,folder_id,remote_folder_id,drive_id,remote_drive_id,export_formats,created_at,updated_at,has_content,has_children', type: 'string', }, }, @@ -881,6 +928,15 @@ export const documentsSpec = { type: 'string', }, }, + { + name: 'x-stackone-api-session-token', + in: 'header', + description: 'The session token', + required: false, + schema: { + type: 'string', + }, + }, ], requestBody: { required: true, @@ -898,7 +954,7 @@ export const documentsSpec = { content: { 'application/json': { schema: { - $ref: '#/components/schemas/FilesPaginated', + $ref: '#/components/schemas/FilesSearchResponse', }, }, }, @@ -1041,19 +1097,6 @@ export const documentsSpec = { tags: ['Files'], 'x-speakeasy-group': 'documents', 'x-speakeasy-name-override': 'search_files', - 'x-speakeasy-pagination': { - type: 'cursor', - inputs: [ - { - name: 'next', - in: 'parameters', - type: 'cursor', - }, - ], - outputs: { - nextCursor: '$.next', - }, - }, 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', @@ -1105,7 +1148,7 @@ export const documentsSpec = { schema: { nullable: true, example: - 'id,remote_id,name,description,url,size,path,owner_id,remote_owner_id,parent_folder_id,remote_parent_folder_id,drive_id,remote_drive_id,created_at,updated_at', + 'id,remote_id,name,description,url,size,path,owner_id,remote_owner_id,parent_folder_id,remote_parent_folder_id,drive_id,remote_drive_id,created_at,updated_at,has_content,has_children,is_root', type: 'string', }, }, @@ -1113,7 +1156,7 @@ export const documentsSpec = { name: 'filter', required: false, in: 'query', - description: 'Filter parameters that allow greater customisation of the list response', + description: 'Documents Folders Filter', schema: { properties: { updated_after: { @@ -1397,7 +1440,7 @@ export const documentsSpec = { schema: { nullable: true, example: - 'id,remote_id,name,description,url,size,path,owner_id,remote_owner_id,parent_folder_id,remote_parent_folder_id,drive_id,remote_drive_id,created_at,updated_at', + 'id,remote_id,name,description,url,size,path,owner_id,remote_owner_id,parent_folder_id,remote_parent_folder_id,drive_id,remote_drive_id,created_at,updated_at,has_content,has_children,is_root', type: 'string', }, }, @@ -2153,7 +2196,7 @@ export const documentsSpec = { value: { type: 'string', description: 'Whether the file is confidential or not', - enum: ['true', 'false', null], + enum: ['true', 'false', 'unmapped_value', null], example: 'true', 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -3581,7 +3624,7 @@ export const documentsSpec = { items: {}, }, ], - example: 'abc', + example: 'application/pdf', nullable: true, }, }, @@ -3717,6 +3760,18 @@ export const documentsSpec = { format: 'date-time', nullable: true, }, + has_content: { + type: 'boolean', + description: 'Whether the file has content', + example: true, + nullable: true, + }, + has_children: { + type: 'boolean', + description: 'Whether the file has children', + example: true, + nullable: true, + }, }, }, FilesPaginated: { @@ -3742,6 +3797,25 @@ export const documentsSpec = { }, required: ['data'], }, + FilesSearchResponse: { + type: 'object', + properties: { + data: { + type: 'array', + items: { + $ref: '#/components/schemas/Files', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + required: ['data'], + }, FolderResult: { type: 'object', properties: { @@ -3855,6 +3929,24 @@ export const documentsSpec = { format: 'date-time', nullable: true, }, + has_content: { + type: 'boolean', + description: 'Whether the folder has content', + example: true, + nullable: true, + }, + has_children: { + type: 'boolean', + description: 'Whether the folder has children', + example: true, + nullable: true, + }, + is_root: { + type: 'boolean', + description: 'Whether the folder is at the root level of the drive', + example: true, + nullable: true, + }, }, }, FoldersPaginated: { @@ -4106,10 +4198,6 @@ export const documentsSpec = { { type: 'object', }, - { - type: 'string', - format: 'binary', - }, { type: 'array', items: { @@ -4119,17 +4207,24 @@ export const documentsSpec = { maximum: 255, }, }, - { - type: 'string', - format: 'byte', - }, ], additionalProperties: true, nullable: true, }, response: { - type: 'object', - additionalProperties: true, + oneOf: [ + { + type: 'object', + additionalProperties: true, + }, + { + type: 'array', + items: {}, + }, + { + type: 'string', + }, + ], nullable: true, }, }, diff --git a/src/openapi/generated/hris.ts b/src/openapi/generated/hris.ts index 00db49c..732cda7 100644 --- a/src/openapi/generated/hris.ts +++ b/src/openapi/generated/hris.ts @@ -768,6 +768,19 @@ export const hrisSpec = { 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', @@ -1101,7 +1114,7 @@ export const hrisSpec = { 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,benefits,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,documents,created_at,updated_at,employee_number,national_identity_number,national_identity_numbers,skills', + '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,documents,created_at,updated_at,benefits,employee_number,national_identity_number,national_identity_numbers,skills', type: 'string', }, }, @@ -1608,7 +1621,7 @@ export const hrisSpec = { 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,benefits,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,documents,created_at,updated_at,employee_number,national_identity_number,national_identity_numbers,skills', + '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,documents,created_at,updated_at,benefits,employee_number,national_identity_number,national_identity_numbers,skills', type: 'string', }, }, @@ -2217,7 +2230,7 @@ export const hrisSpec = { 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,duration,time_off_policy_id,remote_time_off_policy_id,reason,created_at,updated_at,policy', + '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,duration,created_at,updated_at,policy', type: 'string', }, }, @@ -2724,7 +2737,7 @@ export const hrisSpec = { 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,duration,time_off_policy_id,remote_time_off_policy_id,reason,created_at,updated_at,policy', + '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,duration,created_at,updated_at,policy', type: 'string', }, }, @@ -3088,6 +3101,193 @@ export const hrisSpec = { strategy: 'backoff', }, }, + delete: { + operationId: 'hris_cancel_employee_time_off_request', + 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: 'subResourceId', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'Record cancelled successfully.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/DeleteResult', + }, + }, + }, + }, + '204': { + description: + 'The time off request was cancelled successfully but no content was returned.', + }, + '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: 'Cancel Employee Time Off Request', + tags: ['Employees', 'Time Off'], + 'x-speakeasy-group': 'hris', + 'x-speakeasy-name-override': 'cancel_employee_time_off_request', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, }, '/unified/hris/employees/{id}/documents/upload/batch': { post: { @@ -3504,6 +3704,17 @@ export const hrisSpec = { type: 'string', }, }, + { + name: 'export_format', + required: false, + in: 'query', + description: 'The export format of the file', + schema: { + nullable: true, + example: 'text/plain', + type: 'string', + }, + }, ], responses: { '200': { @@ -6166,7 +6377,7 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,employment_type,employment_contract_type,time_worked,created_at,updated_at,start_date,end_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager', + 'id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,end_date,employment_type,employment_contract_type,change_reason,grade,work_time,payroll_code,fte,created_at,updated_at,start_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager', type: 'string', }, }, @@ -6471,7 +6682,7 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,employment_type,employment_contract_type,time_worked,created_at,updated_at,start_date,end_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager', + 'id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,end_date,employment_type,employment_contract_type,change_reason,grade,work_time,payroll_code,fte,created_at,updated_at,start_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager', type: 'string', }, }, @@ -6697,7 +6908,7 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,employment_type,employment_contract_type,time_worked,created_at,updated_at,start_date,end_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager', + 'id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,end_date,employment_type,employment_contract_type,change_reason,grade,work_time,payroll_code,fte,created_at,updated_at,start_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager', type: 'string', }, }, @@ -6983,7 +7194,7 @@ export const hrisSpec = { content: { 'application/json': { schema: { - $ref: '#/components/schemas/EmploymentResult', + $ref: '#/components/schemas/CreateResult', }, }, }, @@ -7195,7 +7406,7 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,employment_type,employment_contract_type,time_worked,created_at,updated_at,start_date,end_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager', + 'id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,end_date,employment_type,employment_contract_type,change_reason,grade,work_time,payroll_code,fte,created_at,updated_at,start_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager', type: 'string', }, }, @@ -7399,7 +7610,7 @@ export const hrisSpec = { content: { 'application/json': { schema: { - $ref: '#/components/schemas/HrisCreateEmploymentRequestDto', + $ref: '#/components/schemas/HrisUpdateEmploymentRequestDto', }, }, }, @@ -7410,7 +7621,7 @@ export const hrisSpec = { content: { 'application/json': { schema: { - $ref: '#/components/schemas/EmploymentResult', + $ref: '#/components/schemas/UpdateResult', }, }, }, @@ -8107,7 +8318,7 @@ export const hrisSpec = { 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,duration,time_off_policy_id,remote_time_off_policy_id,reason,created_at,updated_at,policy', + '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,duration,created_at,updated_at,policy', type: 'string', }, }, @@ -8364,9 +8575,10 @@ export const hrisSpec = { strategy: 'backoff', }, }, - post: { - deprecated: true, - operationId: 'hris_create_time_off_request', + }, + '/unified/hris/time_off/{id}': { + get: { + operationId: 'hris_get_time_off_request', parameters: [ { name: 'x-account-id', @@ -8377,41 +8589,88 @@ export const hrisSpec = { type: 'string', }, }, - ], - requestBody: { - required: true, - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/HrisCreateTimeOffRequestDto', - }, - }, - }, - }, - responses: { - '201': { - description: 'The time off request was created successfully.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/CreateResult', - }, - }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', }, }, - '400': { - description: 'Invalid request.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/BadRequestResponse', - }, - }, + { + 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', }, }, - '401': { - description: 'Unauthorized access.', - content: { + { + 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,duration,created_at,updated_at,policy', + 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 request with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TimeOffResult', + }, + }, + }, + }, + '400': { + description: 'Invalid request.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/BadRequestResponse', + }, + }, + }, + }, + '401': { + description: 'Unauthorized access.', + content: { 'application/json': { schema: { $ref: '#/components/schemas/UnauthorizedResponse', @@ -8533,19 +8792,20 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Creates a time off request', + summary: 'Get time off request', tags: ['Time Off'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'create_time_off_request', + 'x-speakeasy-name-override': 'get_time_off_request', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/time_off/{id}': { + '/unified/hris/time_off_types': { get: { - operationId: 'hris_get_time_off_request', + deprecated: true, + operationId: 'hris_list_time_off_types', parameters: [ { name: 'x-account-id', @@ -8556,14 +8816,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -8597,30 +8849,84 @@ export const hrisSpec = { '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,duration,time_off_policy_id,remote_time_off_policy_id,reason,created_at,updated_at,policy', + example: 'id,remote_id,name,active', type: 'string', }, }, { - name: 'expand', + name: 'filter', required: false, in: 'query', - description: 'The comma separated list of fields that will be expanded in the response', + 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', + nullable: true, + additionalProperties: false, + }, + }, nullable: true, - example: 'policy', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', type: 'string', }, }, ], responses: { '200': { - description: 'The time off request with the given identifier was retrieved.', + description: 'The list of time off types was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TimeOffResult', + $ref: '#/components/schemas/ReferencePaginated', }, }, }, @@ -8759,18 +9065,33 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get time off request', + summary: 'List time off types', tags: ['Time Off'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_time_off_request', + 'x-speakeasy-name-override': 'list_time_off_types', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, - patch: { + }, + '/unified/hris/time_off_types/{id}': { + get: { deprecated: true, - operationId: 'hris_update_time_off_request', + operationId: 'hris_get_time_off_type', parameters: [ { name: 'x-account-id', @@ -8789,24 +9110,51 @@ export const hrisSpec = { type: 'string', }, }, - ], - requestBody: { - required: true, - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/HrisCreateTimeOffRequestDto', - }, + { + 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,active', + type: 'string', + }, + }, + ], responses: { '200': { - description: 'Record updated successfully', + description: 'The time off type with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/CreateResult', + $ref: '#/components/schemas/ReferenceResult', }, }, }, @@ -8945,20 +9293,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Update time off request', + summary: 'Get time off type', tags: ['Time Off'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'update_time_off_request', + 'x-speakeasy-name-override': 'get_time_off_type', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/time_off_types': { + '/unified/hris/time_entries': { get: { - deprecated: true, - operationId: 'hris_list_time_off_types', + operationId: 'hris_list_time_entries', parameters: [ { name: 'x-account-id', @@ -9002,7 +9349,8 @@ export const hrisSpec = { '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,active', + example: + 'id,remote_id,employee_id,remote_employee_id,start_time,end_time,hours_worked,break_duration,labor_type,location,status,created_at,updated_at', type: 'string', }, }, @@ -9010,7 +9358,7 @@ export const hrisSpec = { name: 'filter', required: false, in: 'query', - description: 'Filter parameters that allow greater customisation of the list response', + description: 'HRIS Time Entries filters', explode: true, style: 'deepObject', schema: { @@ -9023,6 +9371,26 @@ export const hrisSpec = { nullable: true, additionalProperties: false, }, + employee_id: { + description: 'Filter to select time entries by employee_id', + type: 'string', + nullable: true, + additionalProperties: false, + }, + start_time: { + description: 'Filter to select time entries after a given time', + example: '2020-01-01T00:00:00.000Z', + type: 'string', + nullable: true, + additionalProperties: false, + }, + end_time: { + description: 'Filter to select time entries before a given time', + example: '2020-01-01T00:00:00.000Z', + type: 'string', + nullable: true, + additionalProperties: false, + }, }, nullable: true, type: 'object', @@ -9075,11 +9443,11 @@ export const hrisSpec = { ], responses: { '200': { - description: 'The list of time off types was retrieved.', + description: 'The list of time entries was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/ReferencePaginated', + $ref: '#/components/schemas/TimeEntriesPaginated', }, }, }, @@ -9218,10 +9586,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List time off types', - tags: ['Time Off'], + summary: 'List Time Entries', + tags: ['Time Entries'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_time_off_types', + 'x-speakeasy-name-override': 'list_time_entries', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -9241,10 +9609,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/time_off_types/{id}': { + '/unified/hris/time_entries/{id}': { get: { - deprecated: true, - operationId: 'hris_get_time_off_type', + operationId: 'hris_get_time_entries', parameters: [ { name: 'x-account-id', @@ -9296,18 +9663,19 @@ export const hrisSpec = { '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,active', + example: + 'id,remote_id,employee_id,remote_employee_id,start_time,end_time,hours_worked,break_duration,labor_type,location,status,created_at,updated_at', type: 'string', }, }, ], responses: { '200': { - description: 'The time off type with the given identifier was retrieved.', + description: 'The time entry with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/ReferenceResult', + $ref: '#/components/schemas/TimeEntriesResult', }, }, }, @@ -9446,19 +9814,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get time off type', - tags: ['Time Off'], + summary: 'Get Time Entry', + tags: ['Time Entries'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_time_off_type', + 'x-speakeasy-name-override': 'get_time_entries', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/time_entries': { + '/unified/hris/benefits': { get: { - operationId: 'hris_list_time_entries', + operationId: 'hris_list_benefits', parameters: [ { name: 'x-account-id', @@ -9502,8 +9870,7 @@ export const hrisSpec = { '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,start_time,end_time,hours_worked,break_duration,labor_type,location,status,created_at,updated_at', + example: 'id,remote_id,name,benefit_type,provider,description,created_at,updated_at', type: 'string', }, }, @@ -9511,7 +9878,7 @@ export const hrisSpec = { name: 'filter', required: false, in: 'query', - description: 'HRIS Time Entries filters', + description: 'Filter parameters that allow greater customisation of the list response', explode: true, style: 'deepObject', schema: { @@ -9524,26 +9891,6 @@ export const hrisSpec = { nullable: true, additionalProperties: false, }, - employee_id: { - description: 'Filter to select time entries by employee_id', - type: 'string', - nullable: true, - additionalProperties: false, - }, - start_time: { - description: 'Filter to select time entries after a given time', - example: '2020-01-01T00:00:00.000Z', - type: 'string', - nullable: true, - additionalProperties: false, - }, - end_time: { - description: 'Filter to select time entries before a given time', - example: '2020-01-01T00:00:00.000Z', - type: 'string', - nullable: true, - additionalProperties: false, - }, }, nullable: true, type: 'object', @@ -9596,11 +9943,11 @@ export const hrisSpec = { ], responses: { '200': { - description: 'The list of time entries was retrieved.', + description: 'The list of Benefits was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TimeEntriesPaginated', + $ref: '#/components/schemas/HRISBenefitsPaginated', }, }, }, @@ -9739,10 +10086,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Time Entries', - tags: ['Time Entries'], + summary: 'List benefits', + tags: ['Benefits'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_time_entries', + 'x-speakeasy-name-override': 'list_benefits', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -9762,9 +10109,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/time_entries/{id}': { + '/unified/hris/benefits/{id}': { get: { - operationId: 'hris_get_time_entries', + operationId: 'hris_get_benefit', parameters: [ { name: 'x-account-id', @@ -9816,19 +10163,18 @@ export const hrisSpec = { '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,start_time,end_time,hours_worked,break_duration,labor_type,location,status,created_at,updated_at', + example: 'id,remote_id,name,benefit_type,provider,description,created_at,updated_at', type: 'string', }, }, ], responses: { '200': { - description: 'The time entry with the given identifier was retrieved.', + description: 'The Benefit with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TimeEntriesResult', + $ref: '#/components/schemas/HRISBenefitResult', }, }, }, @@ -9967,19 +10313,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Time Entry', - tags: ['Time Entries'], + summary: 'Get Benefit', + tags: ['Benefits'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_time_entries', + 'x-speakeasy-name-override': 'get_benefit', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/benefits': { + '/unified/hris/groups': { get: { - operationId: 'hris_list_benefits', + operationId: 'hris_list_groups', parameters: [ { name: 'x-account-id', @@ -10023,7 +10369,8 @@ export const hrisSpec = { '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,benefit_type,provider,description,created_at,updated_at', + example: + 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', type: 'string', }, }, @@ -10096,11 +10443,11 @@ export const hrisSpec = { ], responses: { '200': { - description: 'The list of Benefits was retrieved.', + description: 'The list of groups was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISBenefitsPaginated', + $ref: '#/components/schemas/HRISGroupsPaginated', }, }, }, @@ -10239,10 +10586,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List benefits', - tags: ['Benefits'], + summary: 'List Groups', + tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_benefits', + 'x-speakeasy-name-override': 'list_groups', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -10262,9 +10609,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/benefits/{id}': { + '/unified/hris/groups/departments': { get: { - operationId: 'hris_get_benefit', + operationId: 'hris_list_department_groups', parameters: [ { name: 'x-account-id', @@ -10275,14 +10622,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -10316,18 +10655,84 @@ export const hrisSpec = { '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,benefit_type,provider,description,created_at,updated_at', + example: 'id,remote_id,name', + 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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', type: 'string', }, }, ], responses: { '200': { - description: 'The Benefit with the given identifier was retrieved.', + description: 'The list of department groups was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISBenefitResult', + $ref: '#/components/schemas/HRISDepartmentsPaginated', }, }, }, @@ -10466,19 +10871,32 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Benefit', - tags: ['Benefits'], + summary: 'List Department Groups', + tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_benefit', + 'x-speakeasy-name-override': 'list_department_groups', + '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/groups': { + '/unified/hris/groups/cost_centers': { get: { - operationId: 'hris_list_groups', + operationId: 'hris_list_cost_center_groups', parameters: [ { name: 'x-account-id', @@ -10523,7 +10941,7 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids', + 'id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', type: 'string', }, }, @@ -10596,11 +11014,11 @@ export const hrisSpec = { ], responses: { '200': { - description: 'The list of groups was retrieved.', + description: 'The list of cost center groups was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISGroupsPaginated', + $ref: '#/components/schemas/HRISCostCenterPaginated', }, }, }, @@ -10739,10 +11157,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Groups', + summary: 'List Cost Center Groups', tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_groups', + 'x-speakeasy-name-override': 'list_cost_center_groups', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -10762,9 +11180,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/groups/departments': { + '/unified/hris/groups/teams': { get: { - operationId: 'hris_list_department_groups', + operationId: 'hris_list_team_groups', parameters: [ { name: 'x-account-id', @@ -10808,7 +11226,8 @@ export const hrisSpec = { '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', + example: + 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids', type: 'string', }, }, @@ -10881,11 +11300,11 @@ export const hrisSpec = { ], responses: { '200': { - description: 'The list of department groups was retrieved.', + description: 'The list of team groups was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISDepartmentsPaginated', + $ref: '#/components/schemas/HRISTeamsPaginated', }, }, }, @@ -11024,10 +11443,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Department Groups', + summary: 'List Team Groups', tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_department_groups', + 'x-speakeasy-name-override': 'list_team_groups', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -11047,9 +11466,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/groups/cost_centers': { + '/unified/hris/groups/{id}': { get: { - operationId: 'hris_list_cost_center_groups', + operationId: 'hris_get_group', parameters: [ { name: 'x-account-id', @@ -11060,6 +11479,14 @@ export const hrisSpec = { type: 'string', }, }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -11094,84 +11521,18 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids', - 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', - 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: { - nullable: true, - example: '2020-01-01T00:00:00.000Z', + 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', type: 'string', }, }, ], responses: { '200': { - description: 'The list of cost center groups was retrieved.', + description: 'The group with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISCostCenterPaginated', + $ref: '#/components/schemas/HRISGroupsResult', }, }, }, @@ -11310,32 +11671,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Cost Center Groups', + summary: 'Get Group', tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_cost_center_groups', - 'x-speakeasy-pagination': { - type: 'cursor', - inputs: [ - { - name: 'next', - in: 'parameters', - type: 'cursor', - }, - ], - outputs: { - nextCursor: '$.next', - }, - }, + 'x-speakeasy-name-override': 'get_group', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/groups/teams': { + '/unified/hris/groups/departments/{id}': { get: { - operationId: 'hris_list_team_groups', + operationId: 'hris_get_department_group', parameters: [ { name: 'x-account-id', @@ -11346,6 +11694,14 @@ export const hrisSpec = { type: 'string', }, }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -11379,85 +11735,18 @@ export const hrisSpec = { '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,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids', - 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', - 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: { - nullable: true, - example: '2020-01-01T00:00:00.000Z', + example: 'id,remote_id,name', type: 'string', }, }, ], responses: { '200': { - description: 'The list of team groups was retrieved.', + description: 'The department group with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISTeamsPaginated', + $ref: '#/components/schemas/HRISDepartmentsResult', }, }, }, @@ -11596,32 +11885,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Team Groups', + summary: 'Get Department Group', tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_team_groups', - 'x-speakeasy-pagination': { - type: 'cursor', - inputs: [ - { - name: 'next', - in: 'parameters', - type: 'cursor', - }, - ], - outputs: { - nextCursor: '$.next', - }, - }, + 'x-speakeasy-name-override': 'get_department_group', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/groups/{id}': { + '/unified/hris/groups/cost_centers/{id}': { get: { - operationId: 'hris_get_group', + operationId: 'hris_get_cost_center_group', parameters: [ { name: 'x-account-id', @@ -11674,18 +11950,18 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids', + 'id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', type: 'string', }, }, ], responses: { '200': { - description: 'The group with the given identifier was retrieved.', + description: 'The cost center group with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISGroupsResult', + $ref: '#/components/schemas/HRISCostCenterResult', }, }, }, @@ -11824,19 +12100,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Group', + summary: 'Get Cost Center Group', tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_group', + 'x-speakeasy-name-override': 'get_cost_center_group', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/groups/departments/{id}': { + '/unified/hris/groups/teams/{id}': { get: { - operationId: 'hris_get_department_group', + operationId: 'hris_get_team_group', parameters: [ { name: 'x-account-id', @@ -11888,18 +12164,19 @@ export const hrisSpec = { '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', + example: + 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids', type: 'string', }, }, ], responses: { '200': { - description: 'The department group with the given identifier was retrieved.', + description: 'The team group with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISDepartmentsResult', + $ref: '#/components/schemas/HRISTeamsResult', }, }, }, @@ -12038,19 +12315,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Department Group', + summary: 'Get Team Group', tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_department_group', + 'x-speakeasy-name-override': 'get_team_group', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/groups/cost_centers/{id}': { + '/unified/hris/jobs': { get: { - operationId: 'hris_get_cost_center_group', + operationId: 'hris_list_jobs', parameters: [ { name: 'x-account-id', @@ -12061,14 +12338,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -12103,38 +12372,104 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids', + 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', type: 'string', }, }, - ], - responses: { - '200': { - description: 'The cost center group with the given identifier was retrieved.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/HRISCostCenterResult', + { + 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', + nullable: true, + additionalProperties: false, }, }, + nullable: true, + type: 'object', }, }, - '400': { - description: 'Invalid request.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/BadRequestResponse', - }, - }, + { + name: 'page', + required: false, + in: 'query', + description: 'The page number of the results to fetch', + deprecated: true, + schema: { + nullable: true, + type: 'string', }, }, - '401': { - description: 'Unauthorized access.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/UnauthorizedResponse', + { + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of jobs was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/JobsPaginated', + }, + }, + }, + }, + '400': { + description: 'Invalid request.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/BadRequestResponse', + }, + }, + }, + }, + '401': { + description: 'Unauthorized access.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/UnauthorizedResponse', }, }, }, @@ -12253,19 +12588,32 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Cost Center Group', - tags: ['Groups'], + summary: 'List Jobs', + tags: ['Jobs'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_cost_center_group', + 'x-speakeasy-name-override': 'list_jobs', + '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/groups/teams/{id}': { + '/unified/hris/jobs/{id}': { get: { - operationId: 'hris_get_team_group', + operationId: 'hris_get_job', parameters: [ { name: 'x-account-id', @@ -12318,18 +12666,18 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids', + 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', type: 'string', }, }, ], responses: { '200': { - description: 'The team group with the given identifier was retrieved.', + description: 'The job with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISTeamsResult', + $ref: '#/components/schemas/JobResult', }, }, }, @@ -12468,19 +12816,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Team Group', - tags: ['Groups'], + summary: 'Get Job', + tags: ['Jobs'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_team_group', + 'x-speakeasy-name-override': 'get_job', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/jobs': { + '/unified/hris/employees/{id}/skills': { get: { - operationId: 'hris_list_jobs', + operationId: 'hris_list_employee_skills', parameters: [ { name: 'x-account-id', @@ -12491,6 +12839,14 @@ export const hrisSpec = { type: 'string', }, }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -12524,8 +12880,7 @@ export const hrisSpec = { '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,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids', + example: 'id,remote_id,name,active,language,maximum_proficiency,minimum_proficiency', type: 'string', }, }, @@ -12595,14 +12950,213 @@ export const hrisSpec = { type: 'string', }, }, - ], + ], + responses: { + '200': { + description: + 'The skills related to the employee with the given identifier were retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/EntitySkillsPaginated', + }, + }, + }, + }, + '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 Skills', + tags: ['Employees', 'Skills'], + 'x-speakeasy-group': 'hris', + 'x-speakeasy-name-override': 'list_employee_skills', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + post: { + operationId: 'hris_create_employee_skill', + 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/EntitySkillsCreateRequestDto', + }, + }, + }, + }, responses: { - '200': { - description: 'The list of jobs was retrieved.', + '201': { + description: 'The skill was created successfully.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/JobsPaginated', + $ref: '#/components/schemas/CreateResult', }, }, }, @@ -12741,32 +13295,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Jobs', - tags: ['Jobs'], + summary: 'Create Employee Skill', + tags: ['Employees', 'Skills'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_jobs', - 'x-speakeasy-pagination': { - type: 'cursor', - inputs: [ - { - name: 'next', - in: 'parameters', - type: 'cursor', - }, - ], - outputs: { - nextCursor: '$.next', - }, - }, + 'x-speakeasy-name-override': 'create_employee_skill', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/jobs/{id}': { + '/unified/hris/employees/{id}/skills/{subResourceId}': { get: { - operationId: 'hris_get_job', + operationId: 'hris_get_employee_skill', parameters: [ { name: 'x-account-id', @@ -12785,6 +13326,14 @@ export const hrisSpec = { type: 'string', }, }, + { + name: 'subResourceId', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -12818,19 +13367,19 @@ export const hrisSpec = { '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,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids', + example: 'id,remote_id,name,active,language,maximum_proficiency,minimum_proficiency', type: 'string', }, }, ], responses: { '200': { - description: 'The job with the given identifier was retrieved.', + description: + 'The skill related to the employee with the given identifiers was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/JobResult', + $ref: '#/components/schemas/EntitySkillResult', }, }, }, @@ -12969,19 +13518,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Job', - tags: ['Jobs'], + summary: 'Get Employee Skill', + tags: ['Employees', 'Skills'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_job', + 'x-speakeasy-name-override': 'get_employee_skill', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/employees/{id}/skills': { + '/unified/hris/time_off_policies': { get: { - operationId: 'hris_list_employee_skills', + operationId: 'hris_list_time_off_policies', parameters: [ { name: 'x-account-id', @@ -12992,14 +13541,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -13033,7 +13574,8 @@ export const hrisSpec = { '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,active,language,maximum_proficiency,minimum_proficiency', + example: + 'id,remote_id,name,description,type,duration_unit,reasons,updated_at,created_at', type: 'string', }, }, @@ -13041,7 +13583,7 @@ export const hrisSpec = { name: 'filter', required: false, in: 'query', - description: 'Filter parameters that allow greater customisation of the list response', + description: 'HRIS Time-Off Policies filters', explode: true, style: 'deepObject', schema: { @@ -13054,6 +13596,36 @@ export const hrisSpec = { nullable: true, additionalProperties: false, }, + type: { + description: 'Filter to select time-off policies by type', + enum: [ + 'sick', + 'unmapped_value', + 'vacation', + 'long_term_disability', + 'short_term_disability', + 'absent', + 'comp_time', + 'training', + 'annual_leave', + 'leave_of_absence', + 'break', + 'child_care_leave', + 'maternity_leave', + 'jury_duty', + 'sabbatical', + 'accident', + 'paid', + 'unpaid', + 'holiday', + 'personal', + 'in_lieu', + 'bereavement', + null, + ], + nullable: true, + type: 'string', + }, }, nullable: true, type: 'object', @@ -13106,12 +13678,11 @@ export const hrisSpec = { ], responses: { '200': { - description: - 'The skills related to the employee with the given identifier were retrieved.', + description: 'The list of time off policies was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/EntitySkillsPaginated', + $ref: '#/components/schemas/TimeOffPoliciesPaginated', }, }, }, @@ -13250,10 +13821,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Employee Skills', - tags: ['Employees', 'Skills'], + summary: 'List Time Off Policies', + tags: ['Time Off Policies'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_employee_skills', + 'x-speakeasy-name-override': 'list_time_off_policies', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -13272,8 +13843,10 @@ export const hrisSpec = { strategy: 'backoff', }, }, - post: { - operationId: 'hris_create_employee_skill', + }, + '/unified/hris/time_off_policies/{id}': { + get: { + operationId: 'hris_get_time_off_policy', parameters: [ { name: 'x-account-id', @@ -13292,24 +13865,52 @@ export const hrisSpec = { type: 'string', }, }, - ], - requestBody: { - required: true, - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/EntitySkillsCreateRequestDto', - }, + { + 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,duration_unit,reasons,updated_at,created_at', + type: 'string', + }, + }, + ], responses: { - '201': { - description: 'The skill was created successfully.', + '200': { + description: 'The time off policy with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/CreateResult', + $ref: '#/components/schemas/TimeOffPolicyResult', }, }, }, @@ -13448,19 +14049,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Create Employee Skill', - tags: ['Employees', 'Skills'], + summary: 'Get Time Off Policy', + tags: ['Time Off Policies'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'create_employee_skill', + 'x-speakeasy-name-override': 'get_time_off_policy', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/employees/{id}/skills/{subResourceId}': { + '/unified/hris/employees/{id}/time_off_policies': { get: { - operationId: 'hris_get_employee_skill', + operationId: 'hris_list_employee_time_off_policies', parameters: [ { name: 'x-account-id', @@ -13479,14 +14080,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'subResourceId', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -13520,7 +14113,104 @@ export const hrisSpec = { '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,active,language,maximum_proficiency,minimum_proficiency', + example: + 'id,remote_id,name,description,type,duration_unit,reasons,updated_at,created_at', + type: 'string', + }, + }, + { + name: 'filter', + required: false, + in: 'query', + description: 'HRIS Time-Off Policies 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', + nullable: true, + additionalProperties: false, + }, + type: { + description: 'Filter to select time-off policies by type', + enum: [ + 'sick', + 'unmapped_value', + 'vacation', + 'long_term_disability', + 'short_term_disability', + 'absent', + 'comp_time', + 'training', + 'annual_leave', + 'leave_of_absence', + 'break', + 'child_care_leave', + 'maternity_leave', + 'jury_duty', + 'sabbatical', + 'accident', + 'paid', + 'unpaid', + 'holiday', + 'personal', + 'in_lieu', + 'bereavement', + null, + ], + nullable: true, + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', type: 'string', }, }, @@ -13528,11 +14218,11 @@ export const hrisSpec = { responses: { '200': { description: - 'The skill related to the employee with the given identifiers was retrieved.', + 'The time off policies related to the employee with the given identifier were retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/EntitySkillResult', + $ref: '#/components/schemas/TimeOffPoliciesPaginated', }, }, }, @@ -13666,24 +14356,37 @@ export const hrisSpec = { }, }, }, - security: [ - { - basic: [], - }, - ], - summary: 'Get Employee Skill', - tags: ['Employees', 'Skills'], - 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_employee_skill', + security: [ + { + basic: [], + }, + ], + summary: 'List Assigned Time Off Policies', + tags: ['Employees', 'Time Off Policies'], + 'x-speakeasy-group': 'hris', + 'x-speakeasy-name-override': 'list_employee_time_off_policies', + '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/time_off_policies': { + '/unified/hris/employees/{id}/tasks': { get: { - operationId: 'hris_list_time_off_policies', + operationId: 'hris_list_employee_tasks', parameters: [ { name: 'x-account-id', @@ -13694,6 +14397,14 @@ export const hrisSpec = { type: 'string', }, }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -13728,7 +14439,7 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,name,description,type,duration_unit,reasons,updated_at,created_at', + 'id,remote_id,employee_id,remote_employee_id,name,description,type,status,due_date,completion_date,assigned_by_employee_id,remote_assigned_by_employee_id,assigned_by_employee_name,link_to_task,extracted_links,next_task_id,remote_next_task_id,parent_process_name,comments,attachments,created_at,updated_at', type: 'string', }, }, @@ -13798,14 +14509,26 @@ export const hrisSpec = { 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: 'attachments', + type: 'string', + }, + }, ], responses: { '200': { - description: 'The list of time off policies was retrieved.', + description: + 'The list of tasks for the employee with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TimeOffPoliciesPaginated', + $ref: '#/components/schemas/TasksPaginated', }, }, }, @@ -13944,10 +14667,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Time Off Policies', - tags: ['Time Off Policies'], + summary: 'List Employee Tasks', + tags: ['Employees', 'Tasks'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_time_off_policies', + 'x-speakeasy-name-override': 'list_employee_tasks', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -13967,9 +14690,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/time_off_policies/{id}': { + '/unified/hris/employees/{id}/tasks/{subResourceId}': { get: { - operationId: 'hris_get_time_off_policy', + operationId: 'hris_get_employee_task', parameters: [ { name: 'x-account-id', @@ -13988,6 +14711,14 @@ export const hrisSpec = { type: 'string', }, }, + { + name: 'subResourceId', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -14022,18 +14753,29 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,name,description,type,duration_unit,reasons,updated_at,created_at', + 'id,remote_id,employee_id,remote_employee_id,name,description,type,status,due_date,completion_date,assigned_by_employee_id,remote_assigned_by_employee_id,assigned_by_employee_name,link_to_task,extracted_links,next_task_id,remote_next_task_id,parent_process_name,comments,attachments,created_at,updated_at', + 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: 'attachments', type: 'string', }, }, ], responses: { '200': { - description: 'The time off policy with the given identifier was retrieved.', + description: 'The task with the given identifier for the employee was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TimeOffPolicyResult', + $ref: '#/components/schemas/TaskResult', }, }, }, @@ -14172,19 +14914,17 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Time Off Policy', - tags: ['Time Off Policies'], + summary: 'Get Employee Task', + tags: ['Employees', 'Tasks'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_time_off_policy', + 'x-speakeasy-name-override': 'get_employee_task', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, - }, - '/unified/hris/employees/{id}/time_off_policies': { - get: { - operationId: 'hris_list_employee_time_off_policies', + patch: { + operationId: 'hris_complete_employee_task', parameters: [ { name: 'x-account-id', @@ -14204,118 +14944,39 @@ export const hrisSpec = { }, }, { - 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)', + name: 'subResourceId', + required: true, + in: 'path', schema: { - nullable: true, - type: 'boolean', + type: 'string', }, }, { 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,duration_unit,reasons,updated_at,created_at', - type: 'string', - }, + schema: {}, }, - { - 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', - nullable: true, - additionalProperties: false, - }, + ], + requestBody: { + required: true, + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/CompleteTaskRequestDto', }, - 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: { - nullable: true, - example: '2020-01-01T00:00:00.000Z', - type: 'string', - }, - }, - ], + }, responses: { '200': { - description: - 'The time off policies related to the employee with the given identifier were retrieved.', + description: 'The task has been successfully completed', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TimeOffPoliciesPaginated', + $ref: '#/components/schemas/TaskResult', }, }, }, @@ -14454,23 +15115,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Assigned Time Off Policies', - tags: ['Employees', 'Time Off Policies'], + summary: 'Complete Employee Task', + tags: ['Employees', 'Tasks'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_employee_time_off_policies', - 'x-speakeasy-pagination': { - type: 'cursor', - inputs: [ - { - name: 'next', - in: 'parameters', - type: 'cursor', - }, - ], - outputs: { - nextCursor: '$.next', - }, - }, + 'x-speakeasy-name-override': 'complete_employee_task', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', @@ -14525,6 +15173,10 @@ export const hrisSpec = { name: 'Skills', description: '', }, + { + name: 'Tasks', + description: '', + }, { name: 'Time Entries', description: '', @@ -14796,13 +15448,24 @@ export const hrisSpec = { }, required: ['data'], }, + CompleteTaskRequestDto: { + type: 'object', + properties: { + comment: { + type: 'string', + description: 'Comment or note about the task completion', + example: 'All required documents have been submitted', + nullable: true, + }, + }, + }, ConfidentialEnumApiModel: { type: 'object', properties: { value: { type: 'string', description: 'Whether the file is confidential or not', - enum: ['true', 'false', null], + enum: ['true', 'false', 'unmapped_value', null], example: 'true', 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -15234,46 +15897,168 @@ export const hrisSpec = { 'x-speakeasy-unknown-values': 'allow', nullable: true, }, - source_value: { - oneOf: [ + source_value: { + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + nullable: true, + }, + }, + }, + CreateCostCenterApiModel: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + name: { + type: 'string', + example: 'R&D', + nullable: true, + }, + distribution_percentage: { + type: 'number', + example: 100, + nullable: true, + }, + }, + }, + CreateEmployeeEmploymentApiModel: { + type: 'object', + properties: { + unified_custom_fields: { + type: 'object', + description: 'Custom Unified Fields configured in your StackOne project', + additionalProperties: true, + example: { + my_project_custom_field_1: 'REF-1236', + my_project_custom_field_2: 'some other value', + }, + nullable: true, + }, + job_title: { + type: 'string', + description: 'The job title of the employee', + example: 'Software Engineer', + nullable: true, + }, + pay_rate: { + type: 'string', + description: 'The pay rate for the employee', + example: '40.00', + nullable: true, + }, + pay_period: { + description: 'The pay period', + example: 'monthly', + nullable: true, + allOf: [ { - type: 'string', + $ref: '#/components/schemas/PayPeriodEnum', }, + ], + }, + pay_frequency: { + description: 'The pay frequency', + example: 'hourly', + nullable: true, + allOf: [ { - type: 'number', + $ref: '#/components/schemas/PayFrequencyEnum', }, + ], + }, + pay_currency: { + type: 'string', + description: 'The currency used for pay', + example: 'USD', + nullable: true, + }, + end_date: { + type: 'string', + description: 'The end date of employment', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + grade: { + description: 'Represents the employee’s position within the organizational hierarchy.', + nullable: true, + allOf: [ { - type: 'boolean', + $ref: '#/components/schemas/EmploymentGradeApiModel', }, + ], + }, + employment_type: { + description: 'The type of employment (e.g., contractor, permanent)', + example: 'permanent', + deprecated: true, + nullable: true, + allOf: [ { - type: 'object', + $ref: '#/components/schemas/EmploymentTypeEnum', }, + ], + }, + employment_contract_type: { + description: 'The employment work schedule type (e.g., full-time, part-time)', + example: 'full_time', + deprecated: true, + nullable: true, + allOf: [ { - type: 'array', - items: {}, + $ref: '#/components/schemas/EmploymentScheduleTypeEnum', }, ], + }, + work_time: { nullable: true, + allOf: [ + { + $ref: '#/components/schemas/WorkTimeApiModel', + }, + ], }, - }, - }, - CreateCostCenterApiModel: { - type: 'object', - properties: { - id: { + payroll_code: { type: 'string', - description: 'Unique identifier', - example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + description: 'The payroll code of the employee', + example: 'PC1', nullable: true, }, - name: { - type: 'string', - example: 'R&D', + passthrough: { + type: 'object', + description: 'Value to pass through to the provider', + example: { + other_known_names: 'John Doe', + }, + additionalProperties: true, nullable: true, }, - distribution_percentage: { - type: 'number', - example: 100, + effective_date: { + type: 'string', + description: 'The employee effective date', + example: '2021-01-01T00:00:00.000Z', + format: 'date-time', + deprecated: true, nullable: true, }, }, @@ -15356,12 +16141,6 @@ export const hrisSpec = { CreateEmploymentApiModel: { type: 'object', properties: { - id: { - type: 'string', - description: 'Unique identifier', - example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', - nullable: true, - }, unified_custom_fields: { type: 'object', description: 'Custom Unified Fields configured in your StackOne project', @@ -15415,12 +16194,28 @@ export const hrisSpec = { description: 'The effective date of the employment contract', example: '2021-01-01T01:01:01.000Z', format: 'date-time', - deprecated: true, nullable: true, }, + end_date: { + type: 'string', + description: 'The end date of employment', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + grade: { + description: 'Represents the employee’s position within the organizational hierarchy.', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/EmploymentGradeApiModel', + }, + ], + }, employment_type: { description: 'The type of employment (e.g., contractor, permanent)', example: 'permanent', + deprecated: true, nullable: true, allOf: [ { @@ -15431,6 +16226,7 @@ export const hrisSpec = { employment_contract_type: { description: 'The employment work schedule type (e.g., full-time, part-time)', example: 'full_time', + deprecated: true, nullable: true, allOf: [ { @@ -15438,11 +16234,24 @@ export const hrisSpec = { }, ], }, - time_worked: { + work_time: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/WorkTimeApiModel', + }, + ], + }, + payroll_code: { type: 'string', - description: 'The time worked for the employee in ISO 8601 duration format', - example: 'P0Y0M0DT8H0M0S', - format: 'duration', + description: 'The payroll code of the employee', + example: 'PC1', + nullable: true, + }, + job_id: { + type: 'string', + description: 'The employee job id', + example: '5290', nullable: true, }, }, @@ -15718,6 +16527,7 @@ export const hrisSpec = { 'multi_select', 'url', 'other', + 'unmapped_value', null, ], 'x-speakeasy-unknown-values': 'allow', @@ -15746,12 +16556,40 @@ export const hrisSpec = { }, }, }, + DeleteResult: { + type: 'object', + properties: { + statusCode: { + type: 'number', + example: 204, + }, + message: { + type: 'string', + example: 'Record deleted successfully.', + }, + timestamp: { + type: 'string', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, DepartmentTypeEnum: { type: 'object', properties: { value: { type: 'string', - enum: ['department', 'company', 'division', 'group', 'project', 'team', null], + enum: [ + 'department', + 'company', + 'division', + 'group', + 'project', + 'team', + 'unmapped_value', + null, + ], example: 'department', 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -15869,7 +16707,6 @@ export const hrisSpec = { type: 'string', description: 'The employee job title', example: 'Physicist', - deprecated: true, nullable: true, }, job_description: { @@ -15960,7 +16797,7 @@ export const hrisSpec = { date_of_birth: { type: 'string', description: 'The employee date_of_birth', - example: '1990-01-01T00:00.000Z', + example: '1990-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, @@ -15994,14 +16831,14 @@ export const hrisSpec = { hire_date: { type: 'string', description: 'The employee hire date', - example: '2021-01-01T00:00.000Z', + example: '2021-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, start_date: { type: 'string', description: 'The employee start date', - example: '2021-01-01T00:00.000Z', + example: '2021-01-01T00:00:00.000Z', format: 'date-time', deprecated: true, nullable: true, @@ -16247,24 +17084,10 @@ export const hrisSpec = { }, nullable: true, }, - employee_id: { - type: 'string', - description: 'The employee ID associated with this employment', - example: '1687-3', - nullable: true, - }, - remote_employee_id: { - type: 'string', - description: - "Provider's unique identifier of the employee associated with this employment", - example: 'e3cb75bf-aa84-466e-a6c1-b8322b257a48', - nullable: true, - }, job_title: { type: 'string', description: 'The job title of the employee', example: 'Software Engineer', - deprecated: true, nullable: true, }, pay_rate: { @@ -16306,6 +17129,22 @@ export const hrisSpec = { format: 'date-time', nullable: true, }, + end_date: { + type: 'string', + description: 'The end date of employment', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + grade: { + description: 'Represents the employee’s position within the organizational hierarchy.', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/EmploymentGradeApiModel', + }, + ], + }, employment_type: { description: 'The type of employment (e.g., contractor, permanent)', example: 'permanent', @@ -16328,11 +17167,37 @@ export const hrisSpec = { }, ], }, - time_worked: { + work_time: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/WorkTimeApiModel', + }, + ], + }, + payroll_code: { type: 'string', - description: 'The time worked for the employee in ISO 8601 duration format', - example: 'P0Y0M0DT8H0M0S', - format: 'duration', + description: 'The payroll code of the employee', + example: 'PC1', + nullable: true, + }, + employee_id: { + type: 'string', + description: 'The employee ID associated with this employment', + example: '1687-3', + nullable: true, + }, + remote_employee_id: { + type: 'string', + description: + "Provider's unique identifier of the employee associated with this employment", + example: 'e3cb75bf-aa84-466e-a6c1-b8322b257a48', + nullable: true, + }, + fte: { + type: 'number', + description: "the employee's working percentage relative to a full-time employee", + example: '1', nullable: true, }, created_at: { @@ -16354,13 +17219,7 @@ export const hrisSpec = { description: 'The start_date of employment', example: '2021-01-01T01:01:01.000Z', format: 'date-time', - nullable: true, - }, - end_date: { - type: 'string', - description: 'The end_date of employment', - example: '2021-01-01T01:01:01.000Z', - format: 'date-time', + deprecated: true, nullable: true, }, active: { @@ -16417,28 +17276,57 @@ export const hrisSpec = { type: { description: 'The type of employment', nullable: true, - allOf: [ - { - $ref: '#/components/schemas/TypeApiModel', - }, - ], + allOf: [ + { + $ref: '#/components/schemas/TypeApiModel', + }, + ], + }, + contract_type: { + description: 'The employment work schedule type', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/ContractTypeApiModel', + }, + ], + }, + manager: { + description: 'The employee manager', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/EmploymentManagerApiModel', + }, + }, + }, + }, + EmploymentGradeApiModel: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'The reference id', + example: '1687-3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, }, - contract_type: { - description: 'The employment work schedule type', + name: { + type: 'string', + description: 'The reference name', + example: '1687-4', nullable: true, - allOf: [ - { - $ref: '#/components/schemas/ContractTypeApiModel', - }, - ], }, - manager: { - description: 'The employee manager', + description: { + type: 'string', + description: 'description of the grade', + example: 'Mid-level employee demonstrating proficiency and autonomy.', nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/EmploymentManagerApiModel', - }, }, }, }, @@ -18212,7 +19100,7 @@ export const hrisSpec = { items: {}, }, ], - example: 'abc', + example: 'application/pdf', nullable: true, }, }, @@ -18505,6 +19393,18 @@ export const hrisSpec = { type: 'string', }, }, + company_id: { + type: 'string', + description: 'The id of the company that the group belongs to', + example: '1234567890', + nullable: true, + }, + remote_company_id: { + type: 'string', + description: "Provider's id of the company that the group belongs to", + example: '1234567890', + nullable: true, + }, distribution_percentage: { type: 'number', example: 85, @@ -18627,11 +19527,13 @@ export const hrisSpec = { type: 'string', description: 'The employee job id', example: 'R-6789', + deprecated: true, nullable: true, }, job_title: { type: 'string', - description: 'The employee job title', + description: + "If the source of the job_title is the Employee's current Employment, and that Employment pertains exclusively to this Employee, then the active Employment job_title will also be written", example: 'Physicist', nullable: true, }, @@ -18671,7 +19573,7 @@ export const hrisSpec = { }, preferred_language: { description: 'The employee preferred language', - example: 'en_US', + example: 'eng', nullable: true, allOf: [ { @@ -18692,7 +19594,7 @@ export const hrisSpec = { date_of_birth: { type: 'string', description: 'The employee date_of_birth', - example: '1990-01-01T00:00.000Z', + example: '1990-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, @@ -18726,20 +19628,21 @@ export const hrisSpec = { hire_date: { type: 'string', description: 'The employee hire date', - example: '2021-01-01T00:00.000Z', + example: '2021-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, start_date: { type: 'string', description: 'The employee start date', - example: '2021-01-01T00:00.000Z', + example: '2021-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, employment_type: { description: 'The employee employment type', - example: 'full_time', + example: 'permanent', + deprecated: true, nullable: true, allOf: [ { @@ -18750,6 +19653,7 @@ export const hrisSpec = { employment_contract_type: { description: 'The employment work schedule type (e.g., full-time, part-time)', example: 'full_time', + deprecated: true, nullable: true, allOf: [ { @@ -18809,7 +19713,7 @@ export const hrisSpec = { nullable: true, allOf: [ { - $ref: '#/components/schemas/CreateEmploymentApiModel', + $ref: '#/components/schemas/CreateEmployeeEmploymentApiModel', }, ], }, @@ -18893,12 +19797,6 @@ export const hrisSpec = { HrisCreateEmploymentRequestDto: { type: 'object', properties: { - id: { - type: 'string', - description: 'Unique identifier', - example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', - nullable: true, - }, unified_custom_fields: { type: 'object', description: 'Custom Unified Fields configured in your StackOne project', @@ -18952,12 +19850,28 @@ export const hrisSpec = { description: 'The effective date of the employment contract', example: '2021-01-01T01:01:01.000Z', format: 'date-time', - deprecated: true, nullable: true, }, + end_date: { + type: 'string', + description: 'The end date of employment', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + grade: { + description: 'Represents the employee’s position within the organizational hierarchy.', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/EmploymentGradeApiModel', + }, + ], + }, employment_type: { description: 'The type of employment (e.g., contractor, permanent)', example: 'permanent', + deprecated: true, nullable: true, allOf: [ { @@ -18968,6 +19882,7 @@ export const hrisSpec = { employment_contract_type: { description: 'The employment work schedule type (e.g., full-time, part-time)', example: 'full_time', + deprecated: true, nullable: true, allOf: [ { @@ -18975,11 +19890,24 @@ export const hrisSpec = { }, ], }, - time_worked: { + work_time: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/WorkTimeApiModel', + }, + ], + }, + payroll_code: { type: 'string', - description: 'The time worked for the employee in ISO 8601 duration format', - example: 'P0Y0M0DT8H0M0S', - format: 'duration', + description: 'The payroll code of the employee', + example: 'PC1', + nullable: true, + }, + job_id: { + type: 'string', + description: 'The employee job id', + example: '5290', nullable: true, }, passthrough: { @@ -18996,12 +19924,6 @@ export const hrisSpec = { HrisCreateTimeOffRequestDto: { type: 'object', properties: { - employee_id: { - type: 'string', - description: 'The employee ID', - example: '1687-3', - nullable: true, - }, approver_id: { type: 'string', description: 'The approver ID', @@ -19029,16 +19951,18 @@ export const hrisSpec = { }, start_date: { type: 'string', - description: 'The start date of the time off request', - example: '2021-01-01T01:01:01.000Z', - format: 'date-time', + description: + 'The start date of the time off request (ISO8601 date-time without timezone)', + example: '2021-01-01T01:01:01.000', + format: 'datetime-local', nullable: true, }, end_date: { type: 'string', - description: 'The end date of the time off request', - example: '2021-01-01T01:01:01.000Z', - format: 'date-time', + description: + 'Inclusive end date of the time off request (ISO8601 date-time without timezone). The time off includes this day', + example: '2021-01-01T01:01:01.000', + format: 'datetime-local', nullable: true, }, start_half_day: { @@ -19136,13 +20060,13 @@ export const hrisSpec = { }, valid_from: { type: 'string', - example: '2021-01-01T00:00.000Z', + example: '2021-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, valid_to: { type: 'string', - example: '2021-01-01T00:00.000Z', + example: '2021-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, @@ -19224,6 +20148,18 @@ export const hrisSpec = { type: 'string', }, }, + company_id: { + type: 'string', + description: 'The id of the company that the group belongs to', + example: '1234567890', + nullable: true, + }, + remote_company_id: { + type: 'string', + description: "Provider's id of the company that the group belongs to", + example: '1234567890', + nullable: true, + }, type: { description: 'The type of the department group', example: 'department', @@ -19434,8 +20370,6 @@ export const hrisSpec = { value: { type: 'string', description: 'The category name to associate with the file', - example: 'reports', - nullable: true, enum: [ 'application', 'academic', @@ -19464,7 +20398,9 @@ export const hrisSpec = { 'unmapped_value', null, ], + example: 'reports', 'x-speakeasy-unknown-values': 'allow', + nullable: true, }, source_value: { type: 'string', @@ -19512,26 +20448,26 @@ export const hrisSpec = { example: '/path/to/file', nullable: true, }, + confidential: { + description: 'The confidentiality level of the file to be uploaded', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/ConfidentialEnumApiModel', + }, + ], + }, category: { description: 'The category to be associated with the file to be uploaded. Id will take precedence over name.', - nullable: true, example: { name: 'reports', id: '550e8400-e29b-41d4-a716-446655440000', }, - allOf: [ - { - $ref: '#/components/schemas/HrisDocumentsUploadCategoryEnumApiModel', - }, - ], - }, - confidential: { - description: 'The confidentiality level of the file to be uploaded', nullable: true, allOf: [ { - $ref: '#/components/schemas/ConfidentialEnumApiModel', + $ref: '#/components/schemas/HrisDocumentsUploadCategoryEnumApiModel', }, ], }, @@ -19664,6 +20600,18 @@ export const hrisSpec = { type: 'string', }, }, + company_id: { + type: 'string', + description: 'The id of the company that the group belongs to', + example: '1234567890', + nullable: true, + }, + remote_company_id: { + type: 'string', + description: "Provider's id of the company that the group belongs to", + example: '1234567890', + nullable: true, + }, type: { description: 'The type of the group', nullable: true, @@ -19958,6 +20906,18 @@ export const hrisSpec = { type: 'string', }, }, + company_id: { + type: 'string', + description: 'The id of the company that the group belongs to', + example: '1234567890', + nullable: true, + }, + remote_company_id: { + type: 'string', + description: "Provider's id of the company that the group belongs to", + example: '1234567890', + nullable: true, + }, type: { description: 'The type of the team group', example: 'team', @@ -20075,11 +21035,13 @@ export const hrisSpec = { type: 'string', description: 'The employee job id', example: 'R-6789', + deprecated: true, nullable: true, }, job_title: { type: 'string', - description: 'The employee job title', + description: + "If the source of the job_title is the Employee's current Employment, and that Employment pertains exclusively to this Employee, then the active Employment job_title will also be written", example: 'Physicist', nullable: true, }, @@ -20119,7 +21081,7 @@ export const hrisSpec = { }, preferred_language: { description: 'The employee preferred language', - example: 'en_US', + example: 'eng', nullable: true, allOf: [ { @@ -20140,7 +21102,7 @@ export const hrisSpec = { date_of_birth: { type: 'string', description: 'The employee date_of_birth', - example: '1990-01-01T00:00.000Z', + example: '1990-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, @@ -20174,20 +21136,21 @@ export const hrisSpec = { hire_date: { type: 'string', description: 'The employee hire date', - example: '2021-01-01T00:00.000Z', + example: '2021-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, start_date: { type: 'string', description: 'The employee start date', - example: '2021-01-01T00:00.000Z', + example: '2021-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, employment_type: { description: 'The employee employment type', - example: 'full_time', + example: 'permanent', + deprecated: true, nullable: true, allOf: [ { @@ -20198,6 +21161,7 @@ export const hrisSpec = { employment_contract_type: { description: 'The employment work schedule type (e.g., full-time, part-time)', example: 'full_time', + deprecated: true, nullable: true, allOf: [ { @@ -20248,7 +21212,7 @@ export const hrisSpec = { nullable: true, allOf: [ { - $ref: '#/components/schemas/CreateEmploymentApiModel', + $ref: '#/components/schemas/CreateEmployeeEmploymentApiModel', }, ], }, @@ -20280,36 +21244,157 @@ export const hrisSpec = { nullable: true, allOf: [ { - $ref: '#/components/schemas/NationalIdentityNumberApiModel', + $ref: '#/components/schemas/NationalIdentityNumberApiModel', + }, + ], + }, + national_identity_numbers: { + description: 'The national identity numbers', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/NationalIdentityNumberApiModel', + }, + }, + home_location: { + description: 'The employee home location', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/CreateEmployeeLocationApiModel', + }, + ], + }, + work_location: { + description: 'The employee work location', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/CreateEmployeeLocationApiModel', + }, + ], + }, + passthrough: { + type: 'object', + description: 'Value to pass through to the provider', + example: { + other_known_names: 'John Doe', + }, + additionalProperties: true, + nullable: true, + }, + }, + }, + HrisUpdateEmploymentRequestDto: { + type: 'object', + properties: { + unified_custom_fields: { + type: 'object', + description: 'Custom Unified Fields configured in your StackOne project', + additionalProperties: true, + example: { + my_project_custom_field_1: 'REF-1236', + my_project_custom_field_2: 'some other value', + }, + nullable: true, + }, + job_title: { + type: 'string', + description: 'The job title of the employee', + example: 'Software Engineer', + nullable: true, + }, + pay_rate: { + type: 'string', + description: 'The pay rate for the employee', + example: '40.00', + nullable: true, + }, + pay_period: { + description: 'The pay period', + example: 'monthly', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/PayPeriodEnum', + }, + ], + }, + pay_frequency: { + description: 'The pay frequency', + example: 'hourly', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/PayFrequencyEnum', + }, + ], + }, + pay_currency: { + type: 'string', + description: 'The currency used for pay', + example: 'USD', + nullable: true, + }, + effective_date: { + type: 'string', + description: 'The effective date of the employment contract', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + end_date: { + type: 'string', + description: 'The end date of employment', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + grade: { + description: 'Represents the employee’s position within the organizational hierarchy.', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/EmploymentGradeApiModel', }, ], }, - national_identity_numbers: { - description: 'The national identity numbers', + employment_type: { + description: 'The type of employment (e.g., contractor, permanent)', + example: 'permanent', + deprecated: true, nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/NationalIdentityNumberApiModel', - }, + allOf: [ + { + $ref: '#/components/schemas/EmploymentTypeEnum', + }, + ], }, - home_location: { - description: 'The employee home location', + employment_contract_type: { + description: 'The employment work schedule type (e.g., full-time, part-time)', + example: 'full_time', + deprecated: true, nullable: true, allOf: [ { - $ref: '#/components/schemas/CreateEmployeeLocationApiModel', + $ref: '#/components/schemas/EmploymentScheduleTypeEnum', }, ], }, - work_location: { - description: 'The employee work location', + work_time: { nullable: true, allOf: [ { - $ref: '#/components/schemas/CreateEmployeeLocationApiModel', + $ref: '#/components/schemas/WorkTimeApiModel', }, ], }, + payroll_code: { + type: 'string', + description: 'The payroll code of the employee', + example: 'PC1', + nullable: true, + }, passthrough: { type: 'object', description: 'Value to pass through to the provider', @@ -20526,7 +21611,16 @@ export const hrisSpec = { properties: { value: { type: 'string', - enum: ['draft', 'pending', 'archived', 'closed', 'open', 'deleted', null], + enum: [ + 'draft', + 'pending', + 'archived', + 'closed', + 'open', + 'deleted', + 'unmapped_value', + null, + ], description: 'The status of the job.', example: 'active', 'x-speakeasy-unknown-values': 'allow', @@ -20982,6 +22076,7 @@ export const hrisSpec = { 'zh_SG', 'zh_TW', 'zu_ZA', + 'unmapped_value', null, ], description: 'The Locale Code of the language', @@ -21508,6 +22603,7 @@ export const hrisSpec = { 'cat', 'cha', 'ces', + 'dan', 'deu', 'div', 'dzo', @@ -21524,6 +22620,7 @@ export const hrisSpec = { 'fra', 'gle', 'grn', + 'guj', 'glv', 'heb', 'hin', @@ -21554,6 +22651,8 @@ export const hrisSpec = { 'mah', 'mri', 'mkd', + 'mon', + 'mar', 'msa', 'mlt', 'mya', @@ -21568,15 +22667,18 @@ export const hrisSpec = { 'pol', 'pus', 'por', + 'que', 'rar', 'roh', 'rup', 'ron', 'rus', 'kin', + 'sme', 'sag', 'sin', 'slk', + 'slv', 'smo', 'sna', 'som', @@ -21586,11 +22688,24 @@ export const hrisSpec = { 'swe', 'swa', 'tam', + 'tel', 'tgk', 'tha', 'tir', 'tig', + 'tuk', + 'tsn', + 'ton', + 'tur', + 'tso', + 'ukr', + 'urd', + 'uzb', + 'ven', + 'vie', + 'xho', 'zho', + 'zul', 'unmapped_value', null, ], @@ -21645,7 +22760,7 @@ export const hrisSpec = { }, value: { type: 'string', - enum: ['1', '2', '3', '4', '5', null], + enum: ['1', '2', '3', '4', '5', 'unmapped_value', null], 'x-speakeasy-unknown-values': 'allow', nullable: true, }, @@ -21752,10 +22867,6 @@ export const hrisSpec = { { type: 'object', }, - { - type: 'string', - format: 'binary', - }, { type: 'array', items: { @@ -21765,96 +22876,362 @@ export const hrisSpec = { maximum: 255, }, }, + ], + additionalProperties: true, + nullable: true, + }, + response: { + oneOf: [ + { + type: 'object', + additionalProperties: true, + }, + { + type: 'array', + items: {}, + }, + { + type: 'string', + }, + ], + nullable: true, + }, + }, + required: ['method', 'url'], + }, + Reason: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + name: { + type: 'string', + nullable: true, + }, + }, + }, + Reference: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'The reference id', + example: '1687-3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + name: { + type: 'string', + description: 'The reference name', + example: '1687-4', + nullable: true, + }, + active: { + description: 'The reference status', + example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], + nullable: true, + }, + }, + }, + ReferencePaginated: { + type: 'object', + properties: { + next_page: { + type: 'string', + deprecated: true, + nullable: true, + }, + next: { + type: 'string', + nullable: true, + }, + data: { + type: 'array', + items: { + $ref: '#/components/schemas/Reference', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + required: ['data'], + }, + ReferenceResult: { + type: 'object', + properties: { + data: { + $ref: '#/components/schemas/Reference', + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + required: ['data'], + }, + RequestTimedOutResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 408, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Request timed out', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + RoleTypeEnum: { + type: 'object', + properties: { + value: { + type: 'string', + enum: [ + 'admin', + 'viewer', + 'editor', + 'basic', + 'guest', + 'unassigned', + 'restricted', + 'unmapped_value', + null, + ], + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + source_value: { + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + nullable: true, + }, + }, + }, + Task: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + employee_id: { + type: 'string', + description: 'The employee ID associated with this task', + example: 'cx280928937', + nullable: true, + }, + name: { + type: 'string', + description: 'The name of the task', + example: 'Complete onboarding documents', + nullable: true, + }, + description: { + type: 'string', + description: 'The description of the task', + example: 'Please complete all required onboarding documents in the employee portal', + nullable: true, + }, + type: { + description: 'The type of the task', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TaskTypeEnum', + }, + ], + }, + status: { + description: 'The status of the task', + nullable: true, + allOf: [ { - type: 'string', - format: 'byte', + $ref: '#/components/schemas/TaskStatusEnum', }, ], - additionalProperties: true, + }, + due_date: { + type: 'string', + description: 'The due date of the task', + example: '2024-03-20T23:59:59.000Z', + format: 'date-time', nullable: true, }, - response: { - type: 'object', - additionalProperties: true, + completion_date: { + type: 'string', + description: 'The completion date of the task', + example: '2024-03-19T15:30:00.000Z', + format: 'date-time', nullable: true, }, - }, - required: ['method', 'url'], - }, - Reason: { - type: 'object', - properties: { - id: { + assigned_by_employee_id: { type: 'string', - description: 'Unique identifier', - example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + description: 'The ID of the employee who assigned this task', + example: 'cx280928938', nullable: true, }, - remote_id: { + assigned_by_employee_name: { type: 'string', - description: "Provider's unique identifier", - example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + description: 'The name of the employee who assigned this task', + example: 'John Smith', nullable: true, }, - name: { + link_to_task: { type: 'string', + description: 'Link to the task in the provider system', + example: 'https://provider.com/tasks/123', nullable: true, }, - }, - }, - Reference: { - type: 'object', - properties: { - id: { + extracted_links: { + description: 'List of extracted links from the task', + example: ['https://provider.com/docs/1', 'https://provider.com/forms/2'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + next_task_id: { type: 'string', - description: 'The reference id', - example: '1687-3', + description: 'ID of the next task in sequence', + example: 'cx280928939', nullable: true, }, - remote_id: { + parent_process_name: { type: 'string', - description: "Provider's unique identifier", - example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + description: 'Name of the parent process of this task', + example: 'Onboarding Tasks', nullable: true, }, - name: { + comments: { + description: 'The comments associated with this task', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TaskCommentApiModel', + }, + }, + attachments: { + description: 'The documents attached to this task', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/File', + }, + }, + created_at: { type: 'string', - description: 'The reference name', - example: '1687-4', + description: 'The creation date of this task', + example: '2024-03-15T10:00:00.000Z', + format: 'date-time', nullable: true, }, - active: { - description: 'The reference status', - example: true, - oneOf: [ - { - type: 'boolean', - }, - { - type: 'string', - enum: ['true', 'false'], - }, - ], + updated_at: { + type: 'string', + description: 'The last updated date of this task', + example: '2024-03-19T15:30:00.000Z', + format: 'date-time', nullable: true, }, }, }, - ReferencePaginated: { + TaskCommentApiModel: { type: 'object', properties: { - next_page: { + author_employee_id: { type: 'string', - deprecated: true, + description: 'The Employee ID of the author of the comment', nullable: true, }, - next: { + comment: { + type: 'string', + description: 'The text of the comment', + example: 'Approved based on in-person assessment', + nullable: true, + }, + created_at: { type: 'string', + description: 'The creation date of this comment', + example: '2024-03-15T10:00:00.000Z', + format: 'date-time', nullable: true, }, + }, + }, + TaskResult: { + type: 'object', + properties: { data: { + nullable: true, type: 'array', items: { - $ref: '#/components/schemas/Reference', + $ref: '#/components/schemas/Task', }, }, raw: { @@ -21865,13 +23242,20 @@ export const hrisSpec = { }, }, }, - required: ['data'], }, - ReferenceResult: { + TasksPaginated: { type: 'object', properties: { + next: { + type: 'string', + nullable: true, + }, data: { - $ref: '#/components/schemas/Reference', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/Task', + }, }, raw: { nullable: true, @@ -21881,46 +23265,59 @@ export const hrisSpec = { }, }, }, - required: ['data'], }, - RequestTimedOutResponse: { + TaskStatusEnum: { type: 'object', properties: { - statusCode: { - type: 'number', - description: 'HTTP status code', - example: 408, - }, - message: { + value: { type: 'string', - description: 'Error message', - example: 'Request timed out', + enum: [ + 'open', + 'in_progress', + 'blocked', + 'completed', + 'cancelled', + 'unmapped_value', + null, + ], + description: + 'The unified value for the status of the task. If the provider does not specify this status, the value will be set to UnmappedValue', + example: 'open', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, }, - timestamp: { - type: 'string', - description: 'Timestamp when the error occurred', - example: '2023-05-30T00:00:00.000Z', - format: 'date-time', + source_value: { + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + nullable: true, }, }, - required: ['statusCode', 'message', 'timestamp'], }, - RoleTypeEnum: { + TaskTypeEnum: { type: 'object', properties: { value: { type: 'string', - enum: [ - 'admin', - 'viewer', - 'editor', - 'basic', - 'guest', - 'unassigned', - 'restricted', - 'unmapped_value', - null, - ], + enum: ['action', 'review', 'acknowledgment', 'edit', 'approve', 'unmapped_value', null], + description: + 'The unified value for the type of the task. If the provider does not specify this type, the value will be set to UnmappedValue', + example: 'action', 'x-speakeasy-unknown-values': 'allow', nullable: true, }, @@ -21952,7 +23349,7 @@ export const hrisSpec = { properties: { value: { type: 'string', - enum: ['team', null], + enum: ['team', 'unmapped_value', null], example: 'team', 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -22223,16 +23620,18 @@ export const hrisSpec = { }, start_date: { type: 'string', - description: 'The start date of the time off request', - example: '2021-01-01T01:01:01.000Z', - format: 'date-time', + description: + 'The start date of the time off request (ISO8601 date-time without timezone)', + example: '2021-01-01T01:01:01.000', + format: 'datetime-local', nullable: true, }, end_date: { type: 'string', - description: 'The end date of the time off request', - example: '2021-01-01T01:01:01.000Z', - format: 'date-time', + description: + 'Inclusive end date of the time off request (ISO8601 date-time without timezone). The time off includes this day', + example: '2021-01-01T01:01:01.000', + format: 'datetime-local', nullable: true, }, start_half_day: { @@ -22458,7 +23857,17 @@ export const hrisSpec = { properties: { value: { type: 'string', - enum: ['minutes', 'hours', 'days', 'weeks', 'months', 'years', 'unknown', null], + enum: [ + 'minutes', + 'hours', + 'days', + 'weeks', + 'months', + 'years', + 'unknown', + 'unmapped_value', + null, + ], description: 'The unified value for the duration unit. If the provider does not specify this unit, the value will be set to unknown', example: 'hours', @@ -22629,16 +24038,28 @@ export const hrisSpec = { value: { type: 'string', enum: [ + 'sick', + 'unmapped_value', + 'vacation', + 'long_term_disability', + 'short_term_disability', + 'absent', + 'comp_time', + 'training', + 'annual_leave', + 'leave_of_absence', + 'break', + 'child_care_leave', + 'maternity_leave', + 'jury_duty', + 'sabbatical', + 'accident', 'paid', 'unpaid', 'holiday', - 'vacation', - 'sick', 'personal', 'in_lieu', 'bereavement', - 'jury_duty', - 'unmapped_value', null, ], description: @@ -22697,6 +24118,7 @@ export const hrisSpec = { 'rejected', 'pending', 'deleted', + 'draft', 'unmapped_value', null, ], @@ -22746,9 +24168,14 @@ export const hrisSpec = { 'child_care_leave', 'maternity_leave', 'jury_duty', - 'bereavement_leave', 'sabbatical', 'accident', + 'paid', + 'unpaid', + 'holiday', + 'personal', + 'in_lieu', + 'bereavement', null, ], 'x-speakeasy-unknown-values': 'allow', @@ -23021,13 +24448,13 @@ export const hrisSpec = { }, valid_from: { type: 'string', - example: '2021-01-01T00:00.000Z', + example: '2021-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, valid_to: { type: 'string', - example: '2021-01-01T00:00.000Z', + example: '2021-01-01T00:00:00.000Z', format: 'date-time', nullable: true, }, @@ -23096,7 +24523,71 @@ export const hrisSpec = { properties: { value: { type: 'string', - enum: ['visa', 'passport', 'driver_license', 'birth_certificate', 'other', null], + enum: [ + 'visa', + 'passport', + 'driver_license', + 'birth_certificate', + 'other', + 'unmapped_value', + null, + ], + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + source_value: { + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + nullable: true, + }, + }, + }, + WorkTimeApiModel: { + type: 'object', + properties: { + duration: { + type: 'string', + description: 'The work time duration in ISO 8601 duration format', + example: 'P0Y0M0DT8H0M0S', + format: 'duration', + nullable: true, + }, + duration_unit: { + description: 'The duration unit of the work time', + example: 'month', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/WorkTimeUnitEnum', + }, + ], + }, + }, + }, + WorkTimeUnitEnum: { + type: 'object', + properties: { + value: { + type: 'string', + enum: ['day', 'week', 'month', 'year', 'unmapped_value', null], + description: 'The unified value for the period.', + example: 'month', 'x-speakeasy-unknown-values': 'allow', nullable: true, }, diff --git a/src/openapi/generated/iam.ts b/src/openapi/generated/iam.ts index 9ae9ec4..35269a4 100644 --- a/src/openapi/generated/iam.ts +++ b/src/openapi/generated/iam.ts @@ -3987,7 +3987,7 @@ export const iamSpec = { items: {}, }, ], - example: 'abc', + example: 'application/pdf', nullable: true, }, }, @@ -4981,10 +4981,6 @@ export const iamSpec = { { type: 'object', }, - { - type: 'string', - format: 'binary', - }, { type: 'array', items: { @@ -4994,17 +4990,24 @@ export const iamSpec = { maximum: 255, }, }, - { - type: 'string', - format: 'byte', - }, ], additionalProperties: true, nullable: true, }, response: { - type: 'object', - additionalProperties: true, + oneOf: [ + { + type: 'object', + additionalProperties: true, + }, + { + type: 'array', + items: {}, + }, + { + type: 'string', + }, + ], nullable: true, }, }, diff --git a/src/openapi/generated/index.ts b/src/openapi/generated/index.ts index 43e8b50..936e282 100644 --- a/src/openapi/generated/index.ts +++ b/src/openapi/generated/index.ts @@ -5,5 +5,7 @@ export { hrisSpec } from './hris'; export { documentsSpec } from './documents'; export { marketingSpec } from './marketing'; export { ticketingSpec } from './ticketing'; +export { screeningSpec } from './screening'; +export { messagingSpec } from './messaging'; export { iamSpec } from './iam'; export { lmsSpec } from './lms'; diff --git a/src/openapi/generated/lms.ts b/src/openapi/generated/lms.ts index 5fe6920..c384c4b 100644 --- a/src/openapi/generated/lms.ts +++ b/src/openapi/generated/lms.ts @@ -6466,7 +6466,7 @@ export const lmsSpec = { properties: { value: { type: 'string', - enum: ['pending', 'in_progress', 'completed', null], + enum: ['pending', 'in_progress', 'completed', 'unmapped_value', null], example: 'in_progress', 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -6682,7 +6682,7 @@ export const lmsSpec = { properties: { value: { type: 'string', - enum: ['primary', 'secondary', 'tertiary', null], + enum: ['primary', 'secondary', 'tertiary', 'unmapped_value', null], 'x-speakeasy-unknown-values': 'allow', nullable: true, }, @@ -7195,7 +7195,7 @@ export const lmsSpec = { properties: { value: { type: 'string', - enum: ['video', 'quiz', 'document', 'audio', 'article', null], + enum: ['video', 'quiz', 'document', 'audio', 'article', 'unmapped_value', null], 'x-speakeasy-unknown-values': 'allow', nullable: true, }, @@ -7575,15 +7575,6 @@ export const lmsSpec = { }, ], }, - proficiency: { - description: 'The user proficiency level of the skill ranked out of 5', - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/SkillProficiencyLevelEnum', - }, - ], - }, language: { description: 'The language associated with this skill', nullable: true, @@ -8084,6 +8075,7 @@ export const lmsSpec = { 'zh_SG', 'zh_TW', 'zu_ZA', + 'unmapped_value', null, ], description: 'The Locale Code of the language', @@ -8119,7 +8111,7 @@ export const lmsSpec = { properties: { value: { type: 'string', - enum: ['content', 'course', 'collection', null], + enum: ['content', 'course', 'collection', 'unmapped_value', null], 'x-speakeasy-unknown-values': 'allow', nullable: true, }, @@ -8766,6 +8758,15 @@ export const lmsSpec = { }, ], }, + tags: { + description: 'The tags associated with the localization details', + example: ['Sales Techniques', 'Customer Service'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, }, }, NotFoundResponse: { @@ -8885,10 +8886,6 @@ export const lmsSpec = { { type: 'object', }, - { - type: 'string', - format: 'binary', - }, { type: 'array', items: { @@ -8898,17 +8895,24 @@ export const lmsSpec = { maximum: 255, }, }, - { - type: 'string', - format: 'byte', - }, ], additionalProperties: true, nullable: true, }, response: { - type: 'object', - additionalProperties: true, + oneOf: [ + { + type: 'object', + additionalProperties: true, + }, + { + type: 'array', + items: {}, + }, + { + type: 'string', + }, + ], nullable: true, }, }, @@ -8941,7 +8945,7 @@ export const lmsSpec = { properties: { value: { type: 'string', - enum: ['Pass', 'Fail', null], + enum: ['Pass', 'Fail', 'unmapped_value', null], 'x-speakeasy-unknown-values': 'allow', nullable: true, }, @@ -8973,39 +8977,7 @@ export const lmsSpec = { properties: { value: { type: 'string', - enum: ['primary', 'secondary', 'tertiary', null], - 'x-speakeasy-unknown-values': 'allow', - nullable: true, - }, - source_value: { - oneOf: [ - { - type: 'string', - }, - { - type: 'number', - }, - { - type: 'boolean', - }, - { - type: 'object', - }, - { - type: 'array', - items: {}, - }, - ], - nullable: true, - }, - }, - }, - SkillProficiencyLevelEnum: { - type: 'object', - properties: { - value: { - type: 'string', - enum: ['1', '2', '3', '4', '5', null], + enum: ['primary', 'secondary', 'tertiary', 'unmapped_value', null], 'x-speakeasy-unknown-values': 'allow', nullable: true, }, @@ -9084,15 +9056,6 @@ export const lmsSpec = { }, ], }, - proficiency: { - description: 'The user proficiency level of the skill ranked out of 5', - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/SkillProficiencyLevelEnum', - }, - ], - }, language: { description: 'The language associated with this skill', nullable: true, diff --git a/src/openapi/generated/marketing.ts b/src/openapi/generated/marketing.ts index 5235271..339dc7c 100644 --- a/src/openapi/generated/marketing.ts +++ b/src/openapi/generated/marketing.ts @@ -6170,7 +6170,7 @@ export const marketingSpec = { properties: { value: { type: 'string', - enum: ['draft', 'live', 'archived', null], + enum: ['draft', 'live', 'archived', 'unmapped_value', null], description: 'The Status of the content blocks.', example: 'live', 'x-speakeasy-unknown-values': 'allow', @@ -6206,7 +6206,7 @@ export const marketingSpec = { properties: { value: { type: 'string', - enum: ['text', 'html', 'image', 'code-snippet', null], + enum: ['text', 'html', 'image', 'code-snippet', 'unmapped_value', null], description: 'The type of the content blocks.', example: 'html', 'x-speakeasy-unknown-values': 'allow', @@ -7211,10 +7211,6 @@ export const marketingSpec = { { type: 'object', }, - { - type: 'string', - format: 'binary', - }, { type: 'array', items: { @@ -7224,17 +7220,24 @@ export const marketingSpec = { maximum: 255, }, }, - { - type: 'string', - format: 'byte', - }, ], additionalProperties: true, nullable: true, }, response: { - type: 'object', - additionalProperties: true, + oneOf: [ + { + type: 'object', + additionalProperties: true, + }, + { + type: 'array', + items: {}, + }, + { + type: 'string', + }, + ], nullable: true, }, }, @@ -7267,7 +7270,15 @@ export const marketingSpec = { properties: { value: { type: 'string', - enum: ['immediate', 'scheduled', 'recurring', 'custom', 'triggered', null], + enum: [ + 'immediate', + 'scheduled', + 'recurring', + 'custom', + 'triggered', + 'unmapped_value', + null, + ], description: 'The schedule type of the campaign.', example: 'immediate', 'x-speakeasy-unknown-values': 'allow', @@ -7446,7 +7457,7 @@ export const marketingSpec = { properties: { value: { type: 'string', - enum: ['draft', 'archived', 'live', null], + enum: ['draft', 'archived', 'live', 'unmapped_value', null], description: 'The Status of the campaign.', example: 'email', 'x-speakeasy-unknown-values': 'allow', diff --git a/src/openapi/generated/messaging.ts b/src/openapi/generated/messaging.ts new file mode 100644 index 0000000..45d4e0d --- /dev/null +++ b/src/openapi/generated/messaging.ts @@ -0,0 +1,2890 @@ +// Generated OpenAPI specification for messaging +// DO NOT EDIT THIS FILE DIRECTLY +export const messagingSpec = { + openapi: '3.1.0', + paths: { + '/unified/messaging/conversations': { + get: { + operationId: 'messaging_list_conversations', + 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,participants,name,created_at,last_message_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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of conversations was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/MessagingConversationsPaginated', + }, + }, + }, + }, + '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 Conversations', + tags: ['Conversations'], + 'x-speakeasy-group': 'messaging', + 'x-speakeasy-name-override': 'list_conversations', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/messaging/conversations/{id}': { + get: { + operationId: 'messaging_get_conversation', + 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,participants,name,created_at,last_message_at', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The conversation with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/MessagingConversationResult', + }, + }, + }, + }, + '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 Conversation', + tags: ['Conversations'], + 'x-speakeasy-group': 'messaging', + 'x-speakeasy-name-override': 'get_conversation', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/messaging/attachments/{id}/download': { + get: { + operationId: 'messaging_download_messaging_attachment', + 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: 'format', + required: false, + in: 'query', + description: 'The format to download the file in', + schema: { + nullable: true, + example: 'base64', + type: 'string', + }, + }, + { + name: 'export_format', + required: false, + in: 'query', + description: 'The export format of the file', + schema: { + nullable: true, + example: 'text/plain', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The attachment file was downloaded successfully.', + content: { + '*/*': { + schema: { + type: 'string', + format: 'binary', + }, + }, + }, + }, + '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: 'Download Attachment', + tags: ['Messages', 'Attachments'], + 'x-speakeasy-group': 'messaging', + 'x-speakeasy-name-override': 'download_messaging_attachment', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/messaging/messages/{id}/attachments': { + get: { + operationId: 'messaging_list_attachments', + 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,file_name,file_size,file_type', + 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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of attachments was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/MessagingAttachmentsPaginated', + }, + }, + }, + }, + '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 Attachments', + tags: ['Messages', 'Attachments'], + 'x-speakeasy-group': 'messaging', + 'x-speakeasy-name-override': 'list_attachments', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/messaging/messages/{id}/attachments/{subResourceId}': { + get: { + operationId: 'messaging_get_attachment', + 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: 'subResourceId', + 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,file_name,file_size,file_type', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The attachment with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/MessagingAttachmentResult', + }, + }, + }, + }, + '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 Attachment', + tags: ['Messages', 'Attachments'], + 'x-speakeasy-group': 'messaging', + 'x-speakeasy-name-override': 'get_attachment', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/messaging/users': { + get: { + operationId: 'messaging_list_users', + 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,email,username,name,first_name,last_name,bot,active', + 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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of users was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/MessagingUsersPaginated', + }, + }, + }, + }, + '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 Users', + tags: ['Users'], + 'x-speakeasy-group': 'messaging', + 'x-speakeasy-name-override': 'list_users', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/messaging/users/{id}': { + get: { + operationId: 'messaging_get_user', + 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,email,username,name,first_name,last_name,bot,active', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The user with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/MessagingUserResult', + }, + }, + }, + }, + '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 User', + tags: ['Users'], + 'x-speakeasy-group': 'messaging', + 'x-speakeasy-name-override': 'get_user', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/messaging/conversations/{id}/messages': { + get: { + operationId: 'messaging_list_conversation_messages', + 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,content,parent_message_id,remote_parent_message_id,attachments,author,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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of messages in the conversation was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/MessagingMessagesPaginated', + }, + }, + }, + }, + '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 Conversation Messages', + tags: ['Conversations', 'Messages'], + 'x-speakeasy-group': 'messaging', + 'x-speakeasy-name-override': 'list_conversation_messages', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + }, + info: { + title: 'Messaging', + description: 'The documentation for the StackOne Unified API - MESSAGING', + version: '1.0.0', + contact: {}, + }, + tags: [ + { + name: 'Conversations', + description: '', + }, + { + name: 'Messages', + description: '', + }, + { + name: 'Attachments', + description: '', + }, + { + name: 'Users', + description: '', + }, + ], + servers: [ + { + url: 'https://api.stackone.com', + }, + ], + components: { + securitySchemes: { + basic: { + type: 'http', + scheme: 'basic', + }, + }, + schemas: { + BadGatewayResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 502, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Bad Gateway', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + BadRequestResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 400, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Bad Request', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + data: { + description: 'Error details', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/UnifiedError', + }, + ], + }, + provider_errors: { + description: 'List of provider-specific errors', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/ProviderError', + }, + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + ConflictResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 409, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Conflict', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + ForbiddenResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 403, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Forbidden resource', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + InternalServerErrorResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 500, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Internal server error', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + LmsUser: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + unified_custom_fields: { + type: 'object', + description: 'Custom Unified Fields configured in your StackOne project', + additionalProperties: true, + example: { + my_project_custom_field_1: 'REF-1236', + my_project_custom_field_2: 'some other value', + }, + nullable: true, + }, + external_reference: { + type: 'string', + description: 'The external ID associated with this user', + example: 'al60043', + nullable: true, + }, + name: { + type: 'string', + description: 'The user name', + example: 'John Dew', + nullable: true, + }, + email: { + type: 'string', + description: 'The user email', + example: 'john@dew.com', + nullable: true, + }, + phone_number: { + type: 'string', + description: 'The user phone number', + example: '+1234567890', + nullable: true, + }, + active: { + type: 'boolean', + description: 'The user active status', + example: true, + nullable: true, + }, + created_at: { + type: 'string', + description: 'The created_at date', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + updated_at: { + type: 'string', + description: 'The updated_at date', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + }, + }, + MessagingAttachment: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + file_name: { + type: 'string', + description: 'Name of the attached file', + example: 'document.pdf', + nullable: true, + }, + file_size: { + type: 'number', + description: 'Size of the attached file', + example: 1024, + nullable: true, + }, + file_type: { + type: 'string', + description: 'MIME type of the attached file', + example: 'application/pdf', + nullable: true, + }, + }, + }, + MessagingAttachmentResult: { + type: 'object', + properties: { + data: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/MessagingAttachment', + }, + ], + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + MessagingAttachmentsPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/MessagingAttachment', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + MessagingConversation: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + participants: { + description: 'List of participant user IDs in the conversation', + example: ['c28xIQ1', 'c28xIQ2'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + name: { + type: 'string', + description: 'Name or title of the conversation', + example: 'Project Discussion', + nullable: true, + }, + created_at: { + type: 'string', + description: 'Timestamp when the conversation was created', + example: '2024-03-20T10:00:00Z', + format: 'date-time', + nullable: true, + }, + last_message_at: { + type: 'string', + description: 'Timestamp of the last message in the conversation', + example: '2024-03-20T11:30:00Z', + format: 'date-time', + nullable: true, + }, + }, + }, + MessagingConversationResult: { + type: 'object', + properties: { + data: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/MessagingConversation', + }, + ], + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + MessagingConversationsPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/MessagingConversation', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + MessagingMessage: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + content: { + description: 'Content of the message', + example: { + html: '
Hello world
', + plain: 'Hello world', + }, + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/MessagingMessageContent', + }, + ], + }, + parent_message_id: { + type: 'string', + description: 'ID of the parent message if this is a reply', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + attachments: { + description: 'List of attachments in the message', + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + author: { + description: 'Author of the message', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/LmsUser', + }, + ], + }, + created_at: { + type: 'string', + description: 'Timestamp when the message was created', + example: '2024-03-20T10:00:00Z', + format: 'date-time', + nullable: true, + }, + updated_at: { + type: 'string', + description: 'Timestamp when the message was last updated', + example: '2024-03-20T10:00:00Z', + format: 'date-time', + nullable: true, + }, + }, + }, + MessagingMessageContent: { + type: 'object', + properties: { + html: { + type: 'string', + description: 'HTML content of the message', + example: 'Hello world
', + nullable: true, + }, + plain: { + type: 'string', + description: 'Plain text content of the message', + example: 'Hello world', + nullable: true, + }, + }, + }, + MessagingMessagesPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/MessagingMessage', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + MessagingUser: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + email: { + type: 'string', + description: 'Email address of the user', + example: 'john.doe@example.com', + nullable: true, + }, + username: { + type: 'string', + description: 'Username of the user', + example: 'johndoe', + nullable: true, + }, + name: { + type: 'string', + description: 'Full name of the user', + example: 'John Doe', + nullable: true, + }, + first_name: { + type: 'string', + description: 'First name of the user', + example: 'John', + nullable: true, + }, + last_name: { + type: 'string', + description: 'Last name of the user', + example: 'Doe', + nullable: true, + }, + bot: { + type: 'boolean', + description: 'Whether the user is a bot', + example: false, + nullable: true, + }, + active: { + type: 'boolean', + description: 'Whether the user is active', + example: true, + nullable: true, + }, + }, + }, + MessagingUserResult: { + type: 'object', + properties: { + data: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/MessagingUser', + }, + ], + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + MessagingUsersPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/MessagingUser', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + NotFoundResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 404, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Not Found', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + NotImplementedResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 501, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Not Implemented', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + PreconditionFailedResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 412, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Precondition failed', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + ProviderError: { + type: 'object', + properties: { + status: { + type: 'number', + description: 'HTTP status code of the provider error', + example: 400, + nullable: true, + }, + url: { + type: 'string', + description: 'URL that caused the error', + example: 'https://api.provider.com/v1/resource', + nullable: true, + }, + raw: { + type: 'object', + description: 'Raw error response from the provider', + example: { + message: 'Invalid input parameters', + }, + nullable: true, + }, + headers: { + type: 'object', + description: 'Response headers', + example: { + 'content-type': 'application/json', + 'x-request-id': '5678c28b211dace4e0a0f9171e6b88c5', + }, + nullable: true, + }, + }, + }, + RawResponse: { + type: 'object', + properties: { + method: { + type: 'string', + }, + url: { + type: 'string', + }, + body: { + oneOf: [ + { + type: 'string', + }, + { + type: 'object', + }, + { + type: 'array', + items: { + type: 'integer', + format: 'int32', + minimum: 0, + maximum: 255, + }, + }, + ], + additionalProperties: true, + nullable: true, + }, + response: { + oneOf: [ + { + type: 'object', + additionalProperties: true, + }, + { + type: 'array', + items: {}, + }, + { + type: 'string', + }, + ], + nullable: true, + }, + }, + required: ['method', 'url'], + }, + RequestTimedOutResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 408, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Request timed out', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + TooManyRequestsResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 429, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Too many requests', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + UnauthorizedResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 401, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Unauthorized', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + UnifiedError: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 400, + nullable: true, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Bad Request', + nullable: true, + }, + headers: { + type: 'object', + description: 'Response headers', + example: { + 'content-type': 'application/json', + 'x-request-id': '5678c28b211dace4e0a0f9171e6b88c5', + }, + nullable: true, + }, + }, + }, + UnprocessableEntityResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 422, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Unprocessable Entity', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + }, + }, +}; diff --git a/src/openapi/generated/screening.ts b/src/openapi/generated/screening.ts new file mode 100644 index 0000000..5c6f2ed --- /dev/null +++ b/src/openapi/generated/screening.ts @@ -0,0 +1,1611 @@ +// Generated OpenAPI specification for screening +// DO NOT EDIT THIS FILE DIRECTLY +export const screeningSpec = { + openapi: '3.1.0', + paths: { + '/unified/screening/packages': { + get: { + operationId: 'screening_list_screening_packages', + 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", + schema: { + additionalProperties: true, + nullable: true, + type: 'object', + }, + }, + { + name: 'fields', + required: false, + in: 'query', + description: + 'The comma separated list of fields to return in the response (if empty, all fields are returned)', + schema: { + nullable: true, + type: 'string', + }, + }, + { + name: 'filter', + required: false, + in: 'query', + description: 'Filter parameters that allow greater customisation of the list response', + 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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of screening packages was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/ScreeningPackagesPaginated', + }, + }, + }, + }, + '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 Screening Packages', + tags: ['Packages'], + 'x-speakeasy-group': 'screening', + 'x-speakeasy-name-override': 'list_screening_packages', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/screening/packages/{id}': { + get: { + operationId: 'screening_get_screening_package', + 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", + schema: { + additionalProperties: true, + nullable: true, + type: 'object', + }, + }, + { + name: 'fields', + required: false, + in: 'query', + description: + 'The comma separated list of fields to return in the response (if empty, all fields are returned)', + schema: { + nullable: true, + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The screening package with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/ScreeningPackageResult', + }, + }, + }, + }, + '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 Screening Package', + tags: ['Packages'], + 'x-speakeasy-group': 'screening', + 'x-speakeasy-name-override': 'get_screening_package', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/screening/results/webhook': { + post: { + operationId: 'screening_webhook_screening_result', + 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/ScreeningResultWebhook', + }, + }, + }, + }, + responses: { + '200': { + description: 'The screening result webhook was processed.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/ScreeningResultWebhook', + }, + }, + }, + }, + '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: 'Webhook Screening Result', + tags: ['Results'], + 'x-speakeasy-group': 'screening', + 'x-speakeasy-name-override': 'webhook_screening_result', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/screening/orders': { + post: { + operationId: 'screening_create_screening_order', + 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/ScreeningCreateOrderRequestDto', + }, + }, + }, + }, + responses: { + '201': { + description: 'The screening order was created.', + 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 Screening Order', + tags: ['Orders'], + 'x-speakeasy-group': 'screening', + 'x-speakeasy-name-override': 'create_screening_order', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + }, + info: { + title: 'Screening', + description: 'The documentation for the StackOne Unified API - SCREENING', + version: '1.0.0', + contact: {}, + }, + tags: [ + { + name: 'Orders', + description: '', + }, + { + name: 'Results', + description: '', + }, + { + name: 'Packages', + description: '', + }, + ], + servers: [ + { + url: 'https://api.stackone.com', + }, + ], + components: { + securitySchemes: { + basic: { + type: 'http', + scheme: 'basic', + }, + }, + schemas: { + BadGatewayResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 502, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Bad Gateway', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + BadRequestResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 400, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Bad Request', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + data: { + description: 'Error details', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/UnifiedError', + }, + ], + }, + provider_errors: { + description: 'List of provider-specific errors', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/ProviderError', + }, + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + ConflictResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 409, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Conflict', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + CreateResult: { + type: 'object', + properties: { + statusCode: { + type: 'number', + example: 201, + }, + message: { + type: 'string', + example: 'Record created successfully.', + }, + timestamp: { + type: 'string', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + }, + data: { + $ref: '#/components/schemas/CreateResultDataApiModel', + }, + }, + required: ['statusCode', 'message', 'timestamp', 'data'], + }, + CreateResultDataApiModel: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + }, + }, + ForbiddenResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 403, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Forbidden resource', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + InternalServerErrorResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 500, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Internal server error', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + NotFoundResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 404, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Not Found', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + NotImplementedResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 501, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Not Implemented', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + PreconditionFailedResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 412, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Precondition failed', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + ProviderError: { + type: 'object', + properties: { + status: { + type: 'number', + description: 'HTTP status code of the provider error', + example: 400, + nullable: true, + }, + url: { + type: 'string', + description: 'URL that caused the error', + example: 'https://api.provider.com/v1/resource', + nullable: true, + }, + raw: { + type: 'object', + description: 'Raw error response from the provider', + example: { + message: 'Invalid input parameters', + }, + nullable: true, + }, + headers: { + type: 'object', + description: 'Response headers', + example: { + 'content-type': 'application/json', + 'x-request-id': '5678c28b211dace4e0a0f9171e6b88c5', + }, + nullable: true, + }, + }, + }, + RawResponse: { + type: 'object', + properties: { + method: { + type: 'string', + }, + url: { + type: 'string', + }, + body: { + oneOf: [ + { + type: 'string', + }, + { + type: 'object', + }, + { + type: 'array', + items: { + type: 'integer', + format: 'int32', + minimum: 0, + maximum: 255, + }, + }, + ], + additionalProperties: true, + nullable: true, + }, + response: { + oneOf: [ + { + type: 'object', + additionalProperties: true, + }, + { + type: 'array', + items: {}, + }, + { + type: 'string', + }, + ], + nullable: true, + }, + }, + required: ['method', 'url'], + }, + RequestTimedOutResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 408, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Request timed out', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + ScreeningCreateOrderRequestDto: { + type: 'object', + properties: { + passthrough: { + type: 'object', + description: 'Value to pass through to the provider', + example: { + other_known_names: 'John Doe', + }, + additionalProperties: true, + nullable: true, + }, + unified_custom_fields: { + type: 'object', + description: 'Custom Unified Fields configured in your StackOne project', + additionalProperties: true, + example: { + my_project_custom_field_1: 'REF-1236', + my_project_custom_field_2: 'some other value', + }, + nullable: true, + }, + package_id: { + type: 'string', + description: 'Package ID', + example: '54321', + }, + candidate: { + description: 'Candidate information', + allOf: [ + { + $ref: '#/components/schemas/ScreeningOrderCandidate', + }, + ], + }, + }, + required: ['package_id', 'candidate'], + }, + ScreeningOrderCandidate: { + type: 'object', + properties: { + first_name: { + type: 'string', + description: 'Candidate first name', + example: 'John', + nullable: true, + }, + last_name: { + type: 'string', + description: 'Candidate last name', + example: 'Doe', + nullable: true, + }, + email: { + type: 'string', + description: 'Candidate email', + example: 'john.doe@example.com', + nullable: true, + }, + }, + }, + ScreeningPackage: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + unified_custom_fields: { + type: 'object', + description: 'Custom Unified Fields configured in your StackOne project', + additionalProperties: true, + example: { + my_project_custom_field_1: 'REF-1236', + my_project_custom_field_2: 'some other value', + }, + nullable: true, + }, + name: { + type: 'string', + description: 'The name of the screening package', + example: 'Basic Background Check', + }, + description: { + type: 'string', + description: 'The description of the screening package', + example: 'Basic background check including identity verification and criminal records', + nullable: true, + }, + }, + required: ['name'], + }, + ScreeningPackageResult: { + type: 'object', + properties: { + data: { + $ref: '#/components/schemas/ScreeningPackage', + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + required: ['data'], + }, + ScreeningPackagesPaginated: { + type: 'object', + properties: { + next_page: { + type: 'string', + deprecated: true, + nullable: true, + }, + next: { + type: 'string', + nullable: true, + }, + data: { + type: 'array', + items: { + $ref: '#/components/schemas/ScreeningPackage', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + required: ['data'], + }, + ScreeningResult: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + unified_custom_fields: { + type: 'object', + description: 'Custom Unified Fields configured in your StackOne project', + additionalProperties: true, + example: { + my_project_custom_field_1: 'REF-1236', + my_project_custom_field_2: 'some other value', + }, + nullable: true, + }, + order_id: { + type: 'string', + description: 'Order ID associated with this result', + example: '12345', + nullable: true, + }, + score: { + description: 'Score information', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/ScreeningResultScore', + }, + ], + }, + start_date: { + type: 'string', + description: 'Start date of the screening', + example: '2023-01-01T00:00:00Z', + format: 'date-time', + nullable: true, + }, + submission_date: { + type: 'string', + description: 'Submission date of the screening', + example: '2023-01-02T00:00:00Z', + format: 'date-time', + nullable: true, + }, + summary: { + type: 'string', + description: 'Summary of the screening result', + example: 'Background check completed successfully', + nullable: true, + }, + status: { + type: 'string', + description: 'Result status', + example: 'completed', + enum: [ + 'pending', + 'in_progress', + 'completed', + 'failed', + 'cancelled', + 'unmapped_value', + null, + ], + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + result_url: { + type: 'string', + description: 'URL to view the detailed result', + example: 'https://example.com/results/12345', + nullable: true, + }, + }, + }, + ScreeningResultScore: { + type: 'object', + properties: { + label: { + type: 'string', + description: 'Score label', + example: 'Overall Risk', + nullable: true, + }, + value: { + type: 'string', + description: 'Score value', + example: '75', + nullable: true, + }, + min: { + type: 'string', + description: 'Minimum score value', + example: '0', + nullable: true, + }, + max: { + type: 'string', + description: 'Maximum score value', + example: '100', + nullable: true, + }, + }, + }, + ScreeningResultWebhook: { + type: 'object', + properties: { + event: { + type: 'string', + description: 'The event type', + example: 'screening.result.completed', + enum: [ + 'screening.results.created', + 'screening.results.updated', + 'screening.results.completed', + 'screening.results.failed', + 'screening.results.cancelled', + ], + 'x-speakeasy-unknown-values': 'allow', + }, + data: { + description: 'The result data', + allOf: [ + { + $ref: '#/components/schemas/ScreeningResult', + }, + ], + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + required: ['event', 'data'], + }, + TooManyRequestsResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 429, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Too many requests', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + UnauthorizedResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 401, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Unauthorized', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + UnifiedError: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 400, + nullable: true, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Bad Request', + nullable: true, + }, + headers: { + type: 'object', + description: 'Response headers', + example: { + 'content-type': 'application/json', + 'x-request-id': '5678c28b211dace4e0a0f9171e6b88c5', + }, + nullable: true, + }, + }, + }, + UnprocessableEntityResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 422, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Unprocessable Entity', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + }, + }, +}; diff --git a/src/openapi/generated/stackone.ts b/src/openapi/generated/stackone.ts index 45e7fcf..8d51164 100644 --- a/src/openapi/generated/stackone.ts +++ b/src/openapi/generated/stackone.ts @@ -1184,180 +1184,9 @@ export const stackoneSpec = { }, }, }, - '/requests/logs/{id}': { - get: { - operationId: 'stackone_get_log', - parameters: [ - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, - { - name: 'include', - required: false, - in: 'query', - description: - 'The include parameter allows you to include additional data in the response.', - 'x-speakeasy-unknown-values': 'allow', - schema: { - nullable: true, - example: 'step_logs', - enum: ['step_logs', 'advanced_logs', null], - type: 'string', - }, - }, - ], - responses: { - '200': { - description: 'The log was retrieved.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/UnifiedLogResult', - }, - }, - }, - }, - '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', - }, - }, - }, - }, - '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 a Log', - tags: ['Request Logs'], - 'x-speakeasy-name-override': 'get_log', - 'x-speakeasy-retries': { - statusCodes: [429, 408], - strategy: 'backoff', - }, - }, - }, - '/requests/logs': { + '/requests/logs/steps': { get: { - operationId: 'stackone_list_logs', + operationId: 'stackone_list_step_logs', parameters: [ { name: 'order_by', @@ -1369,8 +1198,8 @@ export const stackoneSpec = { additionalProperties: false, nullable: true, example: 'created_at', - enum: ['provider', 'service', 'status', 'eventDatetime', 'duration', null], type: 'string', + enum: ['provider', 'service', 'status', 'eventDatetime', 'duration', null], }, }, { @@ -1383,8 +1212,8 @@ export const stackoneSpec = { additionalProperties: false, nullable: true, example: 'asc', - enum: ['asc', 'desc', null], type: 'string', + enum: ['asc', 'desc', null], }, }, { @@ -1408,20 +1237,6 @@ export const stackoneSpec = { type: 'string', }, }, - { - name: 'include', - required: false, - in: 'query', - description: - 'The include parameter allows you to include additional data in the response.', - 'x-speakeasy-unknown-values': 'allow', - schema: { - nullable: true, - example: 'step_logs', - enum: ['step_logs', null], - type: 'string', - }, - }, { name: 'filter', required: false, @@ -1458,25 +1273,6 @@ export const stackoneSpec = { nullable: true, additionalProperties: false, }, - source_types: { - description: 'A comma-separated list of source types to filter the results by.', - example: 'DASHBOARD,SYNTHETIC_WEBHOOK', - type: 'string', - nullable: true, - additionalProperties: false, - }, - source_values: { - description: 'A comma-separated list of source values to filter the results by.', - type: 'string', - nullable: true, - additionalProperties: false, - }, - source_ids: { - description: 'A comma-separated list of source IDs to filter the results by.', - type: 'string', - nullable: true, - additionalProperties: false, - }, http_methods: { description: 'A comma-separated list of HTTP methods to filter the results by.', example: 'GET,POST', @@ -1541,35 +1337,190 @@ export const stackoneSpec = { nullable: true, additionalProperties: false, }, - order_by: { - description: 'The field to order the results by.', - example: 'created_at', + }, + nullable: true, + type: 'object', + }, + }, + ], + responses: { + '200': { + description: 'The list of step logs was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/StepLogsPaginated', + }, + }, + }, + }, + '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', - nullable: true, - enum: ['provider', 'service', 'status', 'eventDatetime', 'duration'], - additionalProperties: false, }, - order_direction: { - description: 'The direction to order the results by.', - example: 'asc', - type: 'string', - nullable: true, - enum: ['asc', 'desc'], - additionalProperties: false, + }, + }, + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/RequestTimedOutResponse', + }, + }, + }, + }, + '409': { + description: 'Conflict with current state.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/ConflictResponse', + }, + }, + }, + }, + '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 Step Logs', + tags: ['Request Logs'], + 'x-speakeasy-name-override': 'list_step_logs', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/requests/logs/{id}': { + get: { + operationId: 'stackone_get_log', + parameters: [ + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, + { + name: 'include', + required: false, + in: 'query', + description: + 'The include parameter allows you to include additional data in the response.', + 'x-speakeasy-unknown-values': 'allow', + schema: { nullable: true, - type: 'object', + example: 'step_logs', + type: 'string', + enum: ['step_logs', 'advanced_logs', null], }, }, ], responses: { '200': { - description: 'The list of logs was retrieved.', + description: 'The log was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/UnifiedLogsPaginated', + $ref: '#/components/schemas/UnifiedLogResult', }, }, }, @@ -1698,18 +1649,18 @@ export const stackoneSpec = { basic: [], }, ], - summary: 'List Logs', + summary: 'Get a Log', tags: ['Request Logs'], - 'x-speakeasy-name-override': 'list_logs', + 'x-speakeasy-name-override': 'get_log', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/requests/logs/steps': { + '/requests/logs': { get: { - operationId: 'stackone_list_step_logs', + operationId: 'stackone_list_logs', parameters: [ { name: 'order_by', @@ -1721,8 +1672,8 @@ export const stackoneSpec = { additionalProperties: false, nullable: true, example: 'created_at', - enum: ['provider', 'service', 'status', 'eventDatetime', 'duration', null], type: 'string', + enum: ['provider', 'service', 'status', 'eventDatetime', 'duration', null], }, }, { @@ -1735,8 +1686,8 @@ export const stackoneSpec = { additionalProperties: false, nullable: true, example: 'asc', - enum: ['asc', 'desc', null], type: 'string', + enum: ['asc', 'desc', null], }, }, { @@ -1770,8 +1721,8 @@ export const stackoneSpec = { schema: { nullable: true, example: 'step_logs', - enum: ['step_logs', 'advanced_logs', null], type: 'string', + enum: ['step_logs', null], }, }, { @@ -1810,6 +1761,25 @@ export const stackoneSpec = { nullable: true, additionalProperties: false, }, + source_types: { + description: 'A comma-separated list of source types to filter the results by.', + example: 'DASHBOARD,SYNTHETIC_WEBHOOK', + type: 'string', + nullable: true, + additionalProperties: false, + }, + source_values: { + description: 'A comma-separated list of source values to filter the results by.', + type: 'string', + nullable: true, + additionalProperties: false, + }, + source_ids: { + description: 'A comma-separated list of source IDs to filter the results by.', + type: 'string', + nullable: true, + additionalProperties: false, + }, http_methods: { description: 'A comma-separated list of HTTP methods to filter the results by.', example: 'GET,POST', @@ -1879,7 +1849,7 @@ export const stackoneSpec = { example: 'created_at', type: 'string', nullable: true, - enum: ['provider', 'service', 'status', 'eventDatetime', 'duration'], + enum: ['provider', 'service', 'status', 'eventDatetime', 'duration', null], additionalProperties: false, }, order_direction: { @@ -1887,7 +1857,7 @@ export const stackoneSpec = { example: 'asc', type: 'string', nullable: true, - enum: ['asc', 'desc'], + enum: ['asc', 'desc', null], additionalProperties: false, }, }, @@ -1898,11 +1868,11 @@ export const stackoneSpec = { ], responses: { '200': { - description: 'The list of step logs was retrieved.', + description: 'The list of logs was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/StepLogsPaginated', + $ref: '#/components/schemas/UnifiedLogsPaginated', }, }, }, @@ -2031,9 +2001,9 @@ export const stackoneSpec = { basic: [], }, ], - summary: 'List Step Logs', + summary: 'List Logs', tags: ['Request Logs'], - 'x-speakeasy-name-override': 'list_step_logs', + 'x-speakeasy-name-override': 'list_logs', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', @@ -2865,6 +2835,7 @@ export const stackoneSpec = { 'documents', 'ticketing', 'screening', + 'messaging', ], example: 'hris', description: 'The provider service category', @@ -2994,6 +2965,7 @@ export const stackoneSpec = { 'documents', 'ticketing', 'screening', + 'messaging', ], 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -3011,6 +2983,7 @@ export const stackoneSpec = { 'documents', 'ticketing', 'screening', + 'messaging', null, ], }, @@ -3091,6 +3064,7 @@ export const stackoneSpec = { 'documents', 'ticketing', 'screening', + 'messaging', ], 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -3108,6 +3082,7 @@ export const stackoneSpec = { 'documents', 'ticketing', 'screening', + 'messaging', null, ], }, @@ -3117,6 +3092,11 @@ export const stackoneSpec = { description: 'The provider to connect to', nullable: true, }, + provider_version: { + type: 'string', + description: 'The provider version to connect to', + nullable: true, + }, origin_owner_id: { type: 'string', description: 'The origin owner identifier', @@ -3189,6 +3169,7 @@ export const stackoneSpec = { 'documents', 'ticketing', 'screening', + 'messaging', ], 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -3206,6 +3187,7 @@ export const stackoneSpec = { 'documents', 'ticketing', 'screening', + 'messaging', null, ], }, @@ -3419,6 +3401,7 @@ export const stackoneSpec = { 'documents', 'ticketing', 'screening', + 'messaging', ], 'x-speakeasy-unknown-values': 'allow', }, @@ -3599,70 +3582,209 @@ export const stackoneSpec = { 'x-speakeasy-unknown-values': 'allow', nullable: true, }, - path: { + path: { + type: 'string', + description: 'The path of the request including any query paramters', + example: '/employees/directory', + nullable: true, + }, + headers: { + type: 'object', + description: 'The headers to send in the request', + additionalProperties: true, + example: { + 'Content-Type': 'application/json', + }, + nullable: true, + }, + body: { + type: 'object', + description: 'The body of the request', + additionalProperties: true, + nullable: true, + }, + }, + }, + RequestTimedOutResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 408, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Request timed out', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + StatusReason: { + type: 'object', + properties: { + code: { + type: 'string', + nullable: true, + }, + description: { + type: 'string', + nullable: true, + }, + timestamp: { + format: 'date-time', + type: 'string', + }, + }, + required: ['timestamp'], + }, + StepLog: { + type: 'object', + properties: { + request_id: { + type: 'string', + description: 'The request ID', + example: 'adbf752f-6457-4ddd-89b3-98ae2252b83b', + nullable: true, + }, + start_time: { + type: 'string', + description: 'The request start time ISO8601 date string', + example: '2021-01-01T00:00:00Z', + format: 'date-time', + nullable: true, + }, + end_time: { + type: 'string', + description: 'The request end time ISO8601 date string', + example: '2021-01-01T00:00:00Z', + format: 'date-time', + nullable: true, + }, + account_id: { + type: 'string', + description: 'The account ID of the request', + example: '45355976281015164504', + nullable: true, + }, + project_id: { + type: 'string', + description: 'The project ID of the request', + example: 'dev-project-68574', + nullable: true, + }, + http_method: { + type: 'string', + description: 'The requested HTTP method', + example: 'get', + nullable: true, + }, + path: { + type: 'string', + description: 'The requested path', + example: '/unified/hris/employees', + nullable: true, + }, + url: { + type: 'string', + description: 'The requested URL', + example: 'https://api.stackone.com/unified/hris/employees?raw=false', + nullable: true, + }, + status: { + type: 'number', + description: 'The requests response status code', + example: 200, + nullable: true, + }, + duration: { + type: 'number', + description: 'The request duration in milliseconds', + example: 356, + nullable: true, + }, + success: { + type: 'boolean', + description: 'The request success flag', + example: true, + nullable: true, + }, + provider: { + type: 'string', + description: 'The requested provider', + example: 'planday', + nullable: true, + }, + service: { type: 'string', - description: 'The path of the request including any query paramters', - example: '/employees/directory', + description: 'The requested service', + example: 'hris', nullable: true, }, - headers: { - type: 'object', - description: 'The headers to send in the request', - additionalProperties: true, - example: { - 'Content-Type': 'application/json', - }, + resource: { + type: 'string', + description: 'The requested resource', + example: 'employees', nullable: true, }, - body: { - type: 'object', - description: 'The body of the request', - additionalProperties: true, + child_resource: { + type: 'string', + description: 'The requested child resource', + example: 'time-off', nullable: true, }, - }, - }, - RequestTimedOutResponse: { - type: 'object', - properties: { - statusCode: { - type: 'number', - description: 'HTTP status code', - example: 408, - }, - message: { + sub_resource: { type: 'string', - description: 'Error message', - example: 'Request timed out', + description: 'The requested sub resource', + example: 'documents', + nullable: true, }, - timestamp: { + action: { type: 'string', - description: 'Timestamp when the error occurred', - example: '2023-05-30T00:00:00.000Z', - format: 'date-time', + description: 'The requested action', + example: 'download', + nullable: true, }, - }, - required: ['statusCode', 'message', 'timestamp'], - }, - StatusReason: { - type: 'object', - properties: { - code: { - type: 'string', + is_worker: { + type: 'boolean', + description: 'The asynchronous worker flag', + example: false, nullable: true, }, - description: { + id: { type: 'string', + description: 'The provider request ID', + example: 'adbf752f-6457-4ddd-89b3-98ae2252b83b', nullable: true, }, - timestamp: { - format: 'date-time', - type: 'string', + request: { + description: 'The advanced log request data', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/AdvancedLogRequestData', + }, + ], + }, + response: { + description: 'The advanced log response data', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/AdvancedLogResponseData', + }, + ], }, }, - required: ['timestamp'], }, - StepLogsApiModel: { + StepLogPartial: { type: 'object', properties: { request_id: { @@ -3781,24 +3903,6 @@ export const stackoneSpec = { example: 'adbf752f-6457-4ddd-89b3-98ae2252b83b', nullable: true, }, - request: { - description: 'The advanced log request data', - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/AdvancedLogRequestData', - }, - ], - }, - response: { - description: 'The advanced log response data', - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/AdvancedLogResponseData', - }, - ], - }, }, }, StepLogsPaginated: { @@ -3811,7 +3915,7 @@ export const stackoneSpec = { data: { type: 'array', items: { - $ref: '#/components/schemas/StepLogsApiModel', + $ref: '#/components/schemas/StepLogPartial', }, }, }, @@ -4053,13 +4157,12 @@ export const stackoneSpec = { ], }, step_requests: { - description: 'The list of provider requests', - example: 'Account Tester', - nullable: true, type: 'array', + description: 'The list of provider requests', items: { - type: 'string', + $ref: '#/components/schemas/StepLog', }, + nullable: true, }, }, }, @@ -4073,12 +4176,160 @@ export const stackoneSpec = { data: { type: 'array', items: { - $ref: '#/components/schemas/UnifiedLogs', + $ref: '#/components/schemas/UnifiedLogsPartial', }, }, }, required: ['data'], }, + UnifiedLogsPartial: { + type: 'object', + properties: { + request_id: { + type: 'string', + description: 'The request ID', + example: 'adbf752f-6457-4ddd-89b3-98ae2252b83b', + nullable: true, + }, + event_datetime: { + type: 'string', + description: 'The event ISO8601 date string', + example: '2021-01-01T00:00:00Z', + format: 'date-time', + nullable: true, + }, + start_time: { + type: 'string', + description: 'The request start time ISO8601 date string', + example: '2021-01-01T00:00:00Z', + format: 'date-time', + nullable: true, + }, + end_time: { + type: 'string', + description: 'The request end time ISO8601 date string', + example: '2021-01-01T00:00:00Z', + format: 'date-time', + nullable: true, + }, + account_id: { + type: 'string', + description: 'The account ID of the request', + example: '45355976281015164504', + nullable: true, + }, + project_id: { + type: 'string', + description: 'The project ID of the request', + example: 'dev-project-68574', + nullable: true, + }, + http_method: { + type: 'string', + description: 'The requested HTTP method', + example: 'get', + nullable: true, + }, + path: { + type: 'string', + description: 'The requested path', + example: '/unified/hris/employees', + nullable: true, + }, + url: { + type: 'string', + description: 'The requested URL', + example: 'https://api.stackone.com/unified/hris/employees?raw=false', + nullable: true, + }, + status: { + type: 'number', + description: 'The requests response status code', + example: 200, + nullable: true, + }, + duration: { + type: 'number', + description: 'The request duration in milliseconds', + example: 356, + nullable: true, + }, + success: { + type: 'boolean', + description: 'The request success flag', + example: true, + nullable: true, + }, + provider: { + type: 'string', + description: 'The requested provider', + example: 'planday', + nullable: true, + }, + service: { + type: 'string', + description: 'The requested service', + example: 'hris', + nullable: true, + }, + resource: { + type: 'string', + description: 'The requested resource', + example: 'employees', + nullable: true, + }, + child_resource: { + type: 'string', + description: 'The requested child resource', + example: 'time-off', + nullable: true, + }, + sub_resource: { + type: 'string', + description: 'The requested sub resource', + example: 'documents', + nullable: true, + }, + action: { + type: 'string', + description: 'The requested action', + example: 'download', + nullable: true, + }, + is_worker: { + type: 'boolean', + description: 'The asynchronous worker flag', + example: false, + nullable: true, + }, + source_type: { + type: 'string', + description: 'The requests source type', + example: 'DASHBOARD', + nullable: true, + }, + source_value: { + type: 'string', + description: 'The requests source value', + example: 'ACCOUNT_TESTER', + nullable: true, + }, + source_id: { + type: 'string', + description: 'The requests source ID', + example: '1234567890', + nullable: true, + }, + step_requests: { + type: 'array', + description: 'The list of provider requests', + items: { + $ref: '#/components/schemas/StepLogPartial', + }, + nullable: true, + }, + }, + }, UnprocessableEntityResponse: { type: 'object', properties: { diff --git a/src/openapi/generated/ticketing.ts b/src/openapi/generated/ticketing.ts index 0e93350..7e71820 100644 --- a/src/openapi/generated/ticketing.ts +++ b/src/openapi/generated/ticketing.ts @@ -2,7 +2,4206 @@ // DO NOT EDIT THIS FILE DIRECTLY export const ticketingSpec = { openapi: '3.1.0', - paths: {}, + paths: { + '/unified/ticketing/tickets': { + get: { + operationId: 'ticketing_list_tickets', + 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,type,ticket_number,title,creator_id,remote_creator_id,reporters,assignees,content,parent_id,remote_parent_id,closed_at,ticket_url,status,priority,tags,collections,organization,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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of tickets was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingTicketsPaginated', + }, + }, + }, + }, + '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 Tickets', + tags: ['Tickets'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'list_tickets', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + post: { + operationId: 'ticketing_create_ticket', + 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/TicketingTicketCreateRequestDto', + }, + }, + }, + }, + responses: { + '201': { + description: 'Record 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 Ticket', + tags: ['Tickets'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'create_ticket', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/tickets/{id}': { + get: { + operationId: 'ticketing_get_ticket', + 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,type,ticket_number,title,creator_id,remote_creator_id,reporters,assignees,content,parent_id,remote_parent_id,closed_at,ticket_url,status,priority,tags,collections,organization,created_at,updated_at', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The ticket with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingTicketResult', + }, + }, + }, + }, + '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 Ticket', + tags: ['Tickets'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'get_ticket', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + patch: { + operationId: 'ticketing_update_ticket', + 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/TicketingTicketUpdateRequestDto', + }, + }, + }, + }, + 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 Ticket', + tags: ['Tickets'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'update_ticket', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/users': { + get: { + operationId: 'ticketing_list_users', + 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,type,name,primary_email,primary_phone,username,active,first_name,last_name,customer_account_reference,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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of users was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingUsersPaginated', + }, + }, + }, + }, + '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 Users', + tags: ['Users'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'list_users', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/users/{id}': { + get: { + operationId: 'ticketing_get_user', + 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,type,name,primary_email,primary_phone,username,active,first_name,last_name,customer_account_reference,created_at,updated_at', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The user with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingUserResult', + }, + }, + }, + }, + '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 User', + tags: ['Users'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'get_user', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/tickets/{id}/comments': { + get: { + operationId: 'ticketing_list_comments', + 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,ticket_id,remote_ticket_id,content,user_id,remote_user_id,internal,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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of comments was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingCommentsPaginated', + }, + }, + }, + }, + '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 Comments', + tags: ['Tickets', 'Comments'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'list_comments', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/tickets/{id}/comments/{subResourceId}': { + get: { + operationId: 'ticketing_get_comment', + 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: 'subResourceId', + 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,ticket_id,remote_ticket_id,content,user_id,remote_user_id,internal,created_at,updated_at', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The comment with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingCommentResult', + }, + }, + }, + }, + '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 Comment', + tags: ['Tickets', 'Comments'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'get_comment', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/tickets/{id}/attachments/{subResourceId}/download': { + get: { + operationId: 'ticketing_download_ticketing_attachment', + 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: 'subResourceId', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, + { + name: 'format', + required: false, + in: 'query', + description: 'The format to download the file in', + schema: { + nullable: true, + example: 'base64', + type: 'string', + }, + }, + { + name: 'export_format', + required: false, + in: 'query', + description: 'The export format of the file', + schema: { + nullable: true, + example: 'text/plain', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: + 'The document related to the application with the given identifiers was retrieved.', + content: { + '*/*': { + schema: { + type: 'string', + format: 'binary', + }, + }, + }, + }, + '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: 'Download Attachment', + tags: ['Tickets', 'Attachments'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'download_ticketing_attachment', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/tickets/{id}/attachments': { + get: { + operationId: 'ticketing_list_attachments', + 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,ticket_id,remote_ticket_id,user_id,remote_user_id,file_name,file_format,file_url,size,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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of attachments was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingAttachmentsPaginated', + }, + }, + }, + }, + '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 Attachments', + tags: ['Tickets', 'Attachments'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'list_attachments', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/tickets/{id}/attachments/{subResourceId}': { + get: { + operationId: 'ticketing_get_attachment', + 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: 'subResourceId', + 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,ticket_id,remote_ticket_id,user_id,remote_user_id,file_name,file_format,file_url,size,created_at,updated_at', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The attachment with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingAttachmentResult', + }, + }, + }, + }, + '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 Attachment', + tags: ['Tickets', 'Attachments'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'get_attachment', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/ticket_types': { + get: { + operationId: 'ticketing_list_ticket_types', + 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,parent_collection_id,remote_parent_collection_id', + 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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of ticket types was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingTicketTypePaginated', + }, + }, + }, + }, + '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 Ticket Types', + tags: ['Ticket Types'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'list_ticket_types', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/ticket_types/{id}': { + get: { + operationId: 'ticketing_get_ticket_type', + 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,parent_collection_id,remote_parent_collection_id', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The ticket type with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingTicketTypeResult', + }, + }, + }, + }, + '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 Ticket Type', + tags: ['Ticket Types'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'get_ticket_type', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/collections': { + get: { + operationId: 'ticketing_list_collections', + 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,organization_id,remote_organization_id,parent_id,remote_parent_id,key,name,description,type,created_at,updated_at', + type: 'string', + }, + }, + { + name: 'filter', + required: false, + in: 'query', + description: 'Ticketing Collections 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', + nullable: true, + additionalProperties: false, + }, + type: { + description: 'Filter collections by type', + enum: ['project', 'component', null], + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of collections was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingCollectionsPaginated', + }, + }, + }, + }, + '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 Collections', + tags: ['Collections'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'list_collections', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/collections/{id}': { + get: { + operationId: 'ticketing_get_collection', + 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,organization_id,remote_organization_id,parent_id,remote_parent_id,key,name,description,type,created_at,updated_at', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The collection with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingCollectionResult', + }, + }, + }, + }, + '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 Collection', + tags: ['Collections'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'get_collection', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/collections/{id}/ticket_types': { + get: { + operationId: 'ticketing_list_collection_ticket_types', + 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,parent_collection_id,remote_parent_collection_id', + 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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of collection ticket types was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingTicketTypePaginated', + }, + }, + }, + }, + '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 Collection Ticket Types', + tags: ['Collections', 'Ticket Types'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'list_collection_ticket_types', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/tickets/{id}/statuses': { + get: { + operationId: 'ticketing_list_ticket_statuses', + 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 to return in the response (if empty, all fields are returned)', + schema: { + nullable: true, + 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', + 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: { + nullable: true, + example: '2020-01-01T00:00:00.000Z', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The list of ticket statuses was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingTicketStatusesPaginated', + }, + }, + }, + }, + '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 Ticket Statuses', + tags: ['Tickets', 'Ticket Statuses'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'list_ticket_statuses', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + }, info: { title: 'Ticketing', description: 'The documentation for the StackOne Unified API - TICKETING', @@ -18,6 +4217,26 @@ export const ticketingSpec = { name: 'Users', description: '', }, + { + name: 'Comments', + description: '', + }, + { + name: 'Attachments', + description: '', + }, + { + name: 'Ticket Types', + description: '', + }, + { + name: 'Collections', + description: '', + }, + { + name: 'Ticket Statuses', + description: '', + }, ], servers: [ { @@ -31,6 +4250,2821 @@ export const ticketingSpec = { scheme: 'basic', }, }, - schemas: {}, + schemas: { + BadGatewayResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 502, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Bad Gateway', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + BadRequestResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 400, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Bad Request', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + data: { + description: 'Error details', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/UnifiedError', + }, + ], + }, + provider_errors: { + description: 'List of provider-specific errors', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/ProviderError', + }, + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + ConflictResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 409, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Conflict', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + CreateResult: { + type: 'object', + properties: { + statusCode: { + type: 'number', + example: 201, + }, + message: { + type: 'string', + example: 'Record created successfully.', + }, + timestamp: { + type: 'string', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + }, + data: { + $ref: '#/components/schemas/CreateResultDataApiModel', + }, + }, + required: ['statusCode', 'message', 'timestamp', 'data'], + }, + CreateResultDataApiModel: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + }, + }, + FileFormatEnum: { + type: 'object', + properties: { + value: { + type: 'string', + description: 'The file format of the file, expressed as a file extension', + enum: [ + 'unmapped_value', + 'ez', + 'aw', + 'atom', + 'atomcat', + 'atomdeleted', + 'atomsvc', + 'dwd', + 'held', + 'rsat', + 'bdoc', + 'xcs', + 'ccxml', + 'cdfx', + 'cdmia', + 'cdmic', + 'cdmid', + 'cdmio', + 'cdmiq', + 'cu', + 'mpd', + 'davmount', + 'dbk', + 'dssc', + 'xdssc', + 'es', + 'ecma', + 'emma', + 'emotionml', + 'epub', + 'exi', + 'exp', + 'fdt', + 'pfr', + 'geojson', + 'gml', + 'gpx', + 'gxf', + 'gz', + 'hjson', + 'stk', + 'ink', + 'inkml', + 'ipfix', + 'its', + 'jar', + 'war', + 'ear', + 'ser', + 'class', + 'js', + 'mjs', + 'json', + 'map', + 'json5', + 'jsonml', + 'jsonld', + 'lgr', + 'lostxml', + 'hqx', + 'cpt', + 'mads', + 'webmanifest', + 'mrc', + 'mrcx', + 'ma', + 'nb', + 'mb', + 'mathml', + 'mbox', + 'mscml', + 'metalink', + 'meta4', + 'mets', + 'maei', + 'musd', + 'mods', + 'm21', + 'mp21', + 'mp4s', + 'm4p', + 'doc', + 'dot', + 'mxf', + 'nq', + 'nt', + 'cjs', + 'bin', + 'dms', + 'lrf', + 'mar', + 'so', + 'dist', + 'distz', + 'pkg', + 'bpk', + 'dump', + 'elc', + 'deploy', + 'exe', + 'dll', + 'deb', + 'dmg', + 'iso', + 'img', + 'msi', + 'msp', + 'msm', + 'buffer', + 'oda', + 'opf', + 'ogx', + 'omdoc', + 'onetoc', + 'onetoc2', + 'onetmp', + 'onepkg', + 'oxps', + 'relo', + 'xer', + 'pdf', + 'pgp', + 'asc', + 'sig', + 'prf', + 'p10', + 'p7m', + 'p7c', + 'p7s', + 'p8', + 'ac', + 'cer', + 'crl', + 'pkipath', + 'pki', + 'pls', + 'ai', + 'eps', + 'ps', + 'provx', + 'pskcxml', + 'raml', + 'rdf', + 'owl', + 'rif', + 'rnc', + 'rl', + 'rld', + 'rs', + 'rapd', + 'sls', + 'rusd', + 'gbr', + 'mft', + 'roa', + 'rsd', + 'rss', + 'rtf', + 'sbml', + 'scq', + 'scs', + 'spq', + 'spp', + 'sdp', + 'senmlx', + 'sensmlx', + 'setpay', + 'setreg', + 'shf', + 'siv', + 'sieve', + 'smi', + 'smil', + 'rq', + 'srx', + 'gram', + 'grxml', + 'sru', + 'ssdl', + 'ssml', + 'swidtag', + 'tei', + 'teicorpus', + 'tfi', + 'tsd', + 'toml', + 'trig', + 'ttml', + 'ubj', + 'rsheet', + 'td', + 'vxml', + 'wasm', + 'wgt', + 'hlp', + 'wsdl', + 'wspolicy', + 'xaml', + 'xav', + 'xca', + 'xdf', + 'xel', + 'xns', + 'xenc', + 'xhtml', + 'xht', + 'xlf', + 'xml', + 'xsl', + 'xsd', + 'rng', + 'dtd', + 'xop', + 'xpl', + '*xsl', + 'xslt', + 'xspf', + 'mxml', + 'xhvml', + 'xvml', + 'xvm', + 'yang', + 'yin', + 'zip', + '*3gpp', + 'adp', + 'amr', + 'au', + 'snd', + 'mid', + 'midi', + 'kar', + 'rmi', + 'mxmf', + '*mp3', + 'm4a', + 'mp4a', + 'mpga', + 'mp2', + 'mp2a', + 'mp3', + 'm2a', + 'm3a', + 'oga', + 'ogg', + 'spx', + 'opus', + 's3m', + 'sil', + 'wav', + '*wav', + 'weba', + 'xm', + 'ttc', + 'otf', + 'ttf', + 'woff', + 'woff2', + 'exr', + 'apng', + 'avif', + 'bmp', + 'cgm', + 'drle', + 'emf', + 'fits', + 'g3', + 'gif', + 'heic', + 'heics', + 'heif', + 'heifs', + 'hej2', + 'hsj2', + 'ief', + 'jls', + 'jp2', + 'jpg2', + 'jpeg', + 'jpg', + 'jpe', + 'jph', + 'jhc', + 'jpm', + 'jpx', + 'jpf', + 'jxr', + 'jxra', + 'jxrs', + 'jxs', + 'jxsc', + 'jxsi', + 'jxss', + 'ktx', + 'ktx2', + 'png', + 'sgi', + 'svg', + 'svgz', + 't38', + 'tif', + 'tiff', + 'tfx', + 'webp', + 'wmf', + 'disposition-notification', + 'u8msg', + 'u8dsn', + 'u8mdn', + 'u8hdr', + 'eml', + 'mime', + '3mf', + 'gltf', + 'glb', + 'igs', + 'iges', + 'msh', + 'mesh', + 'silo', + 'mtl', + 'obj', + 'stpx', + 'stpz', + 'stpxz', + 'stl', + 'wrl', + 'vrml', + '*x3db', + 'x3dbz', + 'x3db', + '*x3dv', + 'x3dvz', + 'x3d', + 'x3dz', + 'x3dv', + 'appcache', + 'manifest', + 'ics', + 'ifb', + 'coffee', + 'litcoffee', + 'css', + 'csv', + 'html', + 'htm', + 'shtml', + 'jade', + 'jsx', + 'less', + 'markdown', + 'md', + 'mml', + 'mdx', + 'n3', + 'txt', + 'text', + 'conf', + 'def', + 'list', + 'log', + 'in', + 'ini', + 'rtx', + '*rtf', + 'sgml', + 'sgm', + 'shex', + 'slim', + 'slm', + 'spdx', + 'stylus', + 'styl', + 'tsv', + 't', + 'tr', + 'roff', + 'man', + 'me', + 'ms', + 'ttl', + 'uri', + 'uris', + 'urls', + 'vcard', + 'vtt', + '*xml', + 'yaml', + 'yml', + '3gp', + '3gpp', + '3g2', + 'h261', + 'h263', + 'h264', + 'm4s', + 'jpgv', + '*jpm', + 'jpgm', + 'mj2', + 'mjp2', + 'ts', + 'mp4', + 'mp4v', + 'mpg4', + 'mpeg', + 'mpg', + 'mpe', + 'm1v', + 'm2v', + 'ogv', + 'qt', + 'mov', + 'webm', + 'cww', + '1km', + 'plb', + 'psb', + 'pvb', + 'tcap', + 'pwn', + 'aso', + 'imp', + 'acu', + 'atc', + 'acutc', + 'air', + 'fcdt', + 'fxp', + 'fxpl', + 'xdp', + 'xfdf', + 'ahead', + 'azf', + 'azs', + 'azw', + 'acc', + 'ami', + 'apk', + 'cii', + 'fti', + 'atx', + 'mpkg', + 'key', + 'm3u8', + 'numbers', + 'pages', + 'pkpass', + 'swi', + 'iota', + 'aep', + 'bmml', + 'mpm', + 'bmi', + 'rep', + 'cdxml', + 'mmd', + 'cdy', + 'csl', + 'cla', + 'rp9', + 'c4g', + 'c4d', + 'c4f', + 'c4p', + 'c4u', + 'c11amc', + 'c11amz', + 'csp', + 'cdbcmsg', + 'cmc', + 'clkx', + 'clkk', + 'clkp', + 'clkt', + 'clkw', + 'wbs', + 'pml', + 'ppd', + 'car', + 'pcurl', + 'dart', + 'rdz', + 'dbf', + 'uvf', + 'uvvf', + 'uvd', + 'uvvd', + 'uvt', + 'uvvt', + 'uvx', + 'uvvx', + 'uvz', + 'uvvz', + 'fe_launch', + 'dna', + 'mlp', + 'mle', + 'dpg', + 'dfac', + 'kpxx', + 'ait', + 'svc', + 'geo', + 'mag', + 'nml', + 'esf', + 'msf', + 'qam', + 'slt', + 'ssf', + 'es3', + 'et3', + 'ez2', + 'ez3', + 'fdf', + 'mseed', + 'seed', + 'dataless', + 'gph', + 'ftc', + 'fm', + 'frame', + 'maker', + 'book', + 'fnc', + 'ltf', + 'fsc', + 'oas', + 'oa2', + 'oa3', + 'fg5', + 'bh2', + 'ddd', + 'xdw', + 'xbd', + 'fzs', + 'txd', + 'ggb', + 'ggt', + 'gex', + 'gre', + 'gxt', + 'g2w', + 'g3w', + 'gmx', + 'gdoc', + 'gslides', + 'gsheet', + 'kml', + 'kmz', + 'gqf', + 'gqs', + 'gac', + 'ghf', + 'gim', + 'grv', + 'gtm', + 'tpl', + 'vcg', + 'hal', + 'zmm', + 'hbci', + 'les', + 'hpgl', + 'hpid', + 'hps', + 'jlt', + 'pcl', + 'pclxl', + 'sfd-hdstx', + 'mpy', + 'afp', + 'listafp', + 'list3820', + 'irm', + 'sc', + 'icc', + 'icm', + 'igl', + 'ivp', + 'ivu', + 'igm', + 'xpw', + 'xpx', + 'i2g', + 'qbo', + 'qfx', + 'rcprofile', + 'irp', + 'xpr', + 'fcs', + 'jam', + 'rms', + 'jisp', + 'joda', + 'ktz', + 'ktr', + 'karbon', + 'chrt', + 'kfo', + 'flw', + 'kon', + 'kpr', + 'kpt', + 'ksp', + 'kwd', + 'kwt', + 'htke', + 'kia', + 'kne', + 'knp', + 'skp', + 'skd', + 'skt', + 'skm', + 'sse', + 'lasxml', + 'lbd', + 'lbe', + 'apr', + 'pre', + 'nsf', + 'org', + 'scm', + 'lwp', + 'portpkg', + 'mvt', + 'mcd', + 'mc1', + 'cdkey', + 'mwf', + 'mfm', + 'flo', + 'igx', + 'mif', + 'daf', + 'dis', + 'mbk', + 'mqy', + 'msl', + 'plc', + 'txf', + 'mpn', + 'mpc', + 'xul', + 'cil', + 'cab', + 'xls', + 'xlm', + 'xla', + 'xlc', + 'xlt', + 'xlw', + 'xlam', + 'xlsb', + 'xlsm', + 'xltm', + 'eot', + 'chm', + 'ims', + 'lrm', + 'thmx', + 'msg', + 'cat', + '*stl', + 'ppt', + 'pps', + 'pot', + 'ppam', + 'pptm', + 'sldm', + 'ppsm', + 'potm', + 'mpp', + 'mpt', + 'docm', + 'dotm', + 'wps', + 'wks', + 'wcm', + 'wdb', + 'wpl', + 'xps', + 'mseq', + 'mus', + 'msty', + 'taglet', + 'nlu', + 'ntf', + 'nitf', + 'nnd', + 'nns', + 'nnw', + '*ac', + 'ngdat', + 'n-gage', + 'rpst', + 'rpss', + 'edm', + 'edx', + 'ext', + 'odc', + 'otc', + 'odb', + 'odf', + 'odft', + 'odg', + 'otg', + 'odi', + 'oti', + 'odp', + 'otp', + 'ods', + 'ots', + 'odt', + 'odm', + 'ott', + 'oth', + 'xo', + 'dd2', + 'obgx', + 'oxt', + 'osm', + 'pptx', + 'sldx', + 'ppsx', + 'potx', + 'xlsx', + 'xltx', + 'docx', + 'dotx', + 'mgp', + 'dp', + 'esa', + 'pdb', + 'pqa', + 'oprc', + 'paw', + 'str', + 'ei6', + 'efif', + 'wg', + 'plf', + 'pbd', + 'box', + 'mgz', + 'qps', + 'ptid', + 'qxd', + 'qxt', + 'qwd', + 'qwt', + 'qxl', + 'qxb', + 'rar', + 'bed', + 'mxl', + 'musicxml', + 'cryptonote', + 'cod', + 'rm', + 'rmvb', + 'link66', + 'st', + 'see', + 'sema', + 'semd', + 'semf', + 'ifm', + 'itp', + 'iif', + 'ipk', + 'twd', + 'twds', + 'mmf', + 'teacher', + 'fo', + 'sdkm', + 'sdkd', + 'dxp', + 'sfs', + 'sdc', + 'sda', + 'sdd', + 'smf', + 'sdw', + 'vor', + 'sgl', + 'smzip', + 'sm', + 'wadl', + 'sxc', + 'stc', + 'sxd', + 'std', + 'sxi', + 'sti', + 'sxm', + 'sxw', + 'sxg', + 'stw', + 'sus', + 'susp', + 'svd', + 'sis', + 'sisx', + 'xsm', + 'bdm', + 'xdm', + 'ddf', + 'tao', + 'pcap', + 'cap', + 'dmp', + 'tmo', + 'tpt', + 'mxs', + 'tra', + 'ufd', + 'ufdl', + 'utz', + 'umj', + 'unityweb', + 'uoml', + 'vcx', + 'vsd', + 'vst', + 'vss', + 'vsw', + 'vis', + 'vsf', + 'wbxml', + 'wmlc', + 'wmlsc', + 'wtb', + 'nbp', + 'wpd', + 'wqd', + 'stf', + 'xar', + 'xfdl', + 'hvd', + 'hvs', + 'hvp', + 'osf', + 'osfpvg', + 'saf', + 'spf', + 'cmp', + 'zir', + 'zirz', + 'zaz', + '7z', + 'abw', + 'ace', + '*dmg', + 'arj', + 'aab', + 'x32', + 'u32', + 'vox', + 'aam', + 'aas', + 'bcpio', + '*bdoc', + 'torrent', + 'blb', + 'blorb', + 'bz', + 'bz2', + 'boz', + 'cbr', + 'cba', + 'cbt', + 'cbz', + 'cb7', + 'vcd', + 'cfs', + 'chat', + 'pgn', + 'crx', + 'cco', + 'nsc', + 'cpio', + 'csh', + '*deb', + 'udeb', + 'dgc', + 'dir', + 'dcr', + 'dxr', + 'cst', + 'cct', + 'cxt', + 'w3d', + 'fgd', + 'swa', + 'wad', + 'ncx', + 'dtb', + 'res', + 'dvi', + 'evy', + 'eva', + 'bdf', + 'gsf', + 'psf', + 'pcf', + 'snf', + 'pfa', + 'pfb', + 'pfm', + 'afm', + 'arc', + 'spl', + 'gca', + 'ulx', + 'gnumeric', + 'gramps', + 'gtar', + 'hdf', + 'php', + 'install', + '*iso', + '*key', + '*numbers', + '*pages', + 'jardiff', + 'jnlp', + 'kdbx', + 'latex', + 'luac', + 'lzh', + 'lha', + 'run', + 'mie', + 'prc', + 'mobi', + 'application', + 'lnk', + 'wmd', + 'wmz', + 'xbap', + 'mdb', + 'obd', + 'crd', + 'clp', + '*exe', + '*dll', + 'com', + 'bat', + '*msi', + 'mvb', + 'm13', + 'm14', + '*wmf', + '*wmz', + '*emf', + 'emz', + 'mny', + 'pub', + 'scd', + 'trm', + 'wri', + 'nc', + 'cdf', + 'pac', + 'nzb', + 'pl', + 'pm', + '*prc', + '*pdb', + 'p12', + 'pfx', + 'p7b', + 'spc', + 'p7r', + '*rar', + 'rpm', + 'ris', + 'sea', + 'sh', + 'shar', + 'swf', + 'xap', + 'sql', + 'sit', + 'sitx', + 'srt', + 'sv4cpio', + 'sv4crc', + 't3', + 'gam', + 'tar', + 'tcl', + 'tk', + 'tex', + 'tfm', + 'texinfo', + 'texi', + '*obj', + 'ustar', + 'hdd', + 'ova', + 'ovf', + 'vbox', + 'vbox-extpack', + 'vdi', + 'vhd', + 'vmdk', + 'src', + 'webapp', + 'der', + 'crt', + 'pem', + 'fig', + '*xlf', + 'xpi', + 'xz', + 'z1', + 'z2', + 'z3', + 'z4', + 'z5', + 'z6', + 'z7', + 'z8', + 'uva', + 'uvva', + 'eol', + 'dra', + 'dts', + 'dtshd', + 'lvp', + 'pya', + 'ecelp4800', + 'ecelp7470', + 'ecelp9600', + 'rip', + 'aac', + 'aif', + 'aiff', + 'aifc', + 'caf', + 'flac', + '*m4a', + 'mka', + 'm3u', + 'wax', + 'wma', + 'ram', + 'ra', + 'rmp', + '*ra', + 'cdx', + 'cif', + 'cmdf', + 'cml', + 'csml', + 'xyz', + 'btif', + 'pti', + 'psd', + 'azv', + 'uvi', + 'uvvi', + 'uvg', + 'uvvg', + 'djvu', + 'djv', + '*sub', + 'dwg', + 'dxf', + 'fbs', + 'fpx', + 'fst', + 'mmr', + 'rlc', + 'ico', + 'dds', + 'mdi', + 'wdp', + 'npx', + 'b16', + 'tap', + 'vtf', + 'wbmp', + 'xif', + 'pcx', + '3ds', + 'ras', + 'cmx', + 'fh', + 'fhc', + 'fh4', + 'fh5', + 'fh7', + '*ico', + 'jng', + 'sid', + '*bmp', + '*pcx', + 'pic', + 'pct', + 'pnm', + 'pbm', + 'pgm', + 'ppm', + 'rgb', + 'tga', + 'xbm', + 'xpm', + 'xwd', + 'wsc', + 'dae', + 'dwf', + 'gdl', + 'gtw', + 'mts', + 'ogex', + 'x_b', + 'x_t', + 'vds', + 'usdz', + 'bsp', + 'vtu', + 'dsc', + 'curl', + 'dcurl', + 'mcurl', + 'scurl', + 'sub', + 'fly', + 'flx', + 'gv', + '3dml', + 'spot', + 'jad', + 'wml', + 'wmls', + 's', + 'asm', + 'c', + 'cc', + 'cxx', + 'cpp', + 'h', + 'hh', + 'dic', + 'htc', + 'f', + 'for', + 'f77', + 'f90', + 'hbs', + 'java', + 'lua', + 'mkd', + 'nfo', + 'opml', + '*org', + 'p', + 'pas', + 'pde', + 'sass', + 'scss', + 'etx', + 'sfv', + 'ymp', + 'uu', + 'vcs', + 'vcf', + 'uvh', + 'uvvh', + 'uvm', + 'uvvm', + 'uvp', + 'uvvp', + 'uvs', + 'uvvs', + 'uvv', + 'uvvv', + 'dvb', + 'fvt', + 'mxu', + 'm4u', + 'pyv', + 'uvu', + 'uvvu', + 'viv', + 'f4v', + 'fli', + 'flv', + 'm4v', + 'mkv', + 'mk3d', + 'mks', + 'mng', + 'asf', + 'asx', + 'vob', + 'wm', + 'wmv', + 'wmx', + 'wvx', + 'avi', + 'movie', + 'smv', + 'ice', + 'mht', + null, + ], + example: 'pdf', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + source_value: { + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + example: 'application/pdf', + nullable: true, + }, + }, + }, + ForbiddenResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 403, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Forbidden resource', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + InternalServerErrorResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 500, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Internal server error', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + NotFoundResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 404, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Not Found', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + NotImplementedResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 501, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Not Implemented', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + PreconditionFailedResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 412, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Precondition failed', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + ProviderError: { + type: 'object', + properties: { + status: { + type: 'number', + description: 'HTTP status code of the provider error', + example: 400, + nullable: true, + }, + url: { + type: 'string', + description: 'URL that caused the error', + example: 'https://api.provider.com/v1/resource', + nullable: true, + }, + raw: { + type: 'object', + description: 'Raw error response from the provider', + example: { + message: 'Invalid input parameters', + }, + nullable: true, + }, + headers: { + type: 'object', + description: 'Response headers', + example: { + 'content-type': 'application/json', + 'x-request-id': '5678c28b211dace4e0a0f9171e6b88c5', + }, + nullable: true, + }, + }, + }, + RawResponse: { + type: 'object', + properties: { + method: { + type: 'string', + }, + url: { + type: 'string', + }, + body: { + oneOf: [ + { + type: 'string', + }, + { + type: 'object', + }, + { + type: 'array', + items: { + type: 'integer', + format: 'int32', + minimum: 0, + maximum: 255, + }, + }, + ], + additionalProperties: true, + nullable: true, + }, + response: { + oneOf: [ + { + type: 'object', + additionalProperties: true, + }, + { + type: 'array', + items: {}, + }, + { + type: 'string', + }, + ], + nullable: true, + }, + }, + required: ['method', 'url'], + }, + RequestTimedOutResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 408, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Request timed out', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + TicketingAttachment: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + ticket_id: { + type: 'string', + example: 'ticket-001', + description: 'The reference ticket ID the attachment belongs to', + nullable: true, + }, + user_id: { + type: 'string', + description: 'The user who uploaded the file', + example: 'user-001', + nullable: true, + }, + file_name: { + type: 'string', + description: 'The name of the file', + example: 'file.pdf', + nullable: true, + }, + file_format: { + description: 'The type of the file', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/FileFormatEnum', + }, + ], + }, + file_url: { + type: 'string', + description: 'The resource URL of the file', + example: 'https://example.com/files/screenshot.png', + nullable: true, + }, + size: { + type: 'number', + description: 'The size of the file', + example: 1024, + nullable: true, + }, + created_at: { + type: 'string', + description: 'The timestamp when the record was created', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + updated_at: { + type: 'string', + description: 'The timestamp when the record was last updated', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + }, + }, + TicketingAttachmentResult: { + type: 'object', + properties: { + data: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingAttachment', + }, + ], + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingAttachmentsPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingAttachment', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingCollection: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + parent_id: { + type: 'string', + description: 'The parent collection of the collection', + example: 'collection-001', + nullable: true, + }, + name: { + type: 'string', + description: 'The name of the collection', + example: 'Project Falcon', + nullable: true, + }, + description: { + type: 'string', + description: 'The description of the collection', + example: 'Description of the project', + nullable: true, + }, + key: { + type: 'string', + description: 'The user-friendly key of the collection', + example: 'project-falcon', + nullable: true, + }, + type: { + type: 'string', + enum: ['project', 'component', 'unmapped_value', null], + description: 'The type of the collection.', + example: 'project', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + organization_id: { + type: 'string', + description: 'The organization id related to the collection', + example: 'organization-001', + nullable: true, + }, + created_at: { + type: 'string', + description: 'The timestamp when the record was created', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + updated_at: { + type: 'string', + description: 'The timestamp when the record was last updated', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + }, + }, + TicketingCollectionResult: { + type: 'object', + properties: { + data: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingCollection', + }, + ], + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingCollectionsPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingCollection', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingComment: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + ticket_id: { + type: 'string', + description: 'The ticket ID associated with the comment', + example: 'ticket-001', + }, + user_id: { + type: 'string', + description: 'The user who created the comment', + example: 'user-001', + nullable: true, + }, + internal: { + type: 'boolean', + description: 'Whether the comment is internal', + example: false, + nullable: true, + }, + content: { + description: 'Array of content associated with the comment', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingContent', + }, + }, + created_at: { + type: 'string', + description: 'The timestamp when the record was created', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + updated_at: { + type: 'string', + description: 'The timestamp when the record was last updated', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + }, + required: ['ticket_id'], + }, + TicketingCommentResult: { + type: 'object', + properties: { + data: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingComment', + }, + ], + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingCommentsPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingComment', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingContent: { + type: 'object', + properties: { + plain: { + type: 'string', + description: 'The content of the ticket', + example: 'This is some content', + nullable: true, + }, + html: { + type: 'string', + description: 'The HTML content of the ticket', + example: 'This is some content
', + nullable: true, + }, + }, + }, + TicketingOrganization: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + domain: { + type: 'string', + description: 'The domain of the organization', + example: 'company.com', + nullable: true, + }, + name: { + type: 'string', + description: 'The name of the organization', + example: 'Company', + nullable: true, + }, + }, + }, + TicketingReadTicket: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + unified_custom_fields: { + type: 'object', + description: 'Custom Unified Fields configured in your StackOne project', + additionalProperties: true, + example: { + my_project_custom_field_1: 'REF-1236', + my_project_custom_field_2: 'some other value', + }, + nullable: true, + }, + title: { + type: 'string', + description: 'The title or subject of the ticket', + example: 'System outage in production environment', + nullable: true, + }, + creator_id: { + type: 'string', + description: 'The creator of the ticket', + example: 'user-001', + nullable: true, + }, + reporters: { + description: 'Users who reported the ticket', + example: ['user-001', 'user-002'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + assignees: { + description: 'Agents assigned to the ticket', + example: ['user-001', 'user-002'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + content: { + description: 'Array of content associated with the ticket', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingContent', + }, + }, + parent_id: { + type: 'string', + description: 'ID of the parent ticket if this is a sub-ticket', + example: 'ticket-002', + nullable: true, + }, + priority: { + description: 'Priority of the ticket', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingTicketPriorityTypeEnum', + }, + ], + }, + tags: { + description: 'The tags of the ticket', + example: ['tag-001', 'tag-002'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + collections: { + description: 'Collections the ticket belongs to', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingCollection', + }, + }, + ticket_number: { + type: 'string', + example: 'ticket-001', + description: 'The unique ticket number or reference ID', + nullable: true, + }, + type: { + description: 'The type of the ticket', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingTicketType', + }, + ], + }, + closed_at: { + type: 'string', + description: 'The date the ticket was closed', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + ticket_url: { + type: 'string', + description: 'URL to view the ticket in the source system', + example: 'https://help.company.com/tickets/SUP-5689', + nullable: true, + }, + status: { + description: 'Current status of the ticket', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingTicketStatus', + }, + ], + }, + organization: { + description: 'Organization associated with the ticket', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingOrganization', + }, + ], + }, + created_at: { + type: 'string', + description: 'The timestamp when the record was created', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + updated_at: { + type: 'string', + description: 'The timestamp when the record was last updated', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + }, + }, + TicketingTicketCreateRequestDto: { + type: 'object', + properties: { + unified_custom_fields: { + type: 'object', + description: 'Custom Unified Fields configured in your StackOne project', + additionalProperties: true, + example: { + my_project_custom_field_1: 'REF-1236', + my_project_custom_field_2: 'some other value', + }, + nullable: true, + }, + title: { + type: 'string', + description: 'The title or subject of the ticket', + example: 'System outage in production environment', + nullable: true, + }, + creator_id: { + type: 'string', + description: 'The creator of the ticket', + example: 'user-001', + nullable: true, + }, + reporters: { + description: 'Users who reported the ticket', + example: ['user-001', 'user-002'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + assignees: { + description: 'Agents assigned to the ticket', + example: ['user-001', 'user-002'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + content: { + description: 'Array of content associated with the ticket', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingContent', + }, + }, + parent_id: { + type: 'string', + description: 'ID of the parent ticket if this is a sub-ticket', + example: 'ticket-002', + nullable: true, + }, + priority: { + description: 'Priority of the ticket', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingTicketPriorityTypeEnum', + }, + ], + }, + tags: { + description: 'The tags of the ticket', + example: ['tag-001', 'tag-002'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + collection_ids: { + description: 'Collections the ticket belongs to', + example: ['collection-001', 'collection-002'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + type: { + type: 'string', + description: 'The type of the ticket', + example: 'ticket-type-001', + nullable: true, + }, + organization_id: { + type: 'string', + description: 'Organization associated with the ticket', + example: 'organization-001', + nullable: true, + }, + }, + }, + TicketingTicketPriorityTypeEnum: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'The id of the ticket priority.', + example: '001', + nullable: true, + }, + value: { + type: 'string', + enum: ['lowest', 'low', 'medium', 'high', 'highest', 'unmapped_value', null], + description: 'The priority of the ticket.', + example: 'medium', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + source_value: { + description: 'The source value of the ticket priority.', + example: 'Normal', + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + nullable: true, + }, + }, + }, + TicketingTicketResult: { + type: 'object', + properties: { + data: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingReadTicket', + }, + ], + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingTicketsPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingReadTicket', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingTicketStatus: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'The id of the ticket status.', + example: '001', + nullable: true, + }, + type: { + description: 'The type of this status', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingTicketStatusTypeEnum', + }, + ], + }, + name: { + type: 'string', + description: 'The name of the ticket status.', + example: 'Backlog', + nullable: true, + }, + }, + }, + TicketingTicketStatusesPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingTicketStatus', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingTicketStatusTypeEnum: { + type: 'object', + properties: { + value: { + type: 'string', + enum: ['to-do', 'in-progress', 'closed', 'unmapped_value', null], + description: 'The type of this status', + example: 'to-do', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + source_value: { + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + description: 'The source value of this status type', + example: 'New', + nullable: true, + }, + }, + }, + TicketingTicketType: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'The id of the ticket type.', + example: '001', + nullable: true, + }, + name: { + type: 'string', + description: 'The name of the ticket type.', + example: 'Task', + nullable: true, + }, + parent_collection_id: { + type: 'string', + description: 'The collection the ticket type belongs to.', + example: 'collection-001', + nullable: true, + }, + }, + }, + TicketingTicketTypePaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingTicketType', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingTicketTypeResult: { + type: 'object', + properties: { + data: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingTicketType', + }, + ], + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingTicketUpdateRequestDto: { + type: 'object', + properties: { + unified_custom_fields: { + type: 'object', + description: 'Custom Unified Fields configured in your StackOne project', + additionalProperties: true, + example: { + my_project_custom_field_1: 'REF-1236', + my_project_custom_field_2: 'some other value', + }, + nullable: true, + }, + title: { + type: 'string', + description: 'The title or subject of the ticket', + example: 'System outage in production environment', + nullable: true, + }, + reporters: { + description: 'Users who reported the ticket', + example: ['user-001', 'user-002'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + assignees: { + description: 'Agents assigned to the ticket', + example: ['user-001', 'user-002'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + content: { + description: 'Array of content associated with the ticket', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingContent', + }, + }, + parent_id: { + type: 'string', + description: 'ID of the parent ticket if this is a sub-ticket', + example: 'ticket-002', + nullable: true, + }, + priority: { + description: 'Priority of the ticket', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingTicketPriorityTypeEnum', + }, + ], + }, + tags: { + description: 'The tags of the ticket', + example: ['tag-001', 'tag-002'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + collection_ids: { + description: 'Collections the ticket belongs to', + example: ['collection-001', 'collection-002'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + status: { + description: 'Current status of the ticket', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingTicketStatus', + }, + ], + }, + }, + }, + TicketingUser: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'Unique identifier', + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + remote_id: { + type: 'string', + description: "Provider's unique identifier", + example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', + nullable: true, + }, + type: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingUserTypeEnum', + }, + ], + }, + name: { + type: 'string', + description: 'John Doe', + example: 'John Doe', + nullable: true, + }, + primary_email: { + type: 'string', + description: "The user's primary email address", + example: 'john.doe@example.com', + nullable: true, + }, + primary_phone: { + type: 'string', + description: "The user's primary phone number", + example: '555-5555-5555', + nullable: true, + }, + username: { + type: 'string', + description: 'The username of the user in the provider system', + example: 'johndoe', + nullable: true, + }, + active: { + type: 'boolean', + description: 'If the user is active', + example: true, + nullable: true, + }, + first_name: { + type: 'string', + description: 'The first name of the user', + example: 'John', + nullable: true, + }, + last_name: { + type: 'string', + description: 'The last name of the user', + example: 'Doe', + nullable: true, + }, + customer_account_reference: { + type: 'string', + description: + 'The unique account reference assigned as an external user (e.g. the customer account identifier registered on the customer-facing site or portal)', + example: 'JohnDoe123', + nullable: true, + }, + created_at: { + type: 'string', + description: 'The timestamp when the record was created', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + updated_at: { + type: 'string', + description: 'The timestamp when the record was last updated', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + nullable: true, + }, + }, + }, + TicketingUserResult: { + type: 'object', + properties: { + data: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingUser', + }, + ], + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingUsersPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingUser', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingUserTypeEnum: { + type: 'object', + properties: { + value: { + type: 'string', + enum: ['agent', 'contact', 'bot', 'unmapped_value', null], + description: 'The type of the user.', + example: 'agent', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + source_value: { + description: 'The source value of the user type.', + example: 'Live', + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + nullable: true, + }, + }, + }, + TooManyRequestsResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 429, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Too many requests', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + UnauthorizedResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 401, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Unauthorized', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + UnifiedError: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 400, + nullable: true, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Bad Request', + nullable: true, + }, + headers: { + type: 'object', + description: 'Response headers', + example: { + 'content-type': 'application/json', + 'x-request-id': '5678c28b211dace4e0a0f9171e6b88c5', + }, + nullable: true, + }, + }, + }, + UnprocessableEntityResponse: { + type: 'object', + properties: { + statusCode: { + type: 'number', + description: 'HTTP status code', + example: 422, + }, + message: { + type: 'string', + description: 'Error message', + example: 'Unprocessable Entity', + }, + timestamp: { + type: 'string', + description: 'Timestamp when the error occurred', + example: '2023-05-30T00:00:00.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + UpdateResult: { + type: 'object', + properties: { + statusCode: { + type: 'number', + example: 200, + }, + message: { + type: 'string', + example: 'Record updated successfully.', + }, + timestamp: { + type: 'string', + example: '2021-01-01T01:01:01.000Z', + format: 'date-time', + }, + }, + required: ['statusCode', 'message', 'timestamp'], + }, + }, }, }; diff --git a/src/openapi/tests/__snapshots__/openapi-parser.spec.ts.snap b/src/openapi/tests/__snapshots__/openapi-parser.spec.ts.snap index ae96bb6..196b0be 100644 --- a/src/openapi/tests/__snapshots__/openapi-parser.spec.ts.snap +++ b/src/openapi/tests/__snapshots__/openapi-parser.spec.ts.snap @@ -117,6 +117,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "enum": [ "true", "false", + "unmapped_value", null, ], "example": "true", @@ -134,7 +135,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "description": "The file format of the file", "properties": { "source_value": { - "example": "abc", + "example": "application/pdf", "oneOf": [ { "type": "string", @@ -1403,6 +1404,110 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "object", }, }, + "hris_cancel_employee_time_off_request": { + "description": "Cancel Employee Time Off Request", + "execute": { + "bodyType": "json", + "method": "DELETE", + "params": [ + { + "location": "header", + "name": "x-account-id", + "type": "string", + }, + { + "location": "path", + "name": "id", + "type": "string", + }, + { + "location": "path", + "name": "subResourceId", + "type": "string", + }, + ], + "url": "https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}", + }, + "parameters": { + "properties": { + "id": { + "type": "string", + }, + "subResourceId": { + "type": "string", + }, + "x-account-id": { + "description": "The account identifier", + "type": "string", + }, + }, + "required": [ + "id", + "subResourceId", + ], + "type": "object", + }, + }, + "hris_complete_employee_task": { + "description": "Complete Employee Task", + "execute": { + "bodyType": "json", + "method": "PATCH", + "params": [ + { + "location": "header", + "name": "x-account-id", + "type": "string", + }, + { + "location": "path", + "name": "id", + "type": "string", + }, + { + "location": "path", + "name": "subResourceId", + "type": "string", + }, + { + "location": "query", + "name": "proxy", + "type": "string", + }, + { + "location": "body", + "name": "comment", + "type": "string", + }, + ], + "url": "https://api.stackone.com/unified/hris/employees/{id}/tasks/{subResourceId}", + }, + "parameters": { + "properties": { + "comment": { + "description": "Comment or note about the task completion", + "example": "All required documents have been submitted", + "type": "string", + }, + "id": { + "type": "string", + }, + "proxy": {}, + "subResourceId": { + "type": "string", + }, + "x-account-id": { + "description": "The account identifier", + "type": "string", + }, + }, + "required": [ + "id", + "subResourceId", + ], + "type": "object", + }, + }, "hris_create_employee": { "description": "Creates an employee", "execute": { @@ -1459,11 +1564,6 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "name": "work_phone_number", "type": "string", }, - { - "location": "body", - "name": "job_id", - "type": "string", - }, { "location": "body", "name": "job_title", @@ -1534,16 +1634,6 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "name": "start_date", "type": "string", }, - { - "location": "body", - "name": "employment_type", - "type": "object", - }, - { - "location": "body", - "name": "employment_contract_type", - "type": "object", - }, { "location": "body", "name": "employment_status", @@ -2089,7 +2179,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "date_of_birth": { "description": "The employee date_of_birth", - "example": "1990-01-01T00:00.000Z", + "example": "1990-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -2116,103 +2206,51 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "employment": { "description": "The employee employment", "properties": { - "employment_contract_type": { - "description": "The employment work schedule type (e.g., full-time, part-time)", - "example": "full_time", + "end_date": { + "description": "The end date of employment", + "example": "2021-01-01T01:01:01.000Z", + "format": "date-time", + "type": "string", + }, + "grade": { + "description": "Represents the employee’s position within the organizational hierarchy.", "properties": { - "source_value": { - "oneOf": [ - { - "type": "string", - }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { - "type": "object", - }, - { - "items": {}, - "type": "array", - }, - ], + "description": { + "description": "description of the grade", + "example": "Mid-level employee demonstrating proficiency and autonomy.", + "type": "string", }, - "value": { - "enum": [ - "full_time", - "shifts", - "part_time", - "unmapped_value", - null, - ], + "id": { + "description": "The reference id", + "example": "1687-3", "type": "string", }, - }, - "type": "object", - }, - "employment_type": { - "description": "The type of employment (e.g., contractor, permanent)", - "example": "permanent", - "properties": { - "source_value": { - "oneOf": [ - { - "type": "string", - }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { - "type": "object", - }, - { - "items": {}, - "type": "array", - }, - ], + "name": { + "description": "The reference name", + "example": "1687-4", + "type": "string", }, - "value": { - "enum": [ - "contractor", - "intern", - "permanent", - "apprentice", - "freelance", - "terminated", - "temporary", - "seasonal", - "volunteer", - "probation", - "internal", - "external", - "expatriate", - "employer_of_record", - "casual", - "Programme", - "unmapped_value", - null, - ], + "remote_id": { + "description": "Provider's unique identifier", + "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", "type": "string", }, }, "type": "object", }, - "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, "job_title": { "description": "The job title of the employee", "example": "Software Engineer", "type": "string", }, + "passthrough": { + "additionalProperties": true, + "description": "Value to pass through to the provider", + "example": { + "other_known_names": "John Doe", + }, + "type": "object", + }, "pay_currency": { "description": "The currency used for pay", "example": "USD", @@ -2314,10 +2352,9 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "example": "40.00", "type": "string", }, - "time_worked": { - "description": "The time worked for the employee in ISO 8601 duration format", - "example": "P0Y0M0DT8H0M0S", - "format": "duration", + "payroll_code": { + "description": "The payroll code of the employee", + "example": "PC1", "type": "string", }, "unified_custom_fields": { @@ -2329,42 +2366,56 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "type": "object", }, - }, - "type": "object", - }, - "employment_contract_type": { - "description": "The employment work schedule type (e.g., full-time, part-time)", - "example": "full_time", - "properties": { - "source_value": { - "oneOf": [ - { + "work_time": { + "properties": { + "duration": { + "description": "The work time duration in ISO 8601 duration format", + "example": "P0Y0M0DT8H0M0S", + "format": "duration", "type": "string", }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { + "duration_unit": { + "description": "The duration unit of the work time", + "example": "month", + "properties": { + "source_value": { + "oneOf": [ + { + "type": "string", + }, + { + "type": "number", + }, + { + "type": "boolean", + }, + { + "type": "object", + }, + { + "items": {}, + "type": "array", + }, + ], + }, + "value": { + "description": "The unified value for the period.", + "enum": [ + "day", + "week", + "month", + "year", + "unmapped_value", + null, + ], + "example": "month", + "type": "string", + }, + }, "type": "object", }, - { - "items": {}, - "type": "array", - }, - ], - }, - "value": { - "enum": [ - "full_time", - "shifts", - "part_time", - "unmapped_value", - null, - ], - "type": "string", + }, + "type": "object", }, }, "type": "object", @@ -2409,56 +2460,6 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "type": "object", }, - "employment_type": { - "description": "The employee employment type", - "example": "full_time", - "properties": { - "source_value": { - "oneOf": [ - { - "type": "string", - }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { - "type": "object", - }, - { - "items": {}, - "type": "array", - }, - ], - }, - "value": { - "enum": [ - "contractor", - "intern", - "permanent", - "apprentice", - "freelance", - "terminated", - "temporary", - "seasonal", - "volunteer", - "probation", - "internal", - "external", - "expatriate", - "employer_of_record", - "casual", - "Programme", - "unmapped_value", - null, - ], - "type": "string", - }, - }, - "type": "object", - }, "ethnicity": { "description": "The employee ethnicity", "example": "white", @@ -2549,7 +2550,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "hire_date": { "description": "The employee hire date", - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -2916,13 +2917,8 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "type": "object", }, - "job_id": { - "description": "The employee job id", - "example": "R-6789", - "type": "string", - }, "job_title": { - "description": "The employee job title", + "description": "If the source of the job_title is the Employee's current Employment, and that Employment pertains exclusively to this Employee, then the active Employment job_title will also be written", "example": "Physicist", "type": "string", }, @@ -3477,7 +3473,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "preferred_language": { "description": "The employee preferred language", - "example": "en_US", + "example": "eng", "properties": { "source_value": { "oneOf": [ @@ -3517,6 +3513,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "cat", "cha", "ces", + "dan", "deu", "div", "dzo", @@ -3533,6 +3530,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "fra", "gle", "grn", + "guj", "glv", "heb", "hin", @@ -3563,6 +3561,8 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "mah", "mri", "mkd", + "mon", + "mar", "msa", "mlt", "mya", @@ -3577,15 +3577,18 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "pol", "pus", "por", + "que", "rar", "roh", "rup", "ron", "rus", "kin", + "sme", "sag", "sin", "slk", + "slv", "smo", "sna", "som", @@ -3595,11 +3598,24 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "swe", "swa", "tam", + "tel", "tgk", "tha", "tir", "tig", + "tuk", + "tsn", + "ton", + "tur", + "tso", + "ukr", + "urd", + "uzb", + "ven", + "vie", + "xho", "zho", + "zul", "unmapped_value", null, ], @@ -3611,7 +3627,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "start_date": { "description": "The employee start date", - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -4020,7 +4036,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "string", }, { - "location": "body", + "location": "path", "name": "id", "type": "string", }, @@ -4056,17 +4072,32 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, { "location": "body", - "name": "employment_type", - "type": "object", + "name": "effective_date", + "type": "string", }, { "location": "body", - "name": "employment_contract_type", - "type": "object", - }, + "name": "end_date", + "type": "string", + }, + { + "location": "body", + "name": "grade", + "type": "object", + }, + { + "location": "body", + "name": "work_time", + "type": "object", + }, + { + "location": "body", + "name": "payroll_code", + "type": "string", + }, { "location": "body", - "name": "time_worked", + "name": "job_id", "type": "string", }, { @@ -4079,96 +4110,50 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "parameters": { "properties": { - "employment_contract_type": { - "description": "The employment work schedule type (e.g., full-time, part-time)", - "example": "full_time", + "effective_date": { + "description": "The effective date of the employment contract", + "example": "2021-01-01T01:01:01.000Z", + "format": "date-time", + "type": "string", + }, + "end_date": { + "description": "The end date of employment", + "example": "2021-01-01T01:01:01.000Z", + "format": "date-time", + "type": "string", + }, + "grade": { + "description": "Represents the employee’s position within the organizational hierarchy.", "properties": { - "source_value": { - "oneOf": [ - { - "type": "string", - }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { - "type": "object", - }, - { - "items": {}, - "type": "array", - }, - ], + "description": { + "description": "description of the grade", + "example": "Mid-level employee demonstrating proficiency and autonomy.", + "type": "string", }, - "value": { - "enum": [ - "full_time", - "shifts", - "part_time", - "unmapped_value", - null, - ], + "id": { + "description": "The reference id", + "example": "1687-3", "type": "string", }, - }, - "type": "object", - }, - "employment_type": { - "description": "The type of employment (e.g., contractor, permanent)", - "example": "permanent", - "properties": { - "source_value": { - "oneOf": [ - { - "type": "string", - }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { - "type": "object", - }, - { - "items": {}, - "type": "array", - }, - ], + "name": { + "description": "The reference name", + "example": "1687-4", + "type": "string", }, - "value": { - "enum": [ - "contractor", - "intern", - "permanent", - "apprentice", - "freelance", - "terminated", - "temporary", - "seasonal", - "volunteer", - "probation", - "internal", - "external", - "expatriate", - "employer_of_record", - "casual", - "Programme", - "unmapped_value", - null, - ], + "remote_id": { + "description": "Provider's unique identifier", + "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", "type": "string", }, }, "type": "object", }, "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", + "type": "string", + }, + "job_id": { + "description": "The employee job id", + "example": "5290", "type": "string", }, "job_title": { @@ -4285,10 +4270,9 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "example": "40.00", "type": "string", }, - "time_worked": { - "description": "The time worked for the employee in ISO 8601 duration format", - "example": "P0Y0M0DT8H0M0S", - "format": "duration", + "payroll_code": { + "description": "The payroll code of the employee", + "example": "PC1", "type": "string", }, "unified_custom_fields": { @@ -4300,6 +4284,57 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "type": "object", }, + "work_time": { + "properties": { + "duration": { + "description": "The work time duration in ISO 8601 duration format", + "example": "P0Y0M0DT8H0M0S", + "format": "duration", + "type": "string", + }, + "duration_unit": { + "description": "The duration unit of the work time", + "example": "month", + "properties": { + "source_value": { + "oneOf": [ + { + "type": "string", + }, + { + "type": "number", + }, + { + "type": "boolean", + }, + { + "type": "object", + }, + { + "items": {}, + "type": "array", + }, + ], + }, + "value": { + "description": "The unified value for the period.", + "enum": [ + "day", + "week", + "month", + "year", + "unmapped_value", + null, + ], + "example": "month", + "type": "string", + }, + }, + "type": "object", + }, + }, + "type": "object", + }, "x-account-id": { "description": "The account identifier", "type": "string", @@ -4397,6 +4432,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "3", "4", "5", + "unmapped_value", null, ], "type": "string", @@ -4449,6 +4485,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "3", "4", "5", + "unmapped_value", null, ], "type": "string", @@ -4488,11 +4525,6 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "name": "id", "type": "string", }, - { - "location": "body", - "name": "employee_id", - "type": "string", - }, { "location": "body", "name": "approver_id", @@ -4548,15 +4580,10 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "example": "1687-4", "type": "string", }, - "employee_id": { - "description": "The employee ID", - "example": "1687-3", - "type": "string", - }, "end_date": { - "description": "The end date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", + "description": "Inclusive end date of the time off request (ISO8601 date-time without timezone). The time off includes this day", + "example": "2021-01-01T01:01:01.000", + "format": "datetime-local", "type": "string", }, "end_half_day": { @@ -4605,9 +4632,9 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "object", }, "start_date": { - "description": "The start date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", + "description": "The start date of the time off request (ISO8601 date-time without timezone)", + "example": "2021-01-01T01:01:01.000", + "format": "datetime-local", "type": "string", }, "start_half_day": { @@ -4656,6 +4683,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "rejected", "pending", "deleted", + "draft", "unmapped_value", null, ], @@ -4789,7 +4817,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "description": "The file format of the file", "properties": { "source_value": { - "example": "abc", + "example": "application/pdf", "oneOf": [ { "type": "string", @@ -6397,6 +6425,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "driver_license", "birth_certificate", "other", + "unmapped_value", null, ], "type": "string", @@ -6405,12 +6434,12 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "object", }, "valid_from": { - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, "valid_to": { - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -6425,11 +6454,11 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "object", }, }, - "hris_create_time_off_request": { - "description": "Creates a time off request", + "hris_download_employee_document": { + "description": "Download Employee Document", "execute": { "bodyType": "json", - "method": "POST", + "method": "GET", "params": [ { "location": "header", @@ -6437,301 +6466,113 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "string", }, { - "location": "body", - "name": "employee_id", + "location": "path", + "name": "id", "type": "string", }, { - "location": "body", - "name": "approver_id", + "location": "path", + "name": "subResourceId", "type": "string", }, { - "location": "body", - "name": "status", - "type": "object", + "location": "query", + "name": "format", + "type": "string", }, { - "location": "body", - "name": "start_date", + "location": "query", + "name": "export_format", "type": "string", }, - { - "location": "body", - "name": "end_date", + ], + "url": "https://api.stackone.com/unified/hris/employees/{id}/documents/{subResourceId}/download", + }, + "parameters": { + "properties": { + "export_format": { + "description": "The export format of the file", + "example": "text/plain", "type": "string", }, - { - "location": "body", - "name": "start_half_day", + "format": { + "description": "The format to download the file in", + "example": "base64", + "type": "string", + }, + "id": { + "type": "string", + }, + "subResourceId": { + "type": "string", + }, + "x-account-id": { + "description": "The account identifier", "type": "string", }, + }, + "required": [ + "id", + "subResourceId", + ], + "type": "object", + }, + }, + "hris_get_benefit": { + "description": "Get Benefit", + "execute": { + "bodyType": "json", + "method": "GET", + "params": [ { - "location": "body", - "name": "end_half_day", + "location": "header", + "name": "x-account-id", "type": "string", }, { - "location": "body", - "name": "time_off_policy_id", + "location": "path", + "name": "id", "type": "string", }, { - "location": "body", - "name": "reason", - "type": "object", + "location": "query", + "name": "raw", + "type": "boolean", }, { - "location": "body", - "name": "passthrough", + "location": "query", + "name": "proxy", "type": "object", }, + { + "location": "query", + "name": "fields", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/time_off", + "url": "https://api.stackone.com/unified/hris/benefits/{id}", }, "parameters": { "properties": { - "approver_id": { - "description": "The approver ID", - "example": "1687-4", + "fields": { + "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", + "example": "id,remote_id,name,benefit_type,provider,description,created_at,updated_at", "type": "string", }, - "employee_id": { - "description": "The employee ID", - "example": "1687-3", + "id": { "type": "string", }, - "end_date": { - "description": "The end date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", - "type": "string", - }, - "end_half_day": { - "description": "True if the end of the time off request ends half way through the day", - "example": true, - "oneOf": [ - { - "type": "boolean", - }, - { - "enum": [ - "true", - "false", - ], - "type": "string", - }, - ], - }, - "passthrough": { - "additionalProperties": true, - "description": "Value to pass through to the provider", - "example": { - "other_known_names": "John Doe", - }, - "type": "object", - }, - "reason": { - "properties": { - "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - "name": { - "type": "string", - }, - "remote_id": { - "description": "Provider's unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - }, - "type": "object", - }, - "start_date": { - "description": "The start date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", - "type": "string", - }, - "start_half_day": { - "description": "True if the start of the time off request begins half way through the day", - "example": true, - "oneOf": [ - { - "type": "boolean", - }, - { - "enum": [ - "true", - "false", - ], - "type": "string", - }, - ], - }, - "status": { - "description": "The status of the time off request", - "properties": { - "source_value": { - "oneOf": [ - { - "type": "string", - }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { - "type": "object", - }, - { - "items": {}, - "type": "array", - }, - ], - }, - "value": { - "enum": [ - "approved", - "cancelled", - "rejected", - "pending", - "deleted", - "unmapped_value", - null, - ], - "type": "string", - }, - }, - "type": "object", - }, - "time_off_policy_id": { - "description": "The time off policy id associated with this time off request", - "example": "cx280928933", - "type": "string", - }, - "x-account-id": { - "description": "The account identifier", - "type": "string", - }, - }, - "required": undefined, - "type": "object", - }, - }, - "hris_download_employee_document": { - "description": "Download Employee Document", - "execute": { - "bodyType": "json", - "method": "GET", - "params": [ - { - "location": "header", - "name": "x-account-id", - "type": "string", - }, - { - "location": "path", - "name": "id", - "type": "string", - }, - { - "location": "path", - "name": "subResourceId", - "type": "string", - }, - { - "location": "query", - "name": "format", - "type": "string", - }, - ], - "url": "https://api.stackone.com/unified/hris/employees/{id}/documents/{subResourceId}/download", - }, - "parameters": { - "properties": { - "format": { - "description": "The format to download the file in", - "example": "base64", - "type": "string", - }, - "id": { - "type": "string", - }, - "subResourceId": { - "type": "string", - }, - "x-account-id": { - "description": "The account identifier", - "type": "string", - }, - }, - "required": [ - "id", - "subResourceId", - ], - "type": "object", - }, - }, - "hris_get_benefit": { - "description": "Get Benefit", - "execute": { - "bodyType": "json", - "method": "GET", - "params": [ - { - "location": "header", - "name": "x-account-id", - "type": "string", - }, - { - "location": "path", - "name": "id", - "type": "string", - }, - { - "location": "query", - "name": "raw", - "type": "boolean", - }, - { - "location": "query", - "name": "proxy", - "type": "object", - }, - { - "location": "query", - "name": "fields", - "type": "string", - }, - ], - "url": "https://api.stackone.com/unified/hris/benefits/{id}", - }, - "parameters": { - "properties": { - "fields": { - "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,benefit_type,provider,description,created_at,updated_at", - "type": "string", - }, - "id": { - "type": "string", - }, - "proxy": { - "additionalProperties": true, - "description": "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", - "type": "object", - }, - "raw": { - "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", - "type": "boolean", - }, - "x-account-id": { - "description": "The account identifier", + "proxy": { + "additionalProperties": true, + "description": "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", + "type": "object", + }, + "raw": { + "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", + "type": "boolean", + }, + "x-account-id": { + "description": "The account identifier", "type": "string", }, }, @@ -6843,7 +6684,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", + "example": "id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id", "type": "string", }, "id": { @@ -6986,7 +6827,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "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,benefits,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,documents,created_at,updated_at,employee_number,national_identity_number,national_identity_numbers,skills", + "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,documents,created_at,updated_at,benefits,employee_number,national_identity_number,national_identity_numbers,skills", "type": "string", }, "id": { @@ -7306,7 +7147,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,employment_type,employment_contract_type,time_worked,created_at,updated_at,start_date,end_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", + "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,end_date,employment_type,employment_contract_type,change_reason,grade,work_time,payroll_code,fte,created_at,updated_at,start_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", "type": "string", }, "id": { @@ -7409,6 +7250,89 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "object", }, }, + "hris_get_employee_task": { + "description": "Get Employee Task", + "execute": { + "bodyType": "json", + "method": "GET", + "params": [ + { + "location": "header", + "name": "x-account-id", + "type": "string", + }, + { + "location": "path", + "name": "id", + "type": "string", + }, + { + "location": "path", + "name": "subResourceId", + "type": "string", + }, + { + "location": "query", + "name": "raw", + "type": "boolean", + }, + { + "location": "query", + "name": "proxy", + "type": "object", + }, + { + "location": "query", + "name": "fields", + "type": "string", + }, + { + "location": "query", + "name": "expand", + "type": "string", + }, + ], + "url": "https://api.stackone.com/unified/hris/employees/{id}/tasks/{subResourceId}", + }, + "parameters": { + "properties": { + "expand": { + "description": "The comma separated list of fields that will be expanded in the response", + "example": "attachments", + "type": "string", + }, + "fields": { + "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", + "example": "id,remote_id,employee_id,remote_employee_id,name,description,type,status,due_date,completion_date,assigned_by_employee_id,remote_assigned_by_employee_id,assigned_by_employee_name,link_to_task,extracted_links,next_task_id,remote_next_task_id,parent_process_name,comments,attachments,created_at,updated_at", + "type": "string", + }, + "id": { + "type": "string", + }, + "proxy": { + "additionalProperties": true, + "description": "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", + "type": "object", + }, + "raw": { + "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", + "type": "boolean", + }, + "subResourceId": { + "type": "string", + }, + "x-account-id": { + "description": "The account identifier", + "type": "string", + }, + }, + "required": [ + "id", + "subResourceId", + ], + "type": "object", + }, + }, "hris_get_employee_time_off_balance": { "description": "Get Employee Time Off Balance", "execute": { @@ -7545,7 +7469,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "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,duration,time_off_policy_id,remote_time_off_policy_id,reason,created_at,updated_at,policy", + "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,duration,created_at,updated_at,policy", "type": "string", }, "id": { @@ -7696,7 +7620,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,employment_type,employment_contract_type,time_worked,created_at,updated_at,start_date,end_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", + "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,end_date,employment_type,employment_contract_type,change_reason,grade,work_time,payroll_code,fte,created_at,updated_at,start_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", "type": "string", }, "id": { @@ -7760,7 +7684,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", + "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id", "type": "string", }, "id": { @@ -7824,7 +7748,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", + "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id", "type": "string", }, "id": { @@ -8154,7 +8078,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "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,duration,time_off_policy_id,remote_time_off_policy_id,reason,created_at,updated_at,policy", + "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,duration,created_at,updated_at,policy", "type": "string", }, "id": { @@ -8518,7 +8442,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", + "example": "id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id", "type": "string", }, "filter": { @@ -8988,7 +8912,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,employment_type,employment_contract_type,time_worked,created_at,updated_at,start_date,end_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", + "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,end_date,employment_type,employment_contract_type,change_reason,grade,work_time,payroll_code,fte,created_at,updated_at,start_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", "type": "string", }, "filter": { @@ -9133,6 +9057,115 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "object", }, }, + "hris_list_employee_tasks": { + "description": "List Employee Tasks", + "execute": { + "bodyType": "json", + "method": "GET", + "params": [ + { + "location": "header", + "name": "x-account-id", + "type": "string", + }, + { + "location": "path", + "name": "id", + "type": "string", + }, + { + "location": "query", + "name": "raw", + "type": "boolean", + }, + { + "location": "query", + "name": "proxy", + "type": "object", + }, + { + "location": "query", + "name": "fields", + "type": "string", + }, + { + "location": "query", + "name": "filter", + "type": "object", + }, + { + "location": "query", + "name": "page_size", + "type": "string", + }, + { + "location": "query", + "name": "next", + "type": "string", + }, + { + "location": "query", + "name": "expand", + "type": "string", + }, + ], + "url": "https://api.stackone.com/unified/hris/employees/{id}/tasks", + }, + "parameters": { + "properties": { + "expand": { + "description": "The comma separated list of fields that will be expanded in the response", + "example": "attachments", + "type": "string", + }, + "fields": { + "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", + "example": "id,remote_id,employee_id,remote_employee_id,name,description,type,status,due_date,completion_date,assigned_by_employee_id,remote_assigned_by_employee_id,assigned_by_employee_name,link_to_task,extracted_links,next_task_id,remote_next_task_id,parent_process_name,comments,attachments,created_at,updated_at", + "type": "string", + }, + "filter": { + "description": "Filter parameters that allow greater customisation of the list response", + "properties": { + "updated_after": { + "additionalProperties": false, + "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", + }, + }, + "type": "object", + }, + "id": { + "type": "string", + }, + "next": { + "description": "The unified cursor", + "type": "string", + }, + "page_size": { + "description": "The number of results per page (default value is 25)", + "type": "string", + }, + "proxy": { + "additionalProperties": true, + "description": "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", + "type": "object", + }, + "raw": { + "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", + "type": "boolean", + }, + "x-account-id": { + "description": "The account identifier", + "type": "string", + }, + }, + "required": [ + "id", + ], + "type": "object", + }, + }, "hris_list_employee_time_off_balances": { "description": "List Employee Time Off Balances", "execute": { @@ -9307,8 +9340,37 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "string", }, "filter": { - "description": "Filter parameters that allow greater customisation of the list response", + "description": "HRIS Time-Off Policies filters", "properties": { + "type": { + "description": "Filter to select time-off policies by type", + "enum": [ + "sick", + "unmapped_value", + "vacation", + "long_term_disability", + "short_term_disability", + "absent", + "comp_time", + "training", + "annual_leave", + "leave_of_absence", + "break", + "child_care_leave", + "maternity_leave", + "jury_duty", + "sabbatical", + "accident", + "paid", + "unpaid", + "holiday", + "personal", + "in_lieu", + "bereavement", + null, + ], + "type": "string", + }, "updated_after": { "additionalProperties": false, "description": "Use a string with a date to only select results updated after that given date", @@ -9412,7 +9474,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "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,duration,time_off_policy_id,remote_time_off_policy_id,reason,created_at,updated_at,policy", + "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,duration,created_at,updated_at,policy", "type": "string", }, "filter": { @@ -9627,7 +9689,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "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,benefits,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,documents,created_at,updated_at,employee_number,national_identity_number,national_identity_numbers,skills", + "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,documents,created_at,updated_at,benefits,employee_number,national_identity_number,national_identity_numbers,skills", "type": "string", }, "filter": { @@ -9739,7 +9801,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,employment_type,employment_contract_type,time_worked,created_at,updated_at,start_date,end_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", + "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,end_date,employment_type,employment_contract_type,change_reason,grade,work_time,payroll_code,fte,created_at,updated_at,start_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", "type": "string", }, "filter": { @@ -9828,7 +9890,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", + "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id", "type": "string", }, "filter": { @@ -9917,7 +9979,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", + "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id", "type": "string", }, "filter": { @@ -10294,8 +10356,37 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "string", }, "filter": { - "description": "Filter parameters that allow greater customisation of the list response", + "description": "HRIS Time-Off Policies filters", "properties": { + "type": { + "description": "Filter to select time-off policies by type", + "enum": [ + "sick", + "unmapped_value", + "vacation", + "long_term_disability", + "short_term_disability", + "absent", + "comp_time", + "training", + "annual_leave", + "leave_of_absence", + "break", + "child_care_leave", + "maternity_leave", + "jury_duty", + "sabbatical", + "accident", + "paid", + "unpaid", + "holiday", + "personal", + "in_lieu", + "bereavement", + null, + ], + "type": "string", + }, "updated_after": { "additionalProperties": false, "description": "Use a string with a date to only select results updated after that given date", @@ -10389,7 +10480,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "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,duration,time_off_policy_id,remote_time_off_policy_id,reason,created_at,updated_at,policy", + "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,duration,created_at,updated_at,policy", "type": "string", }, "filter": { @@ -10587,11 +10678,6 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "name": "work_phone_number", "type": "string", }, - { - "location": "body", - "name": "job_id", - "type": "string", - }, { "location": "body", "name": "job_title", @@ -10662,16 +10748,6 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "name": "start_date", "type": "string", }, - { - "location": "body", - "name": "employment_type", - "type": "object", - }, - { - "location": "body", - "name": "employment_contract_type", - "type": "object", - }, { "location": "body", "name": "employment_status", @@ -11190,7 +11266,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "date_of_birth": { "description": "The employee date_of_birth", - "example": "1990-01-01T00:00.000Z", + "example": "1990-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -11214,106 +11290,54 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "example": "125", "type": "string", }, - "employment": { - "description": "The employee employment", - "properties": { - "employment_contract_type": { - "description": "The employment work schedule type (e.g., full-time, part-time)", - "example": "full_time", - "properties": { - "source_value": { - "oneOf": [ - { - "type": "string", - }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { - "type": "object", - }, - { - "items": {}, - "type": "array", - }, - ], - }, - "value": { - "enum": [ - "full_time", - "shifts", - "part_time", - "unmapped_value", - null, - ], - "type": "string", - }, - }, - "type": "object", - }, - "employment_type": { - "description": "The type of employment (e.g., contractor, permanent)", - "example": "permanent", - "properties": { - "source_value": { - "oneOf": [ - { - "type": "string", - }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { - "type": "object", - }, - { - "items": {}, - "type": "array", - }, - ], + "employment": { + "description": "The employee employment", + "properties": { + "end_date": { + "description": "The end date of employment", + "example": "2021-01-01T01:01:01.000Z", + "format": "date-time", + "type": "string", + }, + "grade": { + "description": "Represents the employee’s position within the organizational hierarchy.", + "properties": { + "description": { + "description": "description of the grade", + "example": "Mid-level employee demonstrating proficiency and autonomy.", + "type": "string", }, - "value": { - "enum": [ - "contractor", - "intern", - "permanent", - "apprentice", - "freelance", - "terminated", - "temporary", - "seasonal", - "volunteer", - "probation", - "internal", - "external", - "expatriate", - "employer_of_record", - "casual", - "Programme", - "unmapped_value", - null, - ], + "id": { + "description": "The reference id", + "example": "1687-3", + "type": "string", + }, + "name": { + "description": "The reference name", + "example": "1687-4", + "type": "string", + }, + "remote_id": { + "description": "Provider's unique identifier", + "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", "type": "string", }, }, "type": "object", }, - "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, "job_title": { "description": "The job title of the employee", "example": "Software Engineer", "type": "string", }, + "passthrough": { + "additionalProperties": true, + "description": "Value to pass through to the provider", + "example": { + "other_known_names": "John Doe", + }, + "type": "object", + }, "pay_currency": { "description": "The currency used for pay", "example": "USD", @@ -11415,10 +11439,9 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "example": "40.00", "type": "string", }, - "time_worked": { - "description": "The time worked for the employee in ISO 8601 duration format", - "example": "P0Y0M0DT8H0M0S", - "format": "duration", + "payroll_code": { + "description": "The payroll code of the employee", + "example": "PC1", "type": "string", }, "unified_custom_fields": { @@ -11430,42 +11453,56 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "type": "object", }, - }, - "type": "object", - }, - "employment_contract_type": { - "description": "The employment work schedule type (e.g., full-time, part-time)", - "example": "full_time", - "properties": { - "source_value": { - "oneOf": [ - { + "work_time": { + "properties": { + "duration": { + "description": "The work time duration in ISO 8601 duration format", + "example": "P0Y0M0DT8H0M0S", + "format": "duration", "type": "string", }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { + "duration_unit": { + "description": "The duration unit of the work time", + "example": "month", + "properties": { + "source_value": { + "oneOf": [ + { + "type": "string", + }, + { + "type": "number", + }, + { + "type": "boolean", + }, + { + "type": "object", + }, + { + "items": {}, + "type": "array", + }, + ], + }, + "value": { + "description": "The unified value for the period.", + "enum": [ + "day", + "week", + "month", + "year", + "unmapped_value", + null, + ], + "example": "month", + "type": "string", + }, + }, "type": "object", }, - { - "items": {}, - "type": "array", - }, - ], - }, - "value": { - "enum": [ - "full_time", - "shifts", - "part_time", - "unmapped_value", - null, - ], - "type": "string", + }, + "type": "object", }, }, "type": "object", @@ -11510,56 +11547,6 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "type": "object", }, - "employment_type": { - "description": "The employee employment type", - "example": "full_time", - "properties": { - "source_value": { - "oneOf": [ - { - "type": "string", - }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { - "type": "object", - }, - { - "items": {}, - "type": "array", - }, - ], - }, - "value": { - "enum": [ - "contractor", - "intern", - "permanent", - "apprentice", - "freelance", - "terminated", - "temporary", - "seasonal", - "volunteer", - "probation", - "internal", - "external", - "expatriate", - "employer_of_record", - "casual", - "Programme", - "unmapped_value", - null, - ], - "type": "string", - }, - }, - "type": "object", - }, "ethnicity": { "description": "The employee ethnicity", "example": "white", @@ -11650,7 +11637,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "hire_date": { "description": "The employee hire date", - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -12020,13 +12007,8 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "id": { "type": "string", }, - "job_id": { - "description": "The employee job id", - "example": "R-6789", - "type": "string", - }, "job_title": { - "description": "The employee job title", + "description": "If the source of the job_title is the Employee's current Employment, and that Employment pertains exclusively to this Employee, then the active Employment job_title will also be written", "example": "Physicist", "type": "string", }, @@ -12581,7 +12563,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "preferred_language": { "description": "The employee preferred language", - "example": "en_US", + "example": "eng", "properties": { "source_value": { "oneOf": [ @@ -12621,6 +12603,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "cat", "cha", "ces", + "dan", "deu", "div", "dzo", @@ -12637,6 +12620,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "fra", "gle", "grn", + "guj", "glv", "heb", "hin", @@ -12667,6 +12651,8 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "mah", "mri", "mkd", + "mon", + "mar", "msa", "mlt", "mya", @@ -12681,15 +12667,18 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "pol", "pus", "por", + "que", "rar", "roh", "rup", "ron", "rus", "kin", + "sme", "sag", "sin", "slk", + "slv", "smo", "sna", "som", @@ -12699,11 +12688,24 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "swe", "swa", "tam", + "tel", "tgk", "tha", "tir", "tig", + "tuk", + "tsn", + "ton", + "tur", + "tso", + "ukr", + "urd", + "uzb", + "ven", + "vie", + "xho", "zho", + "zul", "unmapped_value", null, ], @@ -12715,7 +12717,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "start_date": { "description": "The employee start date", - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -13126,7 +13128,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "string", }, { - "location": "body", + "location": "path", "name": "id", "type": "string", }, @@ -13167,17 +13169,27 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, { "location": "body", - "name": "employment_type", + "name": "effective_date", + "type": "string", + }, + { + "location": "body", + "name": "end_date", + "type": "string", + }, + { + "location": "body", + "name": "grade", "type": "object", }, { "location": "body", - "name": "employment_contract_type", + "name": "work_time", "type": "object", }, { "location": "body", - "name": "time_worked", + "name": "payroll_code", "type": "string", }, { @@ -13190,96 +13202,45 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, "parameters": { "properties": { - "employment_contract_type": { - "description": "The employment work schedule type (e.g., full-time, part-time)", - "example": "full_time", + "effective_date": { + "description": "The effective date of the employment contract", + "example": "2021-01-01T01:01:01.000Z", + "format": "date-time", + "type": "string", + }, + "end_date": { + "description": "The end date of employment", + "example": "2021-01-01T01:01:01.000Z", + "format": "date-time", + "type": "string", + }, + "grade": { + "description": "Represents the employee’s position within the organizational hierarchy.", "properties": { - "source_value": { - "oneOf": [ - { - "type": "string", - }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { - "type": "object", - }, - { - "items": {}, - "type": "array", - }, - ], + "description": { + "description": "description of the grade", + "example": "Mid-level employee demonstrating proficiency and autonomy.", + "type": "string", }, - "value": { - "enum": [ - "full_time", - "shifts", - "part_time", - "unmapped_value", - null, - ], + "id": { + "description": "The reference id", + "example": "1687-3", "type": "string", }, - }, - "type": "object", - }, - "employment_type": { - "description": "The type of employment (e.g., contractor, permanent)", - "example": "permanent", - "properties": { - "source_value": { - "oneOf": [ - { - "type": "string", - }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { - "type": "object", - }, - { - "items": {}, - "type": "array", - }, - ], + "name": { + "description": "The reference name", + "example": "1687-4", + "type": "string", }, - "value": { - "enum": [ - "contractor", - "intern", - "permanent", - "apprentice", - "freelance", - "terminated", - "temporary", - "seasonal", - "volunteer", - "probation", - "internal", - "external", - "expatriate", - "employer_of_record", - "casual", - "Programme", - "unmapped_value", - null, - ], + "remote_id": { + "description": "Provider's unique identifier", + "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", "type": "string", }, }, "type": "object", }, "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", "type": "string", }, "job_title": { @@ -13371,49 +13332,99 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "items": {}, "type": "array", }, - ], - }, - "value": { - "enum": [ - "hour", - "day", - "week", - "every_two_weeks", - "month", - "quarter", - "every_six_months", - "year", - "unmapped_value", - null, - ], - "type": "string", + ], + }, + "value": { + "enum": [ + "hour", + "day", + "week", + "every_two_weeks", + "month", + "quarter", + "every_six_months", + "year", + "unmapped_value", + null, + ], + "type": "string", + }, + }, + "type": "object", + }, + "pay_rate": { + "description": "The pay rate for the employee", + "example": "40.00", + "type": "string", + }, + "payroll_code": { + "description": "The payroll code of the employee", + "example": "PC1", + "type": "string", + }, + "subResourceId": { + "type": "string", + }, + "unified_custom_fields": { + "additionalProperties": true, + "description": "Custom Unified Fields configured in your StackOne project", + "example": { + "my_project_custom_field_1": "REF-1236", + "my_project_custom_field_2": "some other value", + }, + "type": "object", + }, + "work_time": { + "properties": { + "duration": { + "description": "The work time duration in ISO 8601 duration format", + "example": "P0Y0M0DT8H0M0S", + "format": "duration", + "type": "string", + }, + "duration_unit": { + "description": "The duration unit of the work time", + "example": "month", + "properties": { + "source_value": { + "oneOf": [ + { + "type": "string", + }, + { + "type": "number", + }, + { + "type": "boolean", + }, + { + "type": "object", + }, + { + "items": {}, + "type": "array", + }, + ], + }, + "value": { + "description": "The unified value for the period.", + "enum": [ + "day", + "week", + "month", + "year", + "unmapped_value", + null, + ], + "example": "month", + "type": "string", + }, + }, + "type": "object", }, }, "type": "object", }, - "pay_rate": { - "description": "The pay rate for the employee", - "example": "40.00", - "type": "string", - }, - "subResourceId": { - "type": "string", - }, - "time_worked": { - "description": "The time worked for the employee in ISO 8601 duration format", - "example": "P0Y0M0DT8H0M0S", - "format": "duration", - "type": "string", - }, - "unified_custom_fields": { - "additionalProperties": true, - "description": "Custom Unified Fields configured in your StackOne project", - "example": { - "my_project_custom_field_1": "REF-1236", - "my_project_custom_field_2": "some other value", - }, - "type": "object", - }, "x-account-id": { "description": "The account identifier", "type": "string", @@ -13447,11 +13458,6 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "name": "subResourceId", "type": "string", }, - { - "location": "body", - "name": "employee_id", - "type": "string", - }, { "location": "body", "name": "approver_id", @@ -13507,15 +13513,10 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "example": "1687-4", "type": "string", }, - "employee_id": { - "description": "The employee ID", - "example": "1687-3", - "type": "string", - }, "end_date": { - "description": "The end date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", + "description": "Inclusive end date of the time off request (ISO8601 date-time without timezone). The time off includes this day", + "example": "2021-01-01T01:01:01.000", + "format": "datetime-local", "type": "string", }, "end_half_day": { @@ -13564,9 +13565,9 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "object", }, "start_date": { - "description": "The start date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", + "description": "The start date of the time off request (ISO8601 date-time without timezone)", + "example": "2021-01-01T01:01:01.000", + "format": "datetime-local", "type": "string", }, "start_half_day": { @@ -13615,6 +13616,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "rejected", "pending", "deleted", + "draft", "unmapped_value", null, ], @@ -13757,7 +13759,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "description": "The file format of the file", "properties": { "source_value": { - "example": "abc", + "example": "application/pdf", "oneOf": [ { "type": "string", @@ -15368,6 +15370,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "driver_license", "birth_certificate", "other", + "unmapped_value", null, ], "type": "string", @@ -15376,12 +15379,12 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "object", }, "valid_from": { - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, "valid_to": { - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -15397,214 +15400,6 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "type": "object", }, }, - "hris_update_time_off_request": { - "description": "Update time off request", - "execute": { - "bodyType": "json", - "method": "PATCH", - "params": [ - { - "location": "header", - "name": "x-account-id", - "type": "string", - }, - { - "location": "path", - "name": "id", - "type": "string", - }, - { - "location": "body", - "name": "employee_id", - "type": "string", - }, - { - "location": "body", - "name": "approver_id", - "type": "string", - }, - { - "location": "body", - "name": "status", - "type": "object", - }, - { - "location": "body", - "name": "start_date", - "type": "string", - }, - { - "location": "body", - "name": "end_date", - "type": "string", - }, - { - "location": "body", - "name": "start_half_day", - "type": "string", - }, - { - "location": "body", - "name": "end_half_day", - "type": "string", - }, - { - "location": "body", - "name": "time_off_policy_id", - "type": "string", - }, - { - "location": "body", - "name": "reason", - "type": "object", - }, - { - "location": "body", - "name": "passthrough", - "type": "object", - }, - ], - "url": "https://api.stackone.com/unified/hris/time_off/{id}", - }, - "parameters": { - "properties": { - "approver_id": { - "description": "The approver ID", - "example": "1687-4", - "type": "string", - }, - "employee_id": { - "description": "The employee ID", - "example": "1687-3", - "type": "string", - }, - "end_date": { - "description": "The end date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", - "type": "string", - }, - "end_half_day": { - "description": "True if the end of the time off request ends half way through the day", - "example": true, - "oneOf": [ - { - "type": "boolean", - }, - { - "enum": [ - "true", - "false", - ], - "type": "string", - }, - ], - }, - "id": { - "type": "string", - }, - "passthrough": { - "additionalProperties": true, - "description": "Value to pass through to the provider", - "example": { - "other_known_names": "John Doe", - }, - "type": "object", - }, - "reason": { - "properties": { - "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - "name": { - "type": "string", - }, - "remote_id": { - "description": "Provider's unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - }, - "type": "object", - }, - "start_date": { - "description": "The start date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", - "type": "string", - }, - "start_half_day": { - "description": "True if the start of the time off request begins half way through the day", - "example": true, - "oneOf": [ - { - "type": "boolean", - }, - { - "enum": [ - "true", - "false", - ], - "type": "string", - }, - ], - }, - "status": { - "description": "The status of the time off request", - "properties": { - "source_value": { - "oneOf": [ - { - "type": "string", - }, - { - "type": "number", - }, - { - "type": "boolean", - }, - { - "type": "object", - }, - { - "items": {}, - "type": "array", - }, - ], - }, - "value": { - "enum": [ - "approved", - "cancelled", - "rejected", - "pending", - "deleted", - "unmapped_value", - null, - ], - "type": "string", - }, - }, - "type": "object", - }, - "time_off_policy_id": { - "description": "The time off policy id associated with this time off request", - "example": "cx280928933", - "type": "string", - }, - "x-account-id": { - "description": "The account identifier", - "type": "string", - }, - }, - "required": [ - "id", - ], - "type": "object", - }, - }, "hris_upload_employee_document": { "description": "Upload Employee Document", "execute": { @@ -15648,12 +15443,12 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 }, { "location": "body", - "name": "category", + "name": "confidential", "type": "object", }, { "location": "body", - "name": "confidential", + "name": "category", "type": "object", }, ], @@ -15743,6 +15538,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "enum": [ "true", "false", + "unmapped_value", null, ], "example": "true", @@ -15760,7 +15556,7 @@ exports[`OpenAPIParser Snapshot Tests should parse all OpenAPI specs correctly 1 "description": "The file format of the file", "properties": { "source_value": { - "example": "abc", + "example": "application/pdf", "oneOf": [ { "type": "string", diff --git a/src/toolsets/tests/__snapshots__/stackone.spec.ts.snap b/src/toolsets/tests/__snapshots__/stackone.spec.ts.snap index fa60b8b..dd85573 100644 --- a/src/toolsets/tests/__snapshots__/stackone.spec.ts.snap +++ b/src/toolsets/tests/__snapshots__/stackone.spec.ts.snap @@ -656,7 +656,7 @@ Map { }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "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,benefits,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,documents,created_at,updated_at,employee_number,national_identity_number,national_identity_numbers,skills", + "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,documents,created_at,updated_at,benefits,employee_number,national_identity_number,national_identity_numbers,skills", "type": "string", }, "file_path": { @@ -822,11 +822,6 @@ Map { "name": "work_phone_number", "type": "string", }, - { - "location": "body", - "name": "job_id", - "type": "string", - }, { "location": "body", "name": "job_title", @@ -897,16 +892,6 @@ Map { "name": "start_date", "type": "string", }, - { - "location": "body", - "name": "employment_type", - "type": "object", - }, - { - "location": "body", - "name": "employment_contract_type", - "type": "object", - }, { "location": "body", "name": "employment_status", @@ -1426,7 +1411,7 @@ Map { }, "date_of_birth": { "description": "The employee date_of_birth", - "example": "1990-01-01T00:00.000Z", + "example": "1990-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -1453,63 +1438,51 @@ Map { "employment": { "description": "The employee employment", "properties": { - "employment_contract_type": { - "description": "The employment work schedule type (e.g., full-time, part-time)", - "example": "full_time", + "end_date": { + "description": "The end date of employment", + "example": "2021-01-01T01:01:01.000Z", + "format": "date-time", + "type": "string", + }, + "grade": { + "description": "Represents the employee’s position within the organizational hierarchy.", "properties": { - "value": { - "enum": [ - "full_time", - "shifts", - "part_time", - "unmapped_value", - null, - ], + "description": { + "description": "description of the grade", + "example": "Mid-level employee demonstrating proficiency and autonomy.", "type": "string", }, - }, - "type": "object", - }, - "employment_type": { - "description": "The type of employment (e.g., contractor, permanent)", - "example": "permanent", - "properties": { - "value": { - "enum": [ - "contractor", - "intern", - "permanent", - "apprentice", - "freelance", - "terminated", - "temporary", - "seasonal", - "volunteer", - "probation", - "internal", - "external", - "expatriate", - "employer_of_record", - "casual", - "Programme", - "unmapped_value", - null, - ], + "id": { + "description": "The reference id", + "example": "1687-3", + "type": "string", + }, + "name": { + "description": "The reference name", + "example": "1687-4", + "type": "string", + }, + "remote_id": { + "description": "Provider's unique identifier", + "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", "type": "string", }, }, "type": "object", }, - "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, "job_title": { "description": "The job title of the employee", "example": "Software Engineer", "type": "string", }, + "passthrough": { + "additionalProperties": true, + "description": "Value to pass through to the provider", + "example": { + "other_known_names": "John Doe", + }, + "type": "object", + }, "pay_currency": { "description": "The currency used for pay", "example": "USD", @@ -1571,10 +1544,9 @@ Map { "example": "40.00", "type": "string", }, - "time_worked": { - "description": "The time worked for the employee in ISO 8601 duration format", - "example": "P0Y0M0DT8H0M0S", - "format": "duration", + "payroll_code": { + "description": "The payroll code of the employee", + "example": "PC1", "type": "string", }, "unified_custom_fields": { @@ -1586,22 +1558,36 @@ Map { }, "type": "object", }, - }, - "type": "object", - }, - "employment_contract_type": { - "description": "The employment work schedule type (e.g., full-time, part-time)", - "example": "full_time", - "properties": { - "value": { - "enum": [ - "full_time", - "shifts", - "part_time", - "unmapped_value", - null, - ], - "type": "string", + "work_time": { + "properties": { + "duration": { + "description": "The work time duration in ISO 8601 duration format", + "example": "P0Y0M0DT8H0M0S", + "format": "duration", + "type": "string", + }, + "duration_unit": { + "description": "The duration unit of the work time", + "example": "month", + "properties": { + "value": { + "description": "The unified value for the period.", + "enum": [ + "day", + "week", + "month", + "year", + "unmapped_value", + null, + ], + "example": "month", + "type": "string", + }, + }, + "type": "object", + }, + }, + "type": "object", }, }, "type": "object", @@ -1626,36 +1612,6 @@ Map { }, "type": "object", }, - "employment_type": { - "description": "The employee employment type", - "example": "full_time", - "properties": { - "value": { - "enum": [ - "contractor", - "intern", - "permanent", - "apprentice", - "freelance", - "terminated", - "temporary", - "seasonal", - "volunteer", - "probation", - "internal", - "external", - "expatriate", - "employer_of_record", - "casual", - "Programme", - "unmapped_value", - null, - ], - "type": "string", - }, - }, - "type": "object", - }, "ethnicity": { "description": "The employee ethnicity", "example": "white", @@ -1710,7 +1666,7 @@ Map { }, "hire_date": { "description": "The employee hire date", - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -2037,13 +1993,8 @@ Map { }, "type": "object", }, - "job_id": { - "description": "The employee job id", - "example": "R-6789", - "type": "string", - }, "job_title": { - "description": "The employee job title", + "description": "If the source of the job_title is the Employee's current Employment, and that Employment pertains exclusively to this Employee, then the active Employment job_title will also be written", "example": "Physicist", "type": "string", }, @@ -2538,7 +2489,7 @@ Map { }, "preferred_language": { "description": "The employee preferred language", - "example": "en_US", + "example": "eng", "properties": { "value": { "description": "The ISO639-2 Code of the language", @@ -2558,6 +2509,7 @@ Map { "cat", "cha", "ces", + "dan", "deu", "div", "dzo", @@ -2574,6 +2526,7 @@ Map { "fra", "gle", "grn", + "guj", "glv", "heb", "hin", @@ -2604,6 +2557,8 @@ Map { "mah", "mri", "mkd", + "mon", + "mar", "msa", "mlt", "mya", @@ -2618,15 +2573,18 @@ Map { "pol", "pus", "por", + "que", "rar", "roh", "rup", "ron", "rus", "kin", + "sme", "sag", "sin", "slk", + "slv", "smo", "sna", "som", @@ -2636,11 +2594,24 @@ Map { "swe", "swa", "tam", + "tel", "tgk", "tha", "tir", "tig", + "tuk", + "tsn", + "ton", + "tur", + "tso", + "ukr", + "urd", + "uzb", + "ven", + "vie", + "xho", "zho", + "zul", "unmapped_value", null, ], @@ -2652,7 +2623,7 @@ Map { }, "start_date": { "description": "The employee start date", - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -3062,11 +3033,6 @@ Map { "name": "work_phone_number", "type": "string", }, - { - "location": "body", - "name": "job_id", - "type": "string", - }, { "location": "body", "name": "job_title", @@ -3137,16 +3103,6 @@ Map { "name": "start_date", "type": "string", }, - { - "location": "body", - "name": "employment_type", - "type": "object", - }, - { - "location": "body", - "name": "employment_contract_type", - "type": "object", - }, { "location": "body", "name": "employment_status", @@ -3283,7 +3239,7 @@ Map { }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "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,benefits,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,documents,created_at,updated_at,employee_number,national_identity_number,national_identity_numbers,skills", + "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,documents,created_at,updated_at,benefits,employee_number,national_identity_number,national_identity_numbers,skills", "type": "string", }, "file_path": { @@ -3421,11 +3377,6 @@ Map { "name": "work_phone_number", "type": "string", }, - { - "location": "body", - "name": "job_id", - "type": "string", - }, { "location": "body", "name": "job_title", @@ -3496,16 +3447,6 @@ Map { "name": "start_date", "type": "string", }, - { - "location": "body", - "name": "employment_type", - "type": "object", - }, - { - "location": "body", - "name": "employment_contract_type", - "type": "object", - }, { "location": "body", "name": "employment_status", @@ -3998,7 +3939,7 @@ Map { }, "date_of_birth": { "description": "The employee date_of_birth", - "example": "1990-01-01T00:00.000Z", + "example": "1990-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -4025,63 +3966,51 @@ Map { "employment": { "description": "The employee employment", "properties": { - "employment_contract_type": { - "description": "The employment work schedule type (e.g., full-time, part-time)", - "example": "full_time", + "end_date": { + "description": "The end date of employment", + "example": "2021-01-01T01:01:01.000Z", + "format": "date-time", + "type": "string", + }, + "grade": { + "description": "Represents the employee’s position within the organizational hierarchy.", "properties": { - "value": { - "enum": [ - "full_time", - "shifts", - "part_time", - "unmapped_value", - null, - ], + "description": { + "description": "description of the grade", + "example": "Mid-level employee demonstrating proficiency and autonomy.", "type": "string", }, - }, - "type": "object", - }, - "employment_type": { - "description": "The type of employment (e.g., contractor, permanent)", - "example": "permanent", - "properties": { - "value": { - "enum": [ - "contractor", - "intern", - "permanent", - "apprentice", - "freelance", - "terminated", - "temporary", - "seasonal", - "volunteer", - "probation", - "internal", - "external", - "expatriate", - "employer_of_record", - "casual", - "Programme", - "unmapped_value", - null, - ], + "id": { + "description": "The reference id", + "example": "1687-3", + "type": "string", + }, + "name": { + "description": "The reference name", + "example": "1687-4", + "type": "string", + }, + "remote_id": { + "description": "Provider's unique identifier", + "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", "type": "string", }, }, "type": "object", }, - "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, "job_title": { "description": "The job title of the employee", "example": "Software Engineer", "type": "string", }, + "passthrough": { + "additionalProperties": true, + "description": "Value to pass through to the provider", + "example": { + "other_known_names": "John Doe", + }, + "type": "object", + }, "pay_currency": { "description": "The currency used for pay", "example": "USD", @@ -4143,10 +4072,9 @@ Map { "example": "40.00", "type": "string", }, - "time_worked": { - "description": "The time worked for the employee in ISO 8601 duration format", - "example": "P0Y0M0DT8H0M0S", - "format": "duration", + "payroll_code": { + "description": "The payroll code of the employee", + "example": "PC1", "type": "string", }, "unified_custom_fields": { @@ -4158,22 +4086,36 @@ Map { }, "type": "object", }, - }, - "type": "object", - }, - "employment_contract_type": { - "description": "The employment work schedule type (e.g., full-time, part-time)", - "example": "full_time", - "properties": { - "value": { - "enum": [ - "full_time", - "shifts", - "part_time", - "unmapped_value", - null, - ], - "type": "string", + "work_time": { + "properties": { + "duration": { + "description": "The work time duration in ISO 8601 duration format", + "example": "P0Y0M0DT8H0M0S", + "format": "duration", + "type": "string", + }, + "duration_unit": { + "description": "The duration unit of the work time", + "example": "month", + "properties": { + "value": { + "description": "The unified value for the period.", + "enum": [ + "day", + "week", + "month", + "year", + "unmapped_value", + null, + ], + "example": "month", + "type": "string", + }, + }, + "type": "object", + }, + }, + "type": "object", }, }, "type": "object", @@ -4198,36 +4140,6 @@ Map { }, "type": "object", }, - "employment_type": { - "description": "The employee employment type", - "example": "full_time", - "properties": { - "value": { - "enum": [ - "contractor", - "intern", - "permanent", - "apprentice", - "freelance", - "terminated", - "temporary", - "seasonal", - "volunteer", - "probation", - "internal", - "external", - "expatriate", - "employer_of_record", - "casual", - "Programme", - "unmapped_value", - null, - ], - "type": "string", - }, - }, - "type": "object", - }, "ethnicity": { "description": "The employee ethnicity", "example": "white", @@ -4282,7 +4194,7 @@ Map { }, "hire_date": { "description": "The employee hire date", - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -4612,13 +4524,8 @@ Map { "id": { "type": "string", }, - "job_id": { - "description": "The employee job id", - "example": "R-6789", - "type": "string", - }, "job_title": { - "description": "The employee job title", + "description": "If the source of the job_title is the Employee's current Employment, and that Employment pertains exclusively to this Employee, then the active Employment job_title will also be written", "example": "Physicist", "type": "string", }, @@ -5113,7 +5020,7 @@ Map { }, "preferred_language": { "description": "The employee preferred language", - "example": "en_US", + "example": "eng", "properties": { "value": { "description": "The ISO639-2 Code of the language", @@ -5133,6 +5040,7 @@ Map { "cat", "cha", "ces", + "dan", "deu", "div", "dzo", @@ -5149,6 +5057,7 @@ Map { "fra", "gle", "grn", + "guj", "glv", "heb", "hin", @@ -5179,6 +5088,8 @@ Map { "mah", "mri", "mkd", + "mon", + "mar", "msa", "mlt", "mya", @@ -5193,15 +5104,18 @@ Map { "pol", "pus", "por", + "que", "rar", "roh", "rup", "ron", "rus", "kin", + "sme", "sag", "sin", "slk", + "slv", "smo", "sna", "som", @@ -5211,11 +5125,24 @@ Map { "swe", "swa", "tam", + "tel", "tgk", "tha", "tir", "tig", + "tuk", + "tsn", + "ton", + "tur", + "tso", + "ukr", + "urd", + "uzb", + "ven", + "vie", + "xho", "zho", + "zul", "unmapped_value", null, ], @@ -5227,7 +5154,7 @@ Map { }, "start_date": { "description": "The employee start date", - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -5644,11 +5571,6 @@ Map { "name": "work_phone_number", "type": "string", }, - { - "location": "body", - "name": "job_id", - "type": "string", - }, { "location": "body", "name": "job_title", @@ -5719,16 +5641,6 @@ Map { "name": "start_date", "type": "string", }, - { - "location": "body", - "name": "employment_type", - "type": "object", - }, - { - "location": "body", - "name": "employment_contract_type", - "type": "object", - }, { "location": "body", "name": "employment_status", @@ -5958,7 +5870,7 @@ Map { }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "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,duration,time_off_policy_id,remote_time_off_policy_id,reason,created_at,updated_at,policy", + "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,duration,created_at,updated_at,policy", "type": "string", }, "file_path": { @@ -6083,11 +5995,6 @@ Map { "name": "id", "type": "string", }, - { - "location": "body", - "name": "employee_id", - "type": "string", - }, { "location": "body", "name": "approver_id", @@ -6157,15 +6064,10 @@ Map { "example": "1687-4", "type": "string", }, - "employee_id": { - "description": "The employee ID", - "example": "1687-3", - "type": "string", - }, "end_date": { - "description": "The end date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", + "description": "Inclusive end date of the time off request (ISO8601 date-time without timezone). The time off includes this day", + "example": "2021-01-01T01:01:01.000", + "format": "datetime-local", "type": "string", }, "end_half_day": { @@ -6218,9 +6120,9 @@ Map { "type": "object", }, "start_date": { - "description": "The start date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", + "description": "The start date of the time off request (ISO8601 date-time without timezone)", + "example": "2021-01-01T01:01:01.000", + "format": "datetime-local", "type": "string", }, "start_half_day": { @@ -6249,6 +6151,7 @@ Map { "rejected", "pending", "deleted", + "draft", "unmapped_value", null, ], @@ -6286,11 +6189,6 @@ Map { "name": "id", "type": "string", }, - { - "location": "body", - "name": "employee_id", - "type": "string", - }, { "location": "body", "name": "approver_id", @@ -6407,7 +6305,7 @@ Map { }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "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,duration,time_off_policy_id,remote_time_off_policy_id,reason,created_at,updated_at,policy", + "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,duration,created_at,updated_at,policy", "type": "string", }, "file_path": { @@ -6484,10 +6382,10 @@ Map { }, }, StackOneTool { - "description": "Update Employee Time Off Request", + "description": "Cancel Employee Time Off Request", "executeConfig": { "bodyType": "json", - "method": "PATCH", + "method": "DELETE", "params": [ { "location": "header", @@ -6504,39 +6402,118 @@ Map { "name": "subResourceId", "type": "string", }, - { - "location": "body", - "name": "employee_id", - "type": "string", - }, - { - "location": "body", - "name": "approver_id", - "type": "string", - }, - { - "location": "body", - "name": "status", - "type": "object", + ], + "url": "https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}", + }, + "name": "hris_cancel_employee_time_off_request", + "parameterMapper": ParameterMapper { + "transformers": +Map { + "file_path" => { + "transforms": { + "content": [Function], + "file_format": [Function], + "name": [Function], + }, }, - { - "location": "body", - "name": "start_date", + } +, + }, + "parameters": { + "properties": { + "file_path": { + "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", }, - { - "location": "body", - "name": "end_date", + "id": { "type": "string", }, - { - "location": "body", - "name": "start_half_day", + "subResourceId": { "type": "string", }, - { - "location": "body", - "name": "end_half_day", + "x-account-id": undefined, + }, + "required": [ + "id", + "subResourceId", + ], + "type": "object", + }, + "requestBuilder": RequestBuilder { + "bodyType": "json", + "headers": { + "Authorization": "Basic dGVzdF9rZXk6", + }, + "method": "DELETE", + "params": [ + { + "location": "header", + "name": "x-account-id", + "type": "string", + }, + { + "location": "path", + "name": "id", + "type": "string", + }, + { + "location": "path", + "name": "subResourceId", + "type": "string", + }, + ], + "url": "https://api.stackone.com/unified/hris/employees/{id}/time_off/{subResourceId}", + }, + }, + StackOneTool { + "description": "Update Employee Time Off Request", + "executeConfig": { + "bodyType": "json", + "method": "PATCH", + "params": [ + { + "location": "header", + "name": "x-account-id", + "type": "string", + }, + { + "location": "path", + "name": "id", + "type": "string", + }, + { + "location": "path", + "name": "subResourceId", + "type": "string", + }, + { + "location": "body", + "name": "approver_id", + "type": "string", + }, + { + "location": "body", + "name": "status", + "type": "object", + }, + { + "location": "body", + "name": "start_date", + "type": "string", + }, + { + "location": "body", + "name": "end_date", + "type": "string", + }, + { + "location": "body", + "name": "start_half_day", + "type": "string", + }, + { + "location": "body", + "name": "end_half_day", "type": "string", }, { @@ -6578,15 +6555,10 @@ Map { "example": "1687-4", "type": "string", }, - "employee_id": { - "description": "The employee ID", - "example": "1687-3", - "type": "string", - }, "end_date": { - "description": "The end date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", + "description": "Inclusive end date of the time off request (ISO8601 date-time without timezone). The time off includes this day", + "example": "2021-01-01T01:01:01.000", + "format": "datetime-local", "type": "string", }, "end_half_day": { @@ -6639,9 +6611,9 @@ Map { "type": "object", }, "start_date": { - "description": "The start date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", + "description": "The start date of the time off request (ISO8601 date-time without timezone)", + "example": "2021-01-01T01:01:01.000", + "format": "datetime-local", "type": "string", }, "start_half_day": { @@ -6670,6 +6642,7 @@ Map { "rejected", "pending", "deleted", + "draft", "unmapped_value", null, ], @@ -6716,11 +6689,6 @@ Map { "name": "subResourceId", "type": "string", }, - { - "location": "body", - "name": "employee_id", - "type": "string", - }, { "location": "body", "name": "approver_id", @@ -6877,6 +6845,7 @@ Map { "enum": [ "true", "false", + "unmapped_value", null, ], "example": "true", @@ -8207,12 +8176,12 @@ Map { }, { "location": "body", - "name": "category", + "name": "confidential", "type": "object", }, { "location": "body", - "name": "confidential", + "name": "category", "type": "object", }, ], @@ -8290,6 +8259,7 @@ Map { "enum": [ "true", "false", + "unmapped_value", null, ], "example": "true", @@ -9596,12 +9566,12 @@ Map { }, { "location": "body", - "name": "category", + "name": "confidential", "type": "object", }, { "location": "body", - "name": "confidential", + "name": "category", "type": "object", }, ], @@ -9634,6 +9604,11 @@ Map { "name": "format", "type": "string", }, + { + "location": "query", + "name": "export_format", + "type": "string", + }, ], "url": "https://api.stackone.com/unified/hris/employees/{id}/documents/{subResourceId}/download", }, @@ -9653,6 +9628,11 @@ Map { }, "parameters": { "properties": { + "export_format": { + "description": "The export format of the file", + "example": "text/plain", + "type": "string", + }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", @@ -9703,6 +9683,11 @@ Map { "name": "format", "type": "string", }, + { + "location": "query", + "name": "export_format", + "type": "string", + }, ], "url": "https://api.stackone.com/unified/hris/employees/{id}/documents/{subResourceId}/download", }, @@ -12080,6 +12065,7 @@ Map { "driver_license", "birth_certificate", "other", + "unmapped_value", null, ], "type": "string", @@ -12088,12 +12074,12 @@ Map { "type": "object", }, "valid_from": { - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, "valid_to": { - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -13955,6 +13941,7 @@ Map { "driver_license", "birth_certificate", "other", + "unmapped_value", null, ], "type": "string", @@ -13963,12 +13950,12 @@ Map { "type": "object", }, "valid_from": { - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, "valid_to": { - "example": "2021-01-01T00:00.000Z", + "example": "2021-01-01T00:00:00.000Z", "format": "date-time", "type": "string", }, @@ -14448,7 +14435,7 @@ Map { }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,employment_type,employment_contract_type,time_worked,created_at,updated_at,start_date,end_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", + "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,end_date,employment_type,employment_contract_type,change_reason,grade,work_time,payroll_code,fte,created_at,updated_at,start_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", "type": "string", }, "file_path": { @@ -14602,7 +14589,7 @@ Map { }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,employment_type,employment_contract_type,time_worked,created_at,updated_at,start_date,end_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", + "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,end_date,employment_type,employment_contract_type,change_reason,grade,work_time,payroll_code,fte,created_at,updated_at,start_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", "type": "string", }, "file_path": { @@ -14746,7 +14733,7 @@ Map { }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,employment_type,employment_contract_type,time_worked,created_at,updated_at,start_date,end_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", + "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,end_date,employment_type,employment_contract_type,change_reason,grade,work_time,payroll_code,fte,created_at,updated_at,start_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", "type": "string", }, "file_path": { @@ -14860,7 +14847,7 @@ Map { "type": "string", }, { - "location": "body", + "location": "path", "name": "id", "type": "string", }, @@ -14896,17 +14883,32 @@ Map { }, { "location": "body", - "name": "employment_type", + "name": "effective_date", + "type": "string", + }, + { + "location": "body", + "name": "end_date", + "type": "string", + }, + { + "location": "body", + "name": "grade", "type": "object", }, { "location": "body", - "name": "employment_contract_type", + "name": "work_time", "type": "object", }, { "location": "body", - "name": "time_worked", + "name": "payroll_code", + "type": "string", + }, + { + "location": "body", + "name": "job_id", "type": "string", }, { @@ -14933,60 +14935,54 @@ Map { }, "parameters": { "properties": { - "employment_contract_type": { - "description": "The employment work schedule type (e.g., full-time, part-time)", - "example": "full_time", + "effective_date": { + "description": "The effective date of the employment contract", + "example": "2021-01-01T01:01:01.000Z", + "format": "date-time", + "type": "string", + }, + "end_date": { + "description": "The end date of employment", + "example": "2021-01-01T01:01:01.000Z", + "format": "date-time", + "type": "string", + }, + "file_path": { + "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", + "type": "string", + }, + "grade": { + "description": "Represents the employee’s position within the organizational hierarchy.", "properties": { - "value": { - "enum": [ - "full_time", - "shifts", - "part_time", - "unmapped_value", - null, - ], + "description": { + "description": "description of the grade", + "example": "Mid-level employee demonstrating proficiency and autonomy.", "type": "string", }, - }, - "type": "object", - }, - "employment_type": { - "description": "The type of employment (e.g., contractor, permanent)", - "example": "permanent", - "properties": { - "value": { - "enum": [ - "contractor", - "intern", - "permanent", - "apprentice", - "freelance", - "terminated", - "temporary", - "seasonal", - "volunteer", - "probation", - "internal", - "external", - "expatriate", - "employer_of_record", - "casual", - "Programme", - "unmapped_value", - null, - ], + "id": { + "description": "The reference id", + "example": "1687-3", + "type": "string", + }, + "name": { + "description": "The reference name", + "example": "1687-4", + "type": "string", + }, + "remote_id": { + "description": "Provider's unique identifier", + "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", "type": "string", }, }, "type": "object", }, - "file_path": { - "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", + "id": { "type": "string", }, - "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", + "job_id": { + "description": "The employee job id", + "example": "5290", "type": "string", }, "job_title": { @@ -15063,10 +15059,9 @@ Map { "example": "40.00", "type": "string", }, - "time_worked": { - "description": "The time worked for the employee in ISO 8601 duration format", - "example": "P0Y0M0DT8H0M0S", - "format": "duration", + "payroll_code": { + "description": "The payroll code of the employee", + "example": "PC1", "type": "string", }, "unified_custom_fields": { @@ -15078,6 +15073,37 @@ Map { }, "type": "object", }, + "work_time": { + "properties": { + "duration": { + "description": "The work time duration in ISO 8601 duration format", + "example": "P0Y0M0DT8H0M0S", + "format": "duration", + "type": "string", + }, + "duration_unit": { + "description": "The duration unit of the work time", + "example": "month", + "properties": { + "value": { + "description": "The unified value for the period.", + "enum": [ + "day", + "week", + "month", + "year", + "unmapped_value", + null, + ], + "example": "month", + "type": "string", + }, + }, + "type": "object", + }, + }, + "type": "object", + }, "x-account-id": undefined, }, "required": [ @@ -15098,7 +15124,7 @@ Map { "type": "string", }, { - "location": "body", + "location": "path", "name": "id", "type": "string", }, @@ -15134,17 +15160,32 @@ Map { }, { "location": "body", - "name": "employment_type", + "name": "effective_date", + "type": "string", + }, + { + "location": "body", + "name": "end_date", + "type": "string", + }, + { + "location": "body", + "name": "grade", "type": "object", }, { "location": "body", - "name": "employment_contract_type", + "name": "work_time", "type": "object", }, { "location": "body", - "name": "time_worked", + "name": "payroll_code", + "type": "string", + }, + { + "location": "body", + "name": "job_id", "type": "string", }, { @@ -15223,7 +15264,7 @@ Map { }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,employment_type,employment_contract_type,time_worked,created_at,updated_at,start_date,end_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", + "example": "id,remote_id,employee_id,remote_employee_id,job_title,pay_rate,pay_period,pay_frequency,pay_currency,effective_date,end_date,employment_type,employment_contract_type,change_reason,grade,work_time,payroll_code,fte,created_at,updated_at,start_date,active,department,team,cost_center,cost_centers,division,job,type,contract_type,manager", "type": "string", }, "file_path": { @@ -15311,7 +15352,7 @@ Map { "type": "string", }, { - "location": "body", + "location": "path", "name": "id", "type": "string", }, @@ -15352,17 +15393,27 @@ Map { }, { "location": "body", - "name": "employment_type", + "name": "effective_date", + "type": "string", + }, + { + "location": "body", + "name": "end_date", + "type": "string", + }, + { + "location": "body", + "name": "grade", "type": "object", }, { "location": "body", - "name": "employment_contract_type", + "name": "work_time", "type": "object", }, { "location": "body", - "name": "time_worked", + "name": "payroll_code", "type": "string", }, { @@ -15389,64 +15440,53 @@ Map { }, "parameters": { "properties": { - "employment_contract_type": { - "description": "The employment work schedule type (e.g., full-time, part-time)", - "example": "full_time", - "properties": { - "value": { - "enum": [ - "full_time", - "shifts", - "part_time", - "unmapped_value", - null, - ], - "type": "string", - }, - }, - "type": "object", + "effective_date": { + "description": "The effective date of the employment contract", + "example": "2021-01-01T01:01:01.000Z", + "format": "date-time", + "type": "string", }, - "employment_type": { - "description": "The type of employment (e.g., contractor, permanent)", - "example": "permanent", - "properties": { - "value": { - "enum": [ - "contractor", - "intern", - "permanent", - "apprentice", - "freelance", - "terminated", - "temporary", - "seasonal", - "volunteer", - "probation", - "internal", - "external", - "expatriate", - "employer_of_record", - "casual", - "Programme", - "unmapped_value", - null, - ], - "type": "string", - }, - }, - "type": "object", + "end_date": { + "description": "The end date of employment", + "example": "2021-01-01T01:01:01.000Z", + "format": "date-time", + "type": "string", }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", }, - "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - "job_title": { - "description": "The job title of the employee", + "grade": { + "description": "Represents the employee’s position within the organizational hierarchy.", + "properties": { + "description": { + "description": "description of the grade", + "example": "Mid-level employee demonstrating proficiency and autonomy.", + "type": "string", + }, + "id": { + "description": "The reference id", + "example": "1687-3", + "type": "string", + }, + "name": { + "description": "The reference name", + "example": "1687-4", + "type": "string", + }, + "remote_id": { + "description": "Provider's unique identifier", + "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", + "type": "string", + }, + }, + "type": "object", + }, + "id": { + "type": "string", + }, + "job_title": { + "description": "The job title of the employee", "example": "Software Engineer", "type": "string", }, @@ -15519,13 +15559,12 @@ Map { "example": "40.00", "type": "string", }, - "subResourceId": { + "payroll_code": { + "description": "The payroll code of the employee", + "example": "PC1", "type": "string", }, - "time_worked": { - "description": "The time worked for the employee in ISO 8601 duration format", - "example": "P0Y0M0DT8H0M0S", - "format": "duration", + "subResourceId": { "type": "string", }, "unified_custom_fields": { @@ -15537,6 +15576,37 @@ Map { }, "type": "object", }, + "work_time": { + "properties": { + "duration": { + "description": "The work time duration in ISO 8601 duration format", + "example": "P0Y0M0DT8H0M0S", + "format": "duration", + "type": "string", + }, + "duration_unit": { + "description": "The duration unit of the work time", + "example": "month", + "properties": { + "value": { + "description": "The unified value for the period.", + "enum": [ + "day", + "week", + "month", + "year", + "unmapped_value", + null, + ], + "example": "month", + "type": "string", + }, + }, + "type": "object", + }, + }, + "type": "object", + }, "x-account-id": undefined, }, "required": [ @@ -15558,7 +15628,7 @@ Map { "type": "string", }, { - "location": "body", + "location": "path", "name": "id", "type": "string", }, @@ -15599,17 +15669,27 @@ Map { }, { "location": "body", - "name": "employment_type", + "name": "effective_date", + "type": "string", + }, + { + "location": "body", + "name": "end_date", + "type": "string", + }, + { + "location": "body", + "name": "grade", "type": "object", }, { "location": "body", - "name": "employment_contract_type", + "name": "work_time", "type": "object", }, { "location": "body", - "name": "time_worked", + "name": "payroll_code", "type": "string", }, { @@ -15956,7 +16036,7 @@ Map { }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "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,duration,time_off_policy_id,remote_time_off_policy_id,reason,created_at,updated_at,policy", + "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,duration,created_at,updated_at,policy", "type": "string", }, "file_path": { @@ -16056,10 +16136,10 @@ Map { }, }, StackOneTool { - "description": "Creates a time off request", + "description": "Get time off request", "executeConfig": { "bodyType": "json", - "method": "POST", + "method": "GET", "params": [ { "location": "header", @@ -16067,59 +16147,34 @@ Map { "type": "string", }, { - "location": "body", - "name": "employee_id", + "location": "path", + "name": "id", "type": "string", }, { - "location": "body", - "name": "approver_id", - "type": "string", + "location": "query", + "name": "raw", + "type": "boolean", }, { - "location": "body", - "name": "status", + "location": "query", + "name": "proxy", "type": "object", }, { - "location": "body", - "name": "start_date", - "type": "string", - }, - { - "location": "body", - "name": "end_date", - "type": "string", - }, - { - "location": "body", - "name": "start_half_day", - "type": "string", - }, - { - "location": "body", - "name": "end_half_day", + "location": "query", + "name": "fields", "type": "string", }, { - "location": "body", - "name": "time_off_policy_id", + "location": "query", + "name": "expand", "type": "string", }, - { - "location": "body", - "name": "reason", - "type": "object", - }, - { - "location": "body", - "name": "passthrough", - "type": "object", - }, ], - "url": "https://api.stackone.com/unified/hris/time_off", + "url": "https://api.stackone.com/unified/hris/time_off/{id}", }, - "name": "hris_create_time_off_request", + "name": "hris_get_time_off_request", "parameterMapper": ParameterMapper { "transformers": Map { @@ -16135,116 +16190,37 @@ Map { }, "parameters": { "properties": { - "approver_id": { - "description": "The approver ID", - "example": "1687-4", - "type": "string", - }, - "employee_id": { - "description": "The employee ID", - "example": "1687-3", + "expand": { + "description": "The comma separated list of fields that will be expanded in the response", + "example": "policy", "type": "string", }, - "end_date": { - "description": "The end date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", + "fields": { + "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", + "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,duration,created_at,updated_at,policy", "type": "string", }, - "end_half_day": { - "description": "True if the end of the time off request ends half way through the day", - "example": true, - "oneOf": [ - { - "type": "boolean", - }, - { - "enum": [ - "true", - "false", - ], - "type": "string", - }, - ], - }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", }, - "passthrough": { - "additionalProperties": true, - "description": "Value to pass through to the provider", - "example": { - "other_known_names": "John Doe", - }, - "type": "object", - }, - "reason": { - "properties": { - "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - "name": { - "type": "string", - }, - "remote_id": { - "description": "Provider's unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - }, - "type": "object", - }, - "start_date": { - "description": "The start date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", + "id": { "type": "string", }, - "start_half_day": { - "description": "True if the start of the time off request begins half way through the day", - "example": true, - "oneOf": [ - { - "type": "boolean", - }, - { - "enum": [ - "true", - "false", - ], - "type": "string", - }, - ], - }, - "status": { - "description": "The status of the time off request", - "properties": { - "value": { - "enum": [ - "approved", - "cancelled", - "rejected", - "pending", - "deleted", - "unmapped_value", - null, - ], - "type": "string", - }, - }, + "proxy": { + "additionalProperties": true, + "description": "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", "type": "object", }, - "time_off_policy_id": { - "description": "The time off policy id associated with this time off request", - "example": "cx280928933", - "type": "string", + "raw": { + "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", + "type": "boolean", }, "x-account-id": undefined, }, - "required": undefined, + "required": [ + "id", + ], "type": "object", }, "requestBuilder": RequestBuilder { @@ -16252,7 +16228,7 @@ Map { "headers": { "Authorization": "Basic dGVzdF9rZXk6", }, - "method": "POST", + "method": "GET", "params": [ { "location": "header", @@ -16260,99 +16236,79 @@ Map { "type": "string", }, { - "location": "body", - "name": "employee_id", + "location": "path", + "name": "id", "type": "string", }, { - "location": "body", - "name": "approver_id", - "type": "string", + "location": "query", + "name": "raw", + "type": "boolean", }, { - "location": "body", - "name": "status", + "location": "query", + "name": "proxy", "type": "object", }, { - "location": "body", - "name": "start_date", + "location": "query", + "name": "fields", "type": "string", }, { - "location": "body", - "name": "end_date", + "location": "query", + "name": "expand", "type": "string", }, + ], + "url": "https://api.stackone.com/unified/hris/time_off/{id}", + }, + }, + StackOneTool { + "description": "List time off types", + "executeConfig": { + "bodyType": "json", + "method": "GET", + "params": [ { - "location": "body", - "name": "start_half_day", + "location": "header", + "name": "x-account-id", "type": "string", }, { - "location": "body", - "name": "end_half_day", - "type": "string", - }, - { - "location": "body", - "name": "time_off_policy_id", - "type": "string", - }, - { - "location": "body", - "name": "reason", - "type": "object", + "location": "query", + "name": "raw", + "type": "boolean", }, { - "location": "body", - "name": "passthrough", + "location": "query", + "name": "proxy", "type": "object", }, - ], - "url": "https://api.stackone.com/unified/hris/time_off", - }, - }, - StackOneTool { - "description": "Get time off request", - "executeConfig": { - "bodyType": "json", - "method": "GET", - "params": [ - { - "location": "header", - "name": "x-account-id", - "type": "string", - }, - { - "location": "path", - "name": "id", - "type": "string", - }, { "location": "query", - "name": "raw", - "type": "boolean", + "name": "fields", + "type": "string", }, { "location": "query", - "name": "proxy", + "name": "filter", "type": "object", }, { "location": "query", - "name": "fields", + "name": "page_size", "type": "string", }, { "location": "query", - "name": "expand", + "name": "next", "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/time_off/{id}", + "url": "https://api.stackone.com/unified/hris/time_off_types", }, - "name": "hris_get_time_off_request", + "name": "hris_list_time_off_types", "parameterMapper": ParameterMapper { "transformers": Map { @@ -16368,21 +16324,33 @@ Map { }, "parameters": { "properties": { - "expand": { - "description": "The comma separated list of fields that will be expanded in the response", - "example": "policy", - "type": "string", - }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "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,duration,time_off_policy_id,remote_time_off_policy_id,reason,created_at,updated_at,policy", + "example": "id,remote_id,name,active", "type": "string", }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", }, - "id": { + "filter": { + "description": "Filter parameters that allow greater customisation of the list response", + "properties": { + "updated_after": { + "additionalProperties": false, + "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", + }, + }, + "type": "object", + }, + "next": { + "description": "The unified cursor", + "type": "string", + }, + "page_size": { + "description": "The number of results per page (default value is 25)", "type": "string", }, "proxy": { @@ -16396,9 +16364,7 @@ Map { }, "x-account-id": undefined, }, - "required": [ - "id", - ], + "required": undefined, "type": "object", }, "requestBuilder": RequestBuilder { @@ -16413,11 +16379,6 @@ Map { "name": "x-account-id", "type": "string", }, - { - "location": "path", - "name": "id", - "type": "string", - }, { "location": "query", "name": "raw", @@ -16435,18 +16396,28 @@ Map { }, { "location": "query", - "name": "expand", + "name": "filter", + "type": "object", + }, + { + "location": "query", + "name": "page_size", + "type": "string", + }, + { + "location": "query", + "name": "next", "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/time_off/{id}", + "url": "https://api.stackone.com/unified/hris/time_off_types", }, }, StackOneTool { - "description": "Update time off request", + "description": "Get time off type", "executeConfig": { "bodyType": "json", - "method": "PATCH", + "method": "GET", "params": [ { "location": "header", @@ -16459,59 +16430,24 @@ Map { "type": "string", }, { - "location": "body", - "name": "employee_id", - "type": "string", - }, - { - "location": "body", - "name": "approver_id", - "type": "string", + "location": "query", + "name": "raw", + "type": "boolean", }, { - "location": "body", - "name": "status", + "location": "query", + "name": "proxy", "type": "object", }, { - "location": "body", - "name": "start_date", - "type": "string", - }, - { - "location": "body", - "name": "end_date", - "type": "string", - }, - { - "location": "body", - "name": "start_half_day", - "type": "string", - }, - { - "location": "body", - "name": "end_half_day", - "type": "string", - }, - { - "location": "body", - "name": "time_off_policy_id", + "location": "query", + "name": "fields", "type": "string", }, - { - "location": "body", - "name": "reason", - "type": "object", - }, - { - "location": "body", - "name": "passthrough", - "type": "object", - }, ], - "url": "https://api.stackone.com/unified/hris/time_off/{id}", + "url": "https://api.stackone.com/unified/hris/time_off_types/{id}", }, - "name": "hris_update_time_off_request", + "name": "hris_get_time_off_type", "parameterMapper": ParameterMapper { "transformers": Map { @@ -16527,38 +16463,11 @@ Map { }, "parameters": { "properties": { - "approver_id": { - "description": "The approver ID", - "example": "1687-4", - "type": "string", - }, - "employee_id": { - "description": "The employee ID", - "example": "1687-3", - "type": "string", - }, - "end_date": { - "description": "The end date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", + "fields": { + "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", + "example": "id,remote_id,name,active", "type": "string", }, - "end_half_day": { - "description": "True if the end of the time off request ends half way through the day", - "example": true, - "oneOf": [ - { - "type": "boolean", - }, - { - "enum": [ - "true", - "false", - ], - "type": "string", - }, - ], - }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", @@ -16566,76 +16475,14 @@ Map { "id": { "type": "string", }, - "passthrough": { + "proxy": { "additionalProperties": true, - "description": "Value to pass through to the provider", - "example": { - "other_known_names": "John Doe", - }, - "type": "object", - }, - "reason": { - "properties": { - "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - "name": { - "type": "string", - }, - "remote_id": { - "description": "Provider's unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - }, - "type": "object", - }, - "start_date": { - "description": "The start date of the time off request", - "example": "2021-01-01T01:01:01.000Z", - "format": "date-time", - "type": "string", - }, - "start_half_day": { - "description": "True if the start of the time off request begins half way through the day", - "example": true, - "oneOf": [ - { - "type": "boolean", - }, - { - "enum": [ - "true", - "false", - ], - "type": "string", - }, - ], - }, - "status": { - "description": "The status of the time off request", - "properties": { - "value": { - "enum": [ - "approved", - "cancelled", - "rejected", - "pending", - "deleted", - "unmapped_value", - null, - ], - "type": "string", - }, - }, + "description": "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", "type": "object", }, - "time_off_policy_id": { - "description": "The time off policy id associated with this time off request", - "example": "cx280928933", - "type": "string", + "raw": { + "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", + "type": "boolean", }, "x-account-id": undefined, }, @@ -16649,7 +16496,7 @@ Map { "headers": { "Authorization": "Basic dGVzdF9rZXk6", }, - "method": "PATCH", + "method": "GET", "params": [ { "location": "header", @@ -16662,61 +16509,26 @@ Map { "type": "string", }, { - "location": "body", - "name": "employee_id", - "type": "string", - }, - { - "location": "body", - "name": "approver_id", - "type": "string", + "location": "query", + "name": "raw", + "type": "boolean", }, { - "location": "body", - "name": "status", + "location": "query", + "name": "proxy", "type": "object", }, { - "location": "body", - "name": "start_date", - "type": "string", - }, - { - "location": "body", - "name": "end_date", - "type": "string", - }, - { - "location": "body", - "name": "start_half_day", - "type": "string", - }, - { - "location": "body", - "name": "end_half_day", - "type": "string", - }, - { - "location": "body", - "name": "time_off_policy_id", + "location": "query", + "name": "fields", "type": "string", }, - { - "location": "body", - "name": "reason", - "type": "object", - }, - { - "location": "body", - "name": "passthrough", - "type": "object", - }, ], - "url": "https://api.stackone.com/unified/hris/time_off/{id}", + "url": "https://api.stackone.com/unified/hris/time_off_types/{id}", }, }, StackOneTool { - "description": "List time off types", + "description": "List Time Entries", "executeConfig": { "bodyType": "json", "method": "GET", @@ -16757,9 +16569,9 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/time_off_types", + "url": "https://api.stackone.com/unified/hris/time_entries", }, - "name": "hris_list_time_off_types", + "name": "hris_list_time_entries", "parameterMapper": ParameterMapper { "transformers": Map { @@ -16777,7 +16589,7 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,active", + "example": "id,remote_id,employee_id,remote_employee_id,start_time,end_time,hours_worked,break_duration,labor_type,location,status,created_at,updated_at", "type": "string", }, "file_path": { @@ -16785,8 +16597,25 @@ Map { "type": "string", }, "filter": { - "description": "Filter parameters that allow greater customisation of the list response", + "description": "HRIS Time Entries filters", "properties": { + "employee_id": { + "additionalProperties": false, + "description": "Filter to select time entries by employee_id", + "type": "string", + }, + "end_time": { + "additionalProperties": false, + "description": "Filter to select time entries before a given time", + "example": "2020-01-01T00:00:00.000Z", + "type": "string", + }, + "start_time": { + "additionalProperties": false, + "description": "Filter to select time entries after a given time", + "example": "2020-01-01T00:00:00.000Z", + "type": "string", + }, "updated_after": { "additionalProperties": false, "description": "Use a string with a date to only select results updated after that given date", @@ -16861,11 +16690,11 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/time_off_types", + "url": "https://api.stackone.com/unified/hris/time_entries", }, }, StackOneTool { - "description": "Get time off type", + "description": "Get Time Entry", "executeConfig": { "bodyType": "json", "method": "GET", @@ -16896,9 +16725,9 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/time_off_types/{id}", + "url": "https://api.stackone.com/unified/hris/time_entries/{id}", }, - "name": "hris_get_time_off_type", + "name": "hris_get_time_entries", "parameterMapper": ParameterMapper { "transformers": Map { @@ -16916,7 +16745,7 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,active", + "example": "id,remote_id,employee_id,remote_employee_id,start_time,end_time,hours_worked,break_duration,labor_type,location,status,created_at,updated_at", "type": "string", }, "file_path": { @@ -16975,11 +16804,11 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/time_off_types/{id}", + "url": "https://api.stackone.com/unified/hris/time_entries/{id}", }, }, StackOneTool { - "description": "List Time Entries", + "description": "List benefits", "executeConfig": { "bodyType": "json", "method": "GET", @@ -17020,9 +16849,9 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/time_entries", + "url": "https://api.stackone.com/unified/hris/benefits", }, - "name": "hris_list_time_entries", + "name": "hris_list_benefits", "parameterMapper": ParameterMapper { "transformers": Map { @@ -17040,7 +16869,7 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,employee_id,remote_employee_id,start_time,end_time,hours_worked,break_duration,labor_type,location,status,created_at,updated_at", + "example": "id,remote_id,name,benefit_type,provider,description,created_at,updated_at", "type": "string", }, "file_path": { @@ -17048,25 +16877,8 @@ Map { "type": "string", }, "filter": { - "description": "HRIS Time Entries filters", + "description": "Filter parameters that allow greater customisation of the list response", "properties": { - "employee_id": { - "additionalProperties": false, - "description": "Filter to select time entries by employee_id", - "type": "string", - }, - "end_time": { - "additionalProperties": false, - "description": "Filter to select time entries before a given time", - "example": "2020-01-01T00:00:00.000Z", - "type": "string", - }, - "start_time": { - "additionalProperties": false, - "description": "Filter to select time entries after a given time", - "example": "2020-01-01T00:00:00.000Z", - "type": "string", - }, "updated_after": { "additionalProperties": false, "description": "Use a string with a date to only select results updated after that given date", @@ -17141,11 +16953,11 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/time_entries", + "url": "https://api.stackone.com/unified/hris/benefits", }, }, StackOneTool { - "description": "Get Time Entry", + "description": "Get Benefit", "executeConfig": { "bodyType": "json", "method": "GET", @@ -17176,9 +16988,9 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/time_entries/{id}", + "url": "https://api.stackone.com/unified/hris/benefits/{id}", }, - "name": "hris_get_time_entries", + "name": "hris_get_benefit", "parameterMapper": ParameterMapper { "transformers": Map { @@ -17196,7 +17008,7 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,employee_id,remote_employee_id,start_time,end_time,hours_worked,break_duration,labor_type,location,status,created_at,updated_at", + "example": "id,remote_id,name,benefit_type,provider,description,created_at,updated_at", "type": "string", }, "file_path": { @@ -17255,11 +17067,11 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/time_entries/{id}", + "url": "https://api.stackone.com/unified/hris/benefits/{id}", }, }, StackOneTool { - "description": "List benefits", + "description": "List Groups", "executeConfig": { "bodyType": "json", "method": "GET", @@ -17300,9 +17112,9 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/benefits", + "url": "https://api.stackone.com/unified/hris/groups", }, - "name": "hris_list_benefits", + "name": "hris_list_groups", "parameterMapper": ParameterMapper { "transformers": Map { @@ -17320,7 +17132,7 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,benefit_type,provider,description,created_at,updated_at", + "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id", "type": "string", }, "file_path": { @@ -17404,11 +17216,11 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/benefits", + "url": "https://api.stackone.com/unified/hris/groups", }, }, StackOneTool { - "description": "Get Benefit", + "description": "List Department Groups", "executeConfig": { "bodyType": "json", "method": "GET", @@ -17418,11 +17230,6 @@ Map { "name": "x-account-id", "type": "string", }, - { - "location": "path", - "name": "id", - "type": "string", - }, { "location": "query", "name": "raw", @@ -17438,10 +17245,25 @@ Map { "name": "fields", "type": "string", }, + { + "location": "query", + "name": "filter", + "type": "object", + }, + { + "location": "query", + "name": "page_size", + "type": "string", + }, + { + "location": "query", + "name": "next", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/benefits/{id}", + "url": "https://api.stackone.com/unified/hris/groups/departments", }, - "name": "hris_get_benefit", + "name": "hris_list_department_groups", "parameterMapper": ParameterMapper { "transformers": Map { @@ -17459,14 +17281,31 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,benefit_type,provider,description,created_at,updated_at", + "example": "id,remote_id,name", "type": "string", }, - "file_path": { - "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", + "file_path": { + "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", + "type": "string", + }, + "filter": { + "description": "Filter parameters that allow greater customisation of the list response", + "properties": { + "updated_after": { + "additionalProperties": false, + "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", + }, + }, + "type": "object", + }, + "next": { + "description": "The unified cursor", "type": "string", }, - "id": { + "page_size": { + "description": "The number of results per page (default value is 25)", "type": "string", }, "proxy": { @@ -17480,9 +17319,7 @@ Map { }, "x-account-id": undefined, }, - "required": [ - "id", - ], + "required": undefined, "type": "object", }, "requestBuilder": RequestBuilder { @@ -17497,11 +17334,6 @@ Map { "name": "x-account-id", "type": "string", }, - { - "location": "path", - "name": "id", - "type": "string", - }, { "location": "query", "name": "raw", @@ -17517,12 +17349,27 @@ Map { "name": "fields", "type": "string", }, + { + "location": "query", + "name": "filter", + "type": "object", + }, + { + "location": "query", + "name": "page_size", + "type": "string", + }, + { + "location": "query", + "name": "next", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/benefits/{id}", + "url": "https://api.stackone.com/unified/hris/groups/departments", }, }, StackOneTool { - "description": "List Groups", + "description": "List Cost Center Groups", "executeConfig": { "bodyType": "json", "method": "GET", @@ -17563,9 +17410,9 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/groups", + "url": "https://api.stackone.com/unified/hris/groups/cost_centers", }, - "name": "hris_list_groups", + "name": "hris_list_cost_center_groups", "parameterMapper": ParameterMapper { "transformers": Map { @@ -17583,7 +17430,7 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", + "example": "id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id", "type": "string", }, "file_path": { @@ -17667,11 +17514,11 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/groups", + "url": "https://api.stackone.com/unified/hris/groups/cost_centers", }, }, StackOneTool { - "description": "List Department Groups", + "description": "List Team Groups", "executeConfig": { "bodyType": "json", "method": "GET", @@ -17712,9 +17559,9 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/groups/departments", + "url": "https://api.stackone.com/unified/hris/groups/teams", }, - "name": "hris_list_department_groups", + "name": "hris_list_team_groups", "parameterMapper": ParameterMapper { "transformers": Map { @@ -17732,7 +17579,7 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name", + "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", "type": "string", }, "file_path": { @@ -17816,11 +17663,11 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/groups/departments", + "url": "https://api.stackone.com/unified/hris/groups/teams", }, }, StackOneTool { - "description": "List Cost Center Groups", + "description": "Get Group", "executeConfig": { "bodyType": "json", "method": "GET", @@ -17830,6 +17677,11 @@ Map { "name": "x-account-id", "type": "string", }, + { + "location": "path", + "name": "id", + "type": "string", + }, { "location": "query", "name": "raw", @@ -17845,25 +17697,10 @@ Map { "name": "fields", "type": "string", }, - { - "location": "query", - "name": "filter", - "type": "object", - }, - { - "location": "query", - "name": "page_size", - "type": "string", - }, - { - "location": "query", - "name": "next", - "type": "string", - }, ], - "url": "https://api.stackone.com/unified/hris/groups/cost_centers", + "url": "https://api.stackone.com/unified/hris/groups/{id}", }, - "name": "hris_list_cost_center_groups", + "name": "hris_get_group", "parameterMapper": ParameterMapper { "transformers": Map { @@ -17881,31 +17718,14 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", + "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id", "type": "string", }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", }, - "filter": { - "description": "Filter parameters that allow greater customisation of the list response", - "properties": { - "updated_after": { - "additionalProperties": false, - "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", - }, - }, - "type": "object", - }, - "next": { - "description": "The unified cursor", - "type": "string", - }, - "page_size": { - "description": "The number of results per page (default value is 25)", + "id": { "type": "string", }, "proxy": { @@ -17919,7 +17739,9 @@ Map { }, "x-account-id": undefined, }, - "required": undefined, + "required": [ + "id", + ], "type": "object", }, "requestBuilder": RequestBuilder { @@ -17934,6 +17756,11 @@ Map { "name": "x-account-id", "type": "string", }, + { + "location": "path", + "name": "id", + "type": "string", + }, { "location": "query", "name": "raw", @@ -17949,29 +17776,93 @@ Map { "name": "fields", "type": "string", }, + ], + "url": "https://api.stackone.com/unified/hris/groups/{id}", + }, + }, + StackOneTool { + "description": "Get Department Group", + "executeConfig": { + "bodyType": "json", + "method": "GET", + "params": [ + { + "location": "header", + "name": "x-account-id", + "type": "string", + }, + { + "location": "path", + "name": "id", + "type": "string", + }, { "location": "query", - "name": "filter", - "type": "object", + "name": "raw", + "type": "boolean", }, { "location": "query", - "name": "page_size", - "type": "string", + "name": "proxy", + "type": "object", }, { "location": "query", - "name": "next", + "name": "fields", "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/groups/cost_centers", + "url": "https://api.stackone.com/unified/hris/groups/departments/{id}", }, - }, - StackOneTool { - "description": "List Team Groups", - "executeConfig": { + "name": "hris_get_department_group", + "parameterMapper": ParameterMapper { + "transformers": +Map { + "file_path" => { + "transforms": { + "content": [Function], + "file_format": [Function], + "name": [Function], + }, + }, + } +, + }, + "parameters": { + "properties": { + "fields": { + "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", + "example": "id,remote_id,name", + "type": "string", + }, + "file_path": { + "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", + "type": "string", + }, + "id": { + "type": "string", + }, + "proxy": { + "additionalProperties": true, + "description": "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", + "type": "object", + }, + "raw": { + "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", + "type": "boolean", + }, + "x-account-id": undefined, + }, + "required": [ + "id", + ], + "type": "object", + }, + "requestBuilder": RequestBuilder { "bodyType": "json", + "headers": { + "Authorization": "Basic dGVzdF9rZXk6", + }, "method": "GET", "params": [ { @@ -17979,6 +17870,11 @@ Map { "name": "x-account-id", "type": "string", }, + { + "location": "path", + "name": "id", + "type": "string", + }, { "location": "query", "name": "raw", @@ -17994,25 +17890,45 @@ Map { "name": "fields", "type": "string", }, + ], + "url": "https://api.stackone.com/unified/hris/groups/departments/{id}", + }, + }, + StackOneTool { + "description": "Get Cost Center Group", + "executeConfig": { + "bodyType": "json", + "method": "GET", + "params": [ + { + "location": "header", + "name": "x-account-id", + "type": "string", + }, + { + "location": "path", + "name": "id", + "type": "string", + }, { "location": "query", - "name": "filter", - "type": "object", + "name": "raw", + "type": "boolean", }, { "location": "query", - "name": "page_size", - "type": "string", + "name": "proxy", + "type": "object", }, { "location": "query", - "name": "next", + "name": "fields", "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/groups/teams", + "url": "https://api.stackone.com/unified/hris/groups/cost_centers/{id}", }, - "name": "hris_list_team_groups", + "name": "hris_get_cost_center_group", "parameterMapper": ParameterMapper { "transformers": Map { @@ -18030,31 +17946,14 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", + "example": "id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id", "type": "string", }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", }, - "filter": { - "description": "Filter parameters that allow greater customisation of the list response", - "properties": { - "updated_after": { - "additionalProperties": false, - "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", - }, - }, - "type": "object", - }, - "next": { - "description": "The unified cursor", - "type": "string", - }, - "page_size": { - "description": "The number of results per page (default value is 25)", + "id": { "type": "string", }, "proxy": { @@ -18068,7 +17967,9 @@ Map { }, "x-account-id": undefined, }, - "required": undefined, + "required": [ + "id", + ], "type": "object", }, "requestBuilder": RequestBuilder { @@ -18083,6 +17984,11 @@ Map { "name": "x-account-id", "type": "string", }, + { + "location": "path", + "name": "id", + "type": "string", + }, { "location": "query", "name": "raw", @@ -18098,27 +18004,12 @@ Map { "name": "fields", "type": "string", }, - { - "location": "query", - "name": "filter", - "type": "object", - }, - { - "location": "query", - "name": "page_size", - "type": "string", - }, - { - "location": "query", - "name": "next", - "type": "string", - }, ], - "url": "https://api.stackone.com/unified/hris/groups/teams", + "url": "https://api.stackone.com/unified/hris/groups/cost_centers/{id}", }, }, StackOneTool { - "description": "Get Group", + "description": "Get Team Group", "executeConfig": { "bodyType": "json", "method": "GET", @@ -18149,9 +18040,9 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/groups/{id}", + "url": "https://api.stackone.com/unified/hris/groups/teams/{id}", }, - "name": "hris_get_group", + "name": "hris_get_team_group", "parameterMapper": ParameterMapper { "transformers": Map { @@ -18228,11 +18119,11 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/groups/{id}", + "url": "https://api.stackone.com/unified/hris/groups/teams/{id}", }, }, StackOneTool { - "description": "Get Department Group", + "description": "List Jobs", "executeConfig": { "bodyType": "json", "method": "GET", @@ -18242,11 +18133,6 @@ Map { "name": "x-account-id", "type": "string", }, - { - "location": "path", - "name": "id", - "type": "string", - }, { "location": "query", "name": "raw", @@ -18262,10 +18148,25 @@ Map { "name": "fields", "type": "string", }, + { + "location": "query", + "name": "filter", + "type": "object", + }, + { + "location": "query", + "name": "page_size", + "type": "string", + }, + { + "location": "query", + "name": "next", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/groups/departments/{id}", + "url": "https://api.stackone.com/unified/hris/jobs", }, - "name": "hris_get_department_group", + "name": "hris_list_jobs", "parameterMapper": ParameterMapper { "transformers": Map { @@ -18283,14 +18184,31 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name", + "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id", "type": "string", }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", }, - "id": { + "filter": { + "description": "Filter parameters that allow greater customisation of the list response", + "properties": { + "updated_after": { + "additionalProperties": false, + "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", + }, + }, + "type": "object", + }, + "next": { + "description": "The unified cursor", + "type": "string", + }, + "page_size": { + "description": "The number of results per page (default value is 25)", "type": "string", }, "proxy": { @@ -18304,9 +18222,7 @@ Map { }, "x-account-id": undefined, }, - "required": [ - "id", - ], + "required": undefined, "type": "object", }, "requestBuilder": RequestBuilder { @@ -18321,11 +18237,6 @@ Map { "name": "x-account-id", "type": "string", }, - { - "location": "path", - "name": "id", - "type": "string", - }, { "location": "query", "name": "raw", @@ -18341,12 +18252,27 @@ Map { "name": "fields", "type": "string", }, + { + "location": "query", + "name": "filter", + "type": "object", + }, + { + "location": "query", + "name": "page_size", + "type": "string", + }, + { + "location": "query", + "name": "next", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/groups/departments/{id}", + "url": "https://api.stackone.com/unified/hris/jobs", }, }, StackOneTool { - "description": "Get Cost Center Group", + "description": "Get Job", "executeConfig": { "bodyType": "json", "method": "GET", @@ -18377,9 +18303,9 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/groups/cost_centers/{id}", + "url": "https://api.stackone.com/unified/hris/jobs/{id}", }, - "name": "hris_get_cost_center_group", + "name": "hris_get_job", "parameterMapper": ParameterMapper { "transformers": Map { @@ -18397,7 +18323,7 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", + "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id", "type": "string", }, "file_path": { @@ -18456,11 +18382,11 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/groups/cost_centers/{id}", + "url": "https://api.stackone.com/unified/hris/jobs/{id}", }, }, StackOneTool { - "description": "Get Team Group", + "description": "List Employee Skills", "executeConfig": { "bodyType": "json", "method": "GET", @@ -18490,10 +18416,25 @@ Map { "name": "fields", "type": "string", }, + { + "location": "query", + "name": "filter", + "type": "object", + }, + { + "location": "query", + "name": "page_size", + "type": "string", + }, + { + "location": "query", + "name": "next", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/groups/teams/{id}", + "url": "https://api.stackone.com/unified/hris/employees/{id}/skills", }, - "name": "hris_get_team_group", + "name": "hris_list_employee_skills", "parameterMapper": ParameterMapper { "transformers": Map { @@ -18511,16 +18452,36 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", + "example": "id,remote_id,name,active,language,maximum_proficiency,minimum_proficiency", "type": "string", }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", }, + "filter": { + "description": "Filter parameters that allow greater customisation of the list response", + "properties": { + "updated_after": { + "additionalProperties": false, + "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", + }, + }, + "type": "object", + }, "id": { "type": "string", }, + "next": { + "description": "The unified cursor", + "type": "string", + }, + "page_size": { + "description": "The number of results per page (default value is 25)", + "type": "string", + }, "proxy": { "additionalProperties": true, "description": "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", @@ -18569,15 +18530,30 @@ Map { "name": "fields", "type": "string", }, + { + "location": "query", + "name": "filter", + "type": "object", + }, + { + "location": "query", + "name": "page_size", + "type": "string", + }, + { + "location": "query", + "name": "next", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/groups/teams/{id}", + "url": "https://api.stackone.com/unified/hris/employees/{id}/skills", }, }, StackOneTool { - "description": "List Jobs", + "description": "Create Employee Skill", "executeConfig": { "bodyType": "json", - "method": "GET", + "method": "POST", "params": [ { "location": "header", @@ -18585,39 +18561,29 @@ Map { "type": "string", }, { - "location": "query", - "name": "raw", - "type": "boolean", - }, - { - "location": "query", - "name": "proxy", - "type": "object", + "location": "body", + "name": "id", + "type": "string", }, { - "location": "query", - "name": "fields", + "location": "body", + "name": "name", "type": "string", }, { - "location": "query", - "name": "filter", + "location": "body", + "name": "maximum_proficiency", "type": "object", }, { - "location": "query", - "name": "page_size", - "type": "string", - }, - { - "location": "query", - "name": "next", - "type": "string", + "location": "body", + "name": "minimum_proficiency", + "type": "object", }, ], - "url": "https://api.stackone.com/unified/hris/jobs", + "url": "https://api.stackone.com/unified/hris/employees/{id}/skills", }, - "name": "hris_list_jobs", + "name": "hris_create_employee_skill", "parameterMapper": ParameterMapper { "transformers": Map { @@ -18633,47 +18599,91 @@ Map { }, "parameters": { "properties": { - "fields": { - "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", - "type": "string", - }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", }, - "filter": { - "description": "Filter parameters that allow greater customisation of the list response", + "id": { + "description": "The ID associated with this skill", + "example": "16873-IT345", + "type": "string", + }, + "maximum_proficiency": { + "description": "The proficiency level of the skill", + "properties": { + "id": { + "description": "Unique identifier", + "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", + "type": "string", + }, + "name": { + "description": "The name associated with this proficiency", + "example": "Expert", + "type": "string", + }, + "remote_id": { + "description": "Provider's unique identifier", + "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", + "type": "string", + }, + "value": { + "enum": [ + "1", + "2", + "3", + "4", + "5", + "unmapped_value", + null, + ], + "type": "string", + }, + }, + "type": "object", + }, + "minimum_proficiency": { + "description": "The proficiency level of the skill", "properties": { - "updated_after": { - "additionalProperties": false, - "description": "Use a string with a date to only select results updated after that given date", - "example": "2020-01-01T00:00:00.000Z", + "id": { + "description": "Unique identifier", + "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", + "type": "string", + }, + "name": { + "description": "The name associated with this proficiency", + "example": "Expert", + "type": "string", + }, + "remote_id": { + "description": "Provider's unique identifier", + "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", + "type": "string", + }, + "value": { + "enum": [ + "1", + "2", + "3", + "4", + "5", + "unmapped_value", + null, + ], "type": "string", }, }, "type": "object", }, - "next": { - "description": "The unified cursor", - "type": "string", - }, - "page_size": { - "description": "The number of results per page (default value is 25)", + "name": { + "description": "The name associated with this skill", + "example": "Information-Technology", "type": "string", }, - "proxy": { - "additionalProperties": true, - "description": "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", - "type": "object", - }, - "raw": { - "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", - "type": "boolean", - }, "x-account-id": undefined, }, - "required": undefined, + "required": [ + "id", + ], "type": "object", }, "requestBuilder": RequestBuilder { @@ -18681,7 +18691,7 @@ Map { "headers": { "Authorization": "Basic dGVzdF9rZXk6", }, - "method": "GET", + "method": "POST", "params": [ { "location": "header", @@ -18689,41 +18699,31 @@ Map { "type": "string", }, { - "location": "query", - "name": "raw", - "type": "boolean", - }, - { - "location": "query", - "name": "proxy", - "type": "object", + "location": "body", + "name": "id", + "type": "string", }, { - "location": "query", - "name": "fields", + "location": "body", + "name": "name", "type": "string", }, { - "location": "query", - "name": "filter", + "location": "body", + "name": "maximum_proficiency", "type": "object", }, { - "location": "query", - "name": "page_size", - "type": "string", - }, - { - "location": "query", - "name": "next", - "type": "string", + "location": "body", + "name": "minimum_proficiency", + "type": "object", }, ], - "url": "https://api.stackone.com/unified/hris/jobs", + "url": "https://api.stackone.com/unified/hris/employees/{id}/skills", }, }, StackOneTool { - "description": "Get Job", + "description": "Get Employee Skill", "executeConfig": { "bodyType": "json", "method": "GET", @@ -18738,6 +18738,11 @@ Map { "name": "id", "type": "string", }, + { + "location": "path", + "name": "subResourceId", + "type": "string", + }, { "location": "query", "name": "raw", @@ -18754,9 +18759,9 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/jobs/{id}", + "url": "https://api.stackone.com/unified/hris/employees/{id}/skills/{subResourceId}", }, - "name": "hris_get_job", + "name": "hris_get_employee_skill", "parameterMapper": ParameterMapper { "transformers": Map { @@ -18774,7 +18779,7 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids", + "example": "id,remote_id,name,active,language,maximum_proficiency,minimum_proficiency", "type": "string", }, "file_path": { @@ -18793,10 +18798,14 @@ Map { "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", "type": "boolean", }, + "subResourceId": { + "type": "string", + }, "x-account-id": undefined, }, "required": [ "id", + "subResourceId", ], "type": "object", }, @@ -18817,6 +18826,11 @@ Map { "name": "id", "type": "string", }, + { + "location": "path", + "name": "subResourceId", + "type": "string", + }, { "location": "query", "name": "raw", @@ -18833,11 +18847,11 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/jobs/{id}", + "url": "https://api.stackone.com/unified/hris/employees/{id}/skills/{subResourceId}", }, }, StackOneTool { - "description": "List Employee Skills", + "description": "List Time Off Policies", "executeConfig": { "bodyType": "json", "method": "GET", @@ -18847,11 +18861,6 @@ Map { "name": "x-account-id", "type": "string", }, - { - "location": "path", - "name": "id", - "type": "string", - }, { "location": "query", "name": "raw", @@ -18883,9 +18892,9 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/employees/{id}/skills", + "url": "https://api.stackone.com/unified/hris/time_off_policies", }, - "name": "hris_list_employee_skills", + "name": "hris_list_time_off_policies", "parameterMapper": ParameterMapper { "transformers": Map { @@ -18903,7 +18912,7 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,active,language,maximum_proficiency,minimum_proficiency", + "example": "id,remote_id,name,description,type,duration_unit,reasons,updated_at,created_at", "type": "string", }, "file_path": { @@ -18911,8 +18920,37 @@ Map { "type": "string", }, "filter": { - "description": "Filter parameters that allow greater customisation of the list response", + "description": "HRIS Time-Off Policies filters", "properties": { + "type": { + "description": "Filter to select time-off policies by type", + "enum": [ + "sick", + "unmapped_value", + "vacation", + "long_term_disability", + "short_term_disability", + "absent", + "comp_time", + "training", + "annual_leave", + "leave_of_absence", + "break", + "child_care_leave", + "maternity_leave", + "jury_duty", + "sabbatical", + "accident", + "paid", + "unpaid", + "holiday", + "personal", + "in_lieu", + "bereavement", + null, + ], + "type": "string", + }, "updated_after": { "additionalProperties": false, "description": "Use a string with a date to only select results updated after that given date", @@ -18922,9 +18960,6 @@ Map { }, "type": "object", }, - "id": { - "type": "string", - }, "next": { "description": "The unified cursor", "type": "string", @@ -18944,9 +18979,7 @@ Map { }, "x-account-id": undefined, }, - "required": [ - "id", - ], + "required": undefined, "type": "object", }, "requestBuilder": RequestBuilder { @@ -18961,11 +18994,6 @@ Map { "name": "x-account-id", "type": "string", }, - { - "location": "path", - "name": "id", - "type": "string", - }, { "location": "query", "name": "raw", @@ -18997,14 +19025,14 @@ Map { "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/employees/{id}/skills", + "url": "https://api.stackone.com/unified/hris/time_off_policies", }, }, StackOneTool { - "description": "Create Employee Skill", + "description": "Get Time Off Policy", "executeConfig": { "bodyType": "json", - "method": "POST", + "method": "GET", "params": [ { "location": "header", @@ -19012,29 +19040,29 @@ Map { "type": "string", }, { - "location": "body", + "location": "path", "name": "id", "type": "string", }, { - "location": "body", - "name": "name", - "type": "string", + "location": "query", + "name": "raw", + "type": "boolean", }, { - "location": "body", - "name": "maximum_proficiency", + "location": "query", + "name": "proxy", "type": "object", }, { - "location": "body", - "name": "minimum_proficiency", - "type": "object", + "location": "query", + "name": "fields", + "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/employees/{id}/skills", + "url": "https://api.stackone.com/unified/hris/time_off_policies/{id}", }, - "name": "hris_create_employee_skill", + "name": "hris_get_time_off_policy", "parameterMapper": ParameterMapper { "transformers": Map { @@ -19050,83 +19078,26 @@ Map { }, "parameters": { "properties": { + "fields": { + "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", + "example": "id,remote_id,name,description,type,duration_unit,reasons,updated_at,created_at", + "type": "string", + }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", }, "id": { - "description": "The ID associated with this skill", - "example": "16873-IT345", "type": "string", }, - "maximum_proficiency": { - "description": "The proficiency level of the skill", - "properties": { - "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - "name": { - "description": "The name associated with this proficiency", - "example": "Expert", - "type": "string", - }, - "remote_id": { - "description": "Provider's unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - "value": { - "enum": [ - "1", - "2", - "3", - "4", - "5", - null, - ], - "type": "string", - }, - }, - "type": "object", - }, - "minimum_proficiency": { - "description": "The proficiency level of the skill", - "properties": { - "id": { - "description": "Unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - "name": { - "description": "The name associated with this proficiency", - "example": "Expert", - "type": "string", - }, - "remote_id": { - "description": "Provider's unique identifier", - "example": "8187e5da-dc77-475e-9949-af0f1fa4e4e3", - "type": "string", - }, - "value": { - "enum": [ - "1", - "2", - "3", - "4", - "5", - null, - ], - "type": "string", - }, - }, + "proxy": { + "additionalProperties": true, + "description": "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", "type": "object", }, - "name": { - "description": "The name associated with this skill", - "example": "Information-Technology", - "type": "string", + "raw": { + "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", + "type": "boolean", }, "x-account-id": undefined, }, @@ -19140,7 +19111,7 @@ Map { "headers": { "Authorization": "Basic dGVzdF9rZXk6", }, - "method": "POST", + "method": "GET", "params": [ { "location": "header", @@ -19148,31 +19119,31 @@ Map { "type": "string", }, { - "location": "body", + "location": "path", "name": "id", "type": "string", }, { - "location": "body", - "name": "name", - "type": "string", + "location": "query", + "name": "raw", + "type": "boolean", }, { - "location": "body", - "name": "maximum_proficiency", + "location": "query", + "name": "proxy", "type": "object", }, { - "location": "body", - "name": "minimum_proficiency", - "type": "object", + "location": "query", + "name": "fields", + "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/employees/{id}/skills", + "url": "https://api.stackone.com/unified/hris/time_off_policies/{id}", }, }, StackOneTool { - "description": "Get Employee Skill", + "description": "List Assigned Time Off Policies", "executeConfig": { "bodyType": "json", "method": "GET", @@ -19187,11 +19158,6 @@ Map { "name": "id", "type": "string", }, - { - "location": "path", - "name": "subResourceId", - "type": "string", - }, { "location": "query", "name": "raw", @@ -19207,10 +19173,25 @@ Map { "name": "fields", "type": "string", }, + { + "location": "query", + "name": "filter", + "type": "object", + }, + { + "location": "query", + "name": "page_size", + "type": "string", + }, + { + "location": "query", + "name": "next", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/employees/{id}/skills/{subResourceId}", + "url": "https://api.stackone.com/unified/hris/employees/{id}/time_off_policies", }, - "name": "hris_get_employee_skill", + "name": "hris_list_employee_time_off_policies", "parameterMapper": ParameterMapper { "transformers": Map { @@ -19228,16 +19209,65 @@ Map { "properties": { "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,active,language,maximum_proficiency,minimum_proficiency", + "example": "id,remote_id,name,description,type,duration_unit,reasons,updated_at,created_at", "type": "string", }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", }, + "filter": { + "description": "HRIS Time-Off Policies filters", + "properties": { + "type": { + "description": "Filter to select time-off policies by type", + "enum": [ + "sick", + "unmapped_value", + "vacation", + "long_term_disability", + "short_term_disability", + "absent", + "comp_time", + "training", + "annual_leave", + "leave_of_absence", + "break", + "child_care_leave", + "maternity_leave", + "jury_duty", + "sabbatical", + "accident", + "paid", + "unpaid", + "holiday", + "personal", + "in_lieu", + "bereavement", + null, + ], + "type": "string", + }, + "updated_after": { + "additionalProperties": false, + "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", + }, + }, + "type": "object", + }, "id": { "type": "string", }, + "next": { + "description": "The unified cursor", + "type": "string", + }, + "page_size": { + "description": "The number of results per page (default value is 25)", + "type": "string", + }, "proxy": { "additionalProperties": true, "description": "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", @@ -19247,14 +19277,10 @@ Map { "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", "type": "boolean", }, - "subResourceId": { - "type": "string", - }, "x-account-id": undefined, }, "required": [ "id", - "subResourceId", ], "type": "object", }, @@ -19275,11 +19301,6 @@ Map { "name": "id", "type": "string", }, - { - "location": "path", - "name": "subResourceId", - "type": "string", - }, { "location": "query", "name": "raw", @@ -19295,12 +19316,27 @@ Map { "name": "fields", "type": "string", }, + { + "location": "query", + "name": "filter", + "type": "object", + }, + { + "location": "query", + "name": "page_size", + "type": "string", + }, + { + "location": "query", + "name": "next", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/employees/{id}/skills/{subResourceId}", + "url": "https://api.stackone.com/unified/hris/employees/{id}/time_off_policies", }, }, StackOneTool { - "description": "List Time Off Policies", + "description": "List Employee Tasks", "executeConfig": { "bodyType": "json", "method": "GET", @@ -19310,6 +19346,11 @@ Map { "name": "x-account-id", "type": "string", }, + { + "location": "path", + "name": "id", + "type": "string", + }, { "location": "query", "name": "raw", @@ -19340,10 +19381,15 @@ Map { "name": "next", "type": "string", }, + { + "location": "query", + "name": "expand", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/time_off_policies", + "url": "https://api.stackone.com/unified/hris/employees/{id}/tasks", }, - "name": "hris_list_time_off_policies", + "name": "hris_list_employee_tasks", "parameterMapper": ParameterMapper { "transformers": Map { @@ -19359,9 +19405,14 @@ Map { }, "parameters": { "properties": { + "expand": { + "description": "The comma separated list of fields that will be expanded in the response", + "example": "attachments", + "type": "string", + }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,description,type,duration_unit,reasons,updated_at,created_at", + "example": "id,remote_id,employee_id,remote_employee_id,name,description,type,status,due_date,completion_date,assigned_by_employee_id,remote_assigned_by_employee_id,assigned_by_employee_name,link_to_task,extracted_links,next_task_id,remote_next_task_id,parent_process_name,comments,attachments,created_at,updated_at", "type": "string", }, "file_path": { @@ -19380,6 +19431,9 @@ Map { }, "type": "object", }, + "id": { + "type": "string", + }, "next": { "description": "The unified cursor", "type": "string", @@ -19399,7 +19453,9 @@ Map { }, "x-account-id": undefined, }, - "required": undefined, + "required": [ + "id", + ], "type": "object", }, "requestBuilder": RequestBuilder { @@ -19414,6 +19470,11 @@ Map { "name": "x-account-id", "type": "string", }, + { + "location": "path", + "name": "id", + "type": "string", + }, { "location": "query", "name": "raw", @@ -19444,12 +19505,17 @@ Map { "name": "next", "type": "string", }, + { + "location": "query", + "name": "expand", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/time_off_policies", + "url": "https://api.stackone.com/unified/hris/employees/{id}/tasks", }, }, StackOneTool { - "description": "Get Time Off Policy", + "description": "Get Employee Task", "executeConfig": { "bodyType": "json", "method": "GET", @@ -19464,6 +19530,11 @@ Map { "name": "id", "type": "string", }, + { + "location": "path", + "name": "subResourceId", + "type": "string", + }, { "location": "query", "name": "raw", @@ -19479,10 +19550,15 @@ Map { "name": "fields", "type": "string", }, + { + "location": "query", + "name": "expand", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/time_off_policies/{id}", + "url": "https://api.stackone.com/unified/hris/employees/{id}/tasks/{subResourceId}", }, - "name": "hris_get_time_off_policy", + "name": "hris_get_employee_task", "parameterMapper": ParameterMapper { "transformers": Map { @@ -19498,9 +19574,14 @@ Map { }, "parameters": { "properties": { + "expand": { + "description": "The comma separated list of fields that will be expanded in the response", + "example": "attachments", + "type": "string", + }, "fields": { "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,description,type,duration_unit,reasons,updated_at,created_at", + "example": "id,remote_id,employee_id,remote_employee_id,name,description,type,status,due_date,completion_date,assigned_by_employee_id,remote_assigned_by_employee_id,assigned_by_employee_name,link_to_task,extracted_links,next_task_id,remote_next_task_id,parent_process_name,comments,attachments,created_at,updated_at", "type": "string", }, "file_path": { @@ -19519,10 +19600,14 @@ Map { "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", "type": "boolean", }, + "subResourceId": { + "type": "string", + }, "x-account-id": undefined, }, "required": [ "id", + "subResourceId", ], "type": "object", }, @@ -19543,6 +19628,11 @@ Map { "name": "id", "type": "string", }, + { + "location": "path", + "name": "subResourceId", + "type": "string", + }, { "location": "query", "name": "raw", @@ -19558,15 +19648,20 @@ Map { "name": "fields", "type": "string", }, + { + "location": "query", + "name": "expand", + "type": "string", + }, ], - "url": "https://api.stackone.com/unified/hris/time_off_policies/{id}", + "url": "https://api.stackone.com/unified/hris/employees/{id}/tasks/{subResourceId}", }, }, StackOneTool { - "description": "List Assigned Time Off Policies", + "description": "Complete Employee Task", "executeConfig": { "bodyType": "json", - "method": "GET", + "method": "PATCH", "params": [ { "location": "header", @@ -19579,39 +19674,24 @@ Map { "type": "string", }, { - "location": "query", - "name": "raw", - "type": "boolean", - }, - { - "location": "query", - "name": "proxy", - "type": "object", - }, - { - "location": "query", - "name": "fields", + "location": "path", + "name": "subResourceId", "type": "string", }, { "location": "query", - "name": "filter", - "type": "object", - }, - { - "location": "query", - "name": "page_size", + "name": "proxy", "type": "string", }, { - "location": "query", - "name": "next", + "location": "body", + "name": "comment", "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/employees/{id}/time_off_policies", + "url": "https://api.stackone.com/unified/hris/employees/{id}/tasks/{subResourceId}", }, - "name": "hris_list_employee_time_off_policies", + "name": "hris_complete_employee_task", "parameterMapper": ParameterMapper { "transformers": Map { @@ -19627,51 +19707,27 @@ Map { }, "parameters": { "properties": { - "fields": { - "description": "The comma separated list of fields that will be returned in the response (if empty, all fields are returned)", - "example": "id,remote_id,name,description,type,duration_unit,reasons,updated_at,created_at", + "comment": { + "description": "Comment or note about the task completion", + "example": "All required documents have been submitted", "type": "string", }, "file_path": { "description": "Convenience parameter that will be transformed into other parameters. Try and use this parameter in your tool call.", "type": "string", }, - "filter": { - "description": "Filter parameters that allow greater customisation of the list response", - "properties": { - "updated_after": { - "additionalProperties": false, - "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", - }, - }, - "type": "object", - }, "id": { "type": "string", }, - "next": { - "description": "The unified cursor", - "type": "string", - }, - "page_size": { - "description": "The number of results per page (default value is 25)", + "proxy": {}, + "subResourceId": { "type": "string", }, - "proxy": { - "additionalProperties": true, - "description": "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", - "type": "object", - }, - "raw": { - "description": "Indicates that the raw request result should be returned in addition to the mapped result (default value is false)", - "type": "boolean", - }, "x-account-id": undefined, }, "required": [ "id", + "subResourceId", ], "type": "object", }, @@ -19680,7 +19736,7 @@ Map { "headers": { "Authorization": "Basic dGVzdF9rZXk6", }, - "method": "GET", + "method": "PATCH", "params": [ { "location": "header", @@ -19693,37 +19749,22 @@ Map { "type": "string", }, { - "location": "query", - "name": "raw", - "type": "boolean", - }, - { - "location": "query", - "name": "proxy", - "type": "object", - }, - { - "location": "query", - "name": "fields", + "location": "path", + "name": "subResourceId", "type": "string", }, { "location": "query", - "name": "filter", - "type": "object", - }, - { - "location": "query", - "name": "page_size", + "name": "proxy", "type": "string", }, { - "location": "query", - "name": "next", + "location": "body", + "name": "comment", "type": "string", }, ], - "url": "https://api.stackone.com/unified/hris/employees/{id}/time_off_policies", + "url": "https://api.stackone.com/unified/hris/employees/{id}/tasks/{subResourceId}", }, }, ],