diff --git a/src/openapi/generated/ats.ts b/src/openapi/generated/ats.ts index 137c1d9..01f7f5e 100644 --- a/src/openapi/generated/ats.ts +++ b/src/openapi/generated/ats.ts @@ -2385,6 +2385,289 @@ export const atsSpec = { }, }, }, + '/unified/ats/applications/{id}/changes': { + get: { + operationId: 'ats_list_application_changes', + 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: + 'event_id,remote_event_id,created_at,effective_at,change_type,actor,new_values', + 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: 'filter', + required: false, + in: 'query', + description: + 'Filter parameters for application changes (supports created_after and change_type)', + explode: true, + style: 'deepObject', + schema: { + properties: { + created_after: { + description: + 'Use a string with a date to only select results created after that given date', + example: '2020-01-01T00:00:00.000Z', + type: 'string', + nullable: true, + additionalProperties: false, + }, + change_type: { + description: 'Filter by the type of change that occurred to the application', + enum: [ + 'application_status', + 'interview_stage', + 'rejected_reasons', + 'unmapped_value', + ], + type: 'string', + nullable: true, + }, + }, + nullable: true, + type: 'object', + }, + }, + ], + responses: { + '200': { + description: + 'The changes related to the application with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/ApplicationChangesPaginated', + }, + }, + }, + }, + '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 Application Changes', + tags: ['Applications', 'Application Changes'], + 'x-speakeasy-group': 'ats', + 'x-speakeasy-name-override': 'list_application_changes', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, '/unified/ats/applications/{id}/notes': { get: { operationId: 'ats_list_application_notes', @@ -5098,7 +5381,7 @@ export const atsSpec = { }, }, responses: { - '200': { + '201': { description: 'The candidate was successfully created.', content: { 'application/json': { @@ -13443,7 +13726,7 @@ export const atsSpec = { }, }, responses: { - '200': { + '201': { description: 'The offer was created successfully.', content: { 'application/json': { @@ -14321,232 +14604,19 @@ export const atsSpec = { required: true, content: { 'application/json': { - schema: { - $ref: '#/components/schemas/AtsCreateCandidatesAssessmentsRequestDto', - }, - }, - }, - }, - responses: { - '200': { - description: 'The order request of the assessment for candidate.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/CreateAssessmentOrderResult', - }, - }, - }, - }, - '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: 'Order Assessments Request', - tags: ['Assessments', 'Orders'], - 'x-speakeasy-group': 'ats', - 'x-speakeasy-name-override': 'order_assessments_request', - 'x-speakeasy-retries': { - statusCodes: [429, 408], - strategy: 'backoff', - }, - }, - }, - '/unified/ats/assessments/orders/{id}': { - get: { - operationId: 'ats_get_assessments_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: '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 that will be returned in the response (if empty, all fields are returned)', - schema: { - nullable: true, - example: - 'id,remote_id,package,application,job,candidate,requester,results_update_url', - type: 'string', + schema: { + $ref: '#/components/schemas/AtsCreateCandidatesAssessmentsRequestDto', + }, }, }, - ], + }, responses: { '200': { - description: 'The assessments order with the given identifier was retrieved.', + description: 'The order request of the assessment for candidate.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/AssessmentOrderResult', + $ref: '#/components/schemas/CreateAssessmentOrderResult', }, }, }, @@ -14685,10 +14755,10 @@ export const atsSpec = { basic: [], }, ], - summary: 'Get Assessments Requests', + summary: 'Order Assessments Request', tags: ['Assessments', 'Orders'], 'x-speakeasy-group': 'ats', - 'x-speakeasy-name-override': 'get_assessments_request', + 'x-speakeasy-name-override': 'order_assessments_request', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', @@ -16128,8 +16198,8 @@ export const atsSpec = { }, }, '/unified/ats/background_checks/orders': { - get: { - operationId: 'ats_list_background_check_request', + post: { + operationId: 'ats_order_background_check_request', parameters: [ { name: 'x-account-id', @@ -16140,114 +16210,24 @@ export const atsSpec = { 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 that will be returned in the response (if empty, all fields are returned)', - schema: { - nullable: true, - example: - 'id,remote_id,package,application,job,candidate,requester,results_update_url', - 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, - }, + ], + requestBody: { + required: true, + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/AtsCreateBackgroundCheckOrderRequestDto', }, - 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 background check requests was retrieved.', + description: 'The order request of the background check for candidate.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/BackgroundCheckOrderPaginated', + $ref: '#/components/schemas/CreateBackgroundCheckOrderResult', }, }, }, @@ -16386,30 +16366,19 @@ export const atsSpec = { basic: [], }, ], - summary: 'List Background Check Request', + summary: 'Order Background Check Request', tags: ['Background Checks', 'Orders'], 'x-speakeasy-group': 'ats', - 'x-speakeasy-name-override': 'list_background_check_request', - 'x-speakeasy-pagination': { - type: 'cursor', - inputs: [ - { - name: 'next', - in: 'parameters', - type: 'cursor', - }, - ], - outputs: { - nextCursor: '$.next', - }, - }, + 'x-speakeasy-name-override': 'order_background_check_request', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, - post: { - operationId: 'ats_order_background_check_request', + }, + '/unified/ats/background_checks/orders/{id}/result': { + patch: { + operationId: 'ats_update_background_check_result', parameters: [ { name: 'x-account-id', @@ -16420,24 +16389,32 @@ export const atsSpec = { type: 'string', }, }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, ], requestBody: { required: true, content: { 'application/json': { schema: { - $ref: '#/components/schemas/AtsCreateBackgroundCheckOrderRequestDto', + $ref: '#/components/schemas/AtsUpdateBackgroundCheckResultRequestDto', }, }, }, }, responses: { '200': { - description: 'The order request of the background check for candidate.', + description: 'The result update of the background check for candidate.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/CreateBackgroundCheckOrderResult', + $ref: '#/components/schemas/UpdateResult', }, }, }, @@ -16576,19 +16553,19 @@ export const atsSpec = { basic: [], }, ], - summary: 'Order Background Check Request', - tags: ['Background Checks', 'Orders'], + summary: 'Update Background Check Result', + tags: ['Background Checks', 'Results'], 'x-speakeasy-group': 'ats', - 'x-speakeasy-name-override': 'order_background_check_request', + 'x-speakeasy-name-override': 'update_background_check_result', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/ats/background_checks/orders/{id}': { + '/unified/ats/background_checks/orders/{id}/results': { get: { - operationId: 'ats_get_background_check_request', + operationId: 'ats_get_background_check_result', parameters: [ { name: 'x-account-id', @@ -16624,6 +16601,8 @@ export const atsSpec = { 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, @@ -16639,18 +16618,18 @@ export const atsSpec = { schema: { nullable: true, example: - 'id,remote_id,package,application,job,candidate,requester,results_update_url', + 'id,remote_id,candidate,score,start_date,submission_date,summary,result,result_url,attachments', type: 'string', }, }, ], responses: { '200': { - description: 'The background check order with the given identifier was retrieved.', + description: 'The background check result with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/BackgroundCheckOrderResult', + $ref: '#/components/schemas/BackgroundCheckResultsResult', }, }, }, @@ -16788,56 +16767,141 @@ export const atsSpec = { { basic: [], }, - ], - summary: 'Get Background Check Request', - tags: ['Background Checks', 'Orders'], - 'x-speakeasy-group': 'ats', - 'x-speakeasy-name-override': 'get_background_check_request', - 'x-speakeasy-retries': { - statusCodes: [429, 408], - strategy: 'backoff', - }, - }, - }, - '/unified/ats/background_checks/orders/{id}/result': { - patch: { - operationId: 'ats_update_background_check_result', - parameters: [ + ], + summary: 'Get Background Check Results', + tags: ['Background Checks', 'Results'], + 'x-speakeasy-group': 'ats', + 'x-speakeasy-name-override': 'get_background_check_result', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ats/documents/application_categories': { + get: { + operationId: 'ats_list_application_document_categories', + 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,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: 'x-account-id', - in: 'header', - description: 'The account identifier', - required: true, + name: 'page_size', + required: false, + in: 'query', + description: 'The number of results per page (default value is 25)', schema: { + nullable: true, type: 'string', }, }, { - name: 'id', - required: true, - in: 'path', + name: 'next', + required: false, + in: 'query', + description: 'The unified cursor', schema: { + nullable: true, type: 'string', }, }, - ], - requestBody: { - required: true, - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/AtsUpdateBackgroundCheckResultRequestDto', - }, + { + 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 result update of the background check for candidate.', + description: 'The list of application document categories were retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/UpdateResult', + $ref: '#/components/schemas/ReferencePaginated', }, }, }, @@ -16976,19 +17040,32 @@ export const atsSpec = { basic: [], }, ], - summary: 'Update Background Check Result', - tags: ['Background Checks', 'Results'], + summary: 'List Application Document Categories', + tags: ['Documents'], 'x-speakeasy-group': 'ats', - 'x-speakeasy-name-override': 'update_background_check_result', + 'x-speakeasy-name-override': 'list_application_document_categories', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/ats/background_checks/orders/{id}/results': { + '/unified/ats/documents/application_categories/{id}': { get: { - operationId: 'ats_get_background_check_result', + operationId: 'ats_get_application_document_category', parameters: [ { name: 'x-account-id', @@ -17040,19 +17117,19 @@ export const atsSpec = { '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,candidate,score,start_date,submission_date,summary,result,result_url,attachments', + example: 'id,remote_id,name,active', type: 'string', }, }, ], responses: { '200': { - description: 'The background check result with the given identifier was retrieved.', + description: + 'The application document category with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/BackgroundCheckResultsResult', + $ref: '#/components/schemas/ReferenceResult', }, }, }, @@ -17191,10 +17268,10 @@ export const atsSpec = { basic: [], }, ], - summary: 'Get Background Check Results', - tags: ['Background Checks', 'Results'], + summary: 'Get Application Document Category', + tags: ['Documents'], 'x-speakeasy-group': 'ats', - 'x-speakeasy-name-override': 'get_background_check_result', + 'x-speakeasy-name-override': 'get_application_document_category', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', @@ -17209,97 +17286,102 @@ export const atsSpec = { contact: {}, }, tags: [ + { + name: 'Application Changes', + description: + 'Chronological record of changes made to the application (this will only track changes for specific properties of the Application model).', + }, { name: 'Application Notes', - description: '', + description: 'Notes or comments on applications.', }, { name: 'Applications', - description: '', + description: 'Job applications submitted by candidates.', }, { name: 'Assessments', - description: '', + description: 'Candidate assessments or tests.', }, { name: 'Background Checks', - description: '', + description: 'Background screening checks.', }, { name: 'Candidates', - description: '', + description: 'People applying for jobs.', }, { name: 'Custom Field Definitions', - description: '', + description: 'Definitions for custom fields on ATS resources.', }, { name: 'Departments', - description: '', + description: 'Departments within an organization.', }, { name: 'Documents', - description: '', + description: 'Files and documents related to candidates or jobs.', }, { name: 'Interview Stages', - description: '', + description: 'Stages in the interview process.', }, { name: 'Interviews', - description: '', + description: 'Scheduled interviews with candidates.', }, { name: 'Job Postings', - description: '', + description: 'Public job advertisements.', }, { name: 'Jobs', - description: '', + description: 'Open job positions.', }, { name: 'Lists', - description: '', + description: 'Lists for organizing candidates or jobs.', }, { name: 'Locations', - description: '', + description: 'Job or office locations.', }, { name: 'Notes', - description: '', + description: 'General notes or comments.', }, { name: 'Offers', - description: '', + description: 'Job offers extended to candidates.', }, { name: 'Orders', - description: '', + description: 'Orders for background checks or assessments.', }, { name: 'Packages', - description: '', + description: 'Assessment or offer packages.', }, { name: 'Rejected Reasons', - description: '', + description: 'Reasons for candidate rejection.', }, { name: 'Results', - description: '', + description: 'Results of assessments or background checks.', }, { name: 'Scheduled Interviews', - description: '', + description: 'Planned interview sessions.', }, { name: 'Scorecards', - description: '', + description: 'Evaluation scorecards for candidates.', }, { name: 'Users', - description: '', + description: 'System users with access to the ATS.', }, ], servers: [ @@ -17720,6 +17802,157 @@ export const atsSpec = { }, }, }, + ApplicationChanges: { + 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, + }, + created_at: { + type: 'string', + description: 'Timestamp when the change was created', + example: '2024-01-15T10:30:00Z', + format: 'date-time', + }, + effective_at: { + type: 'string', + description: 'Timestamp when the change became effective', + example: '2024-01-15T10:30:00Z', + format: 'date-time', + nullable: true, + }, + actor: { + description: 'The actor who made the change', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/ChangesActor', + }, + ], + }, + change_type: { + description: 'The type of change that occurred to the application', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/ApplicationChangeTypeEnum', + }, + ], + }, + new_values: { + description: + 'The new values for changed application properties. Only includes fields that commonly change over the application lifecycle.', + allOf: [ + { + $ref: '#/components/schemas/ApplicationChangesDataModel', + }, + ], + }, + }, + required: ['created_at', 'new_values'], + }, + ApplicationChangesDataModel: { + type: 'object', + properties: { + interview_stage_id: { + type: 'string', + description: 'Unique identifier of the interview stage', + example: '18bcbb1b-3cbc-4198-a999-460861d19480', + nullable: true, + }, + rejected_reason_ids: { + description: 'Unique identifiers of the rejection reasons', + example: ['f223d7f6-908b-48f0-9237-b201c307f609'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + application_status: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/ApplicationStatusEnum', + }, + ], + }, + }, + }, + ApplicationChangesPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/ApplicationChanges', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + ApplicationChangeTypeEnum: { + type: 'object', + properties: { + value: { + type: 'string', + enum: [ + 'application_status', + 'interview_stage', + 'rejected_reasons', + 'unmapped_value', + null, + ], + description: 'The type of change that occurred to the application', + example: 'application_status', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + source_value: { + description: 'The source value of the change type', + example: 'StatusChange', + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + nullable: true, + }, + }, + }, ApplicationResult: { type: 'object', properties: { @@ -17806,100 +18039,21 @@ export const atsSpec = { }, { type: 'number', - }, - { - type: 'boolean', - }, - { - type: 'object', - }, - { - type: 'array', - items: {}, - }, - ], - nullable: true, - }, - }, - }, - AssessmentOrder: { - 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, - }, - package: { - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/OrderPackageApiModel', - }, - ], - }, - application: { - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/OrderApplicationApiModel', - }, - ], - }, - job: { - nullable: true, - allOf: [ + }, { - $ref: '#/components/schemas/OrderJobApiModel', + type: 'boolean', }, - ], - }, - candidate: { - nullable: true, - allOf: [ { - $ref: '#/components/schemas/OrderCandidateApiModel', + type: 'object', }, - ], - }, - requester: { - nullable: true, - allOf: [ { - $ref: '#/components/schemas/OrderJobHiringTeamApiModel', + type: 'array', + items: {}, }, ], - }, - results_update_url: { - type: 'string', - description: 'Results update url', - example: 'https://exmaple.com/integrations/results/update', - nullable: true, - }, - }, - }, - AssessmentOrderResult: { - type: 'object', - properties: { - data: { - $ref: '#/components/schemas/AssessmentOrder', - }, - raw: { nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/RawResponse', - }, }, }, - required: ['data'], }, AssessmentPackage: { type: 'object', @@ -19533,113 +19687,6 @@ export const atsSpec = { }, }, }, - BackgroundCheckOrder: { - 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, - }, - application: { - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/OrderApplicationApiModel', - }, - ], - }, - job: { - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/OrderJobApiModel', - }, - ], - }, - candidate: { - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/OrderCandidateApiModel', - }, - ], - }, - requester: { - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/OrderJobHiringTeamApiModel', - }, - ], - }, - results_update_url: { - type: 'string', - description: 'Results update url', - example: 'https://exmaple.com/integrations/results/update', - nullable: true, - }, - package: { - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/OrderBackgroundCheckPackageApiModel', - }, - ], - }, - }, - }, - BackgroundCheckOrderPaginated: { - type: 'object', - properties: { - next_page: { - type: 'string', - deprecated: true, - nullable: true, - }, - next: { - type: 'string', - nullable: true, - }, - data: { - type: 'array', - items: { - $ref: '#/components/schemas/BackgroundCheckOrder', - }, - }, - raw: { - nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/RawResponse', - }, - }, - }, - required: ['data'], - }, - BackgroundCheckOrderResult: { - type: 'object', - properties: { - data: { - $ref: '#/components/schemas/BackgroundCheckOrder', - }, - raw: { - nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/RawResponse', - }, - }, - }, - required: ['data'], - }, BackgroundCheckPackage: { type: 'object', properties: { @@ -20087,6 +20134,23 @@ export const atsSpec = { }, required: ['data'], }, + ChangesActor: { + 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, + }, + }, + }, CompensationTypeEnum: { type: 'object', properties: { @@ -20558,28 +20622,24 @@ export const atsSpec = { }, options: { description: 'An array of possible options for the custom field.', - example: ['Not Started', 'In Progress', 'Completed', 'Overdue'], + example: [ + { + id: 'option_1', + value: 'Not Started', + }, + { + id: 'option_2', + value: 'In Progress', + }, + { + id: 'option_3', + value: 'Completed', + }, + ], nullable: true, type: 'array', items: { - oneOf: [ - { - type: 'string', - }, - { - type: 'number', - }, - { - type: 'boolean', - }, - { - type: 'object', - }, - { - type: 'array', - items: {}, - }, - ], + $ref: '#/components/schemas/CustomFieldOption', }, }, }, @@ -20628,6 +20688,23 @@ export const atsSpec = { }, required: ['data'], }, + CustomFieldOption: { + type: 'object', + properties: { + id: { + type: 'string', + description: + 'The unique identifier for the option to be used when updating the custom field', + example: 'option_123', + }, + value: { + type: 'string', + description: 'The human readable value of the option', + example: 'Not Started', + }, + }, + required: ['id', 'value'], + }, CustomFields: { type: 'object', properties: { @@ -25004,6 +25081,87 @@ export const atsSpec = { }, required: ['method', 'url'], }, + 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'], + }, RejectApplicationResult: { type: 'object', properties: { diff --git a/src/openapi/generated/crm.ts b/src/openapi/generated/crm.ts index e1af90f..d60e496 100644 --- a/src/openapi/generated/crm.ts +++ b/src/openapi/generated/crm.ts @@ -2463,19 +2463,19 @@ export const crmSpec = { tags: [ { name: 'Accounts', - description: '', + description: 'Customer or business accounts.', }, { name: 'Contacts', - description: '', + description: 'People or organizations that can be contacted.', }, { name: 'Custom Field Definitions', - description: '', + description: 'Definitions for custom fields on CRM resources.', }, { name: 'Lists', - description: '', + description: 'Lists for organizing contacts or accounts.', }, ], servers: [ @@ -3326,28 +3326,24 @@ export const crmSpec = { }, options: { description: 'An array of possible options for the custom field.', - example: ['Not Started', 'In Progress', 'Completed', 'Overdue'], + example: [ + { + id: 'option_1', + value: 'Not Started', + }, + { + id: 'option_2', + value: 'In Progress', + }, + { + id: 'option_3', + value: 'Completed', + }, + ], nullable: true, type: 'array', items: { - oneOf: [ - { - type: 'string', - }, - { - type: 'number', - }, - { - type: 'boolean', - }, - { - type: 'object', - }, - { - type: 'array', - items: {}, - }, - ], + $ref: '#/components/schemas/CustomFieldOption', }, }, }, @@ -3396,6 +3392,23 @@ export const crmSpec = { }, required: ['data'], }, + CustomFieldOption: { + type: 'object', + properties: { + id: { + type: 'string', + description: + 'The unique identifier for the option to be used when updating the custom field', + example: 'option_123', + }, + value: { + type: 'string', + description: 'The human readable value of the option', + example: 'Not Started', + }, + }, + required: ['id', 'value'], + }, CustomFields: { type: 'object', properties: { diff --git a/src/openapi/generated/documents.ts b/src/openapi/generated/documents.ts index fb7d7ef..04338bb 100644 --- a/src/openapi/generated/documents.ts +++ b/src/openapi/generated/documents.ts @@ -454,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,has_content,has_children', + '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,default_download_format,created_at,updated_at,has_content,has_children,all_parent_folder_ids,remote_all_parent_folder_ids', type: 'string', }, }, @@ -463,6 +463,8 @@ export const documentsSpec = { required: false, in: 'query', description: 'Documents Files Filter', + explode: true, + style: 'deepObject', schema: { properties: { updated_after: { @@ -473,6 +475,40 @@ export const documentsSpec = { nullable: true, additionalProperties: false, }, + name: { + description: 'Search if the name of the file contains the string', + example: 'john_doe_resume.pdf', + type: 'string', + nullable: true, + }, + content: { + description: + 'Search if the contents of the file contains the string (contents can include file metadata)', + example: 'FAQ of the project', + type: 'string', + nullable: true, + }, + created_after: { + description: + 'Use a string with a date to only select results created after that given date', + example: '2020-01-01T00:00:00.000Z', + type: 'string', + nullable: true, + additionalProperties: false, + }, + drive_id: { + description: 'Use to only include Files within the specified Drive', + example: '1234567890', + type: 'string', + nullable: true, + }, + folder_id: { + description: + 'Use to only include Files within the specified Folder. Required when requesting nested items', + example: '1234567890', + type: 'string', + nullable: true, + }, }, nullable: true, type: 'object', @@ -522,6 +558,42 @@ export const documentsSpec = { type: 'string', }, }, + { + name: 'folder_id', + required: false, + in: 'query', + description: + 'Use to only include Files within the specified Folder. Required when requesting nested items', + schema: { + nullable: true, + example: '1234567890', + type: 'string', + }, + }, + { + name: 'nested_items', + required: false, + in: 'query', + description: + 'When "true" and used with filter[folder_id], the response includes Files and Files within descendant Folders', + schema: { + nullable: true, + default: 'false', + example: 'true', + type: 'string', + }, + }, + { + name: 'include', + required: false, + in: 'query', + description: 'The comma separated list of fields that will be included in the response', + schema: { + nullable: true, + example: 'all_parent_folder_ids', + type: 'string', + }, + }, ], responses: { '200': { @@ -755,206 +827,29 @@ 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,has_content,has_children', - type: 'string', - }, - }, - ], - responses: { - '200': { - description: 'The file with the given identifier was retrieved.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/FileResult', - }, - }, - }, - }, - '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 File', - tags: ['Files'], - 'x-speakeasy-group': 'documents', - 'x-speakeasy-name-override': 'get_file', - 'x-speakeasy-retries': { - statusCodes: [429, 408], - strategy: 'backoff', - }, - }, - }, - '/unified/documents/files/search': { - post: { - operationId: 'documents_search_files', - parameters: [ - { - name: 'x-account-id', - in: 'header', - description: 'The account identifier', - required: true, - schema: { + '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,default_download_format,created_at,updated_at,has_content,has_children,all_parent_folder_ids,remote_all_parent_folder_ids', type: 'string', }, }, { - name: 'x-stackone-api-session-token', - in: 'header', - description: 'The session token', + name: 'include', required: false, + in: 'query', + description: 'The comma separated list of fields that will be included in the response', schema: { + nullable: true, + example: 'all_parent_folder_ids', type: 'string', }, }, ], - requestBody: { - required: true, - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/DocumentsFilesSearchRequestDto', - }, - }, - }, - }, responses: { '200': { - description: 'The list of files matching the search query was retrieved.', + description: 'The file with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/FilesSearchResponse', + $ref: '#/components/schemas/FileResult', }, }, }, @@ -1093,10 +988,10 @@ export const documentsSpec = { basic: [], }, ], - summary: 'Search Files', + summary: 'Get File', tags: ['Files'], 'x-speakeasy-group': 'documents', - 'x-speakeasy-name-override': 'search_files', + 'x-speakeasy-name-override': 'get_file', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', @@ -1148,7 +1043,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,has_content,has_children,is_root', + '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,all_parent_folder_ids,remote_all_parent_folder_ids', type: 'string', }, }, @@ -1157,6 +1052,8 @@ export const documentsSpec = { required: false, in: 'query', description: 'Documents Folders Filter', + explode: true, + style: 'deepObject', schema: { properties: { updated_after: { @@ -1167,6 +1064,21 @@ export const documentsSpec = { nullable: true, additionalProperties: false, }, + drive_id: { + description: 'Use to only include Folders within the specified Drive', + example: '1234567890', + type: 'string', + nullable: true, + additionalProperties: false, + }, + folder_id: { + description: + 'Use to only include Folders within the specified Folder. Required when requesting nested items', + example: '1234567890', + type: 'string', + nullable: true, + additionalProperties: false, + }, }, nullable: true, type: 'object', @@ -1216,6 +1128,42 @@ export const documentsSpec = { type: 'string', }, }, + { + name: 'folder_id', + required: false, + in: 'query', + description: + 'Use to only include Folders within the specified Folder. Required when requesting nested items', + schema: { + nullable: true, + example: '1234567890', + type: 'string', + }, + }, + { + name: 'nested_items', + required: false, + in: 'query', + description: + 'When "true" and used with filter[folder_id], the response includes Folders and their descendant Folders', + schema: { + nullable: true, + default: 'false', + example: 'true', + type: 'string', + }, + }, + { + name: 'include', + required: false, + in: 'query', + description: 'The comma separated list of fields that will be included in the response', + schema: { + nullable: true, + example: 'all_parent_folder_ids', + type: 'string', + }, + }, ], responses: { '200': { @@ -1440,7 +1388,18 @@ 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,has_content,has_children,is_root', + '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,all_parent_folder_ids,remote_all_parent_folder_ids', + type: 'string', + }, + }, + { + name: 'include', + required: false, + in: 'query', + description: 'The comma separated list of fields that will be included in the response', + schema: { + nullable: true, + example: 'all_parent_folder_ids', type: 'string', }, }, @@ -1653,6 +1612,8 @@ export const documentsSpec = { required: false, in: 'query', description: 'Filter parameters that allow greater customisation of the list response', + explode: true, + style: 'deepObject', schema: { properties: { updated_after: { @@ -2105,15 +2066,15 @@ export const documentsSpec = { tags: [ { name: 'Files', - description: '', + description: 'Files that can be uploaded or managed.', }, { name: 'Folders', - description: '', + description: 'Folders for organizing files.', }, { name: 'Drives', - description: '', + description: 'Drives for storing and managing files.', }, ], servers: [ @@ -2247,52 +2208,6 @@ export const documentsSpec = { }, required: ['statusCode', 'message', 'timestamp'], }, - DocumentsFilesSearchRequestDto: { - type: 'object', - properties: { - query: { - type: 'string', - description: 'The query to search for', - example: 'test', - }, - field: { - type: 'string', - description: - 'The specific field to search within. If not provided, the search will be performed across all searchable text fields', - example: 'name', - nullable: true, - }, - operation_type: { - description: - 'The operation type to use for the query. If not provided, the default operation is `contains`.', - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/OperationTypeEnumApiModel', - }, - ], - }, - params: { - description: 'The additional parameters of the query', - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/UnifiedSearchParamsRequestDto', - }, - ], - }, - passthrough: { - type: 'object', - description: 'Value to pass through to the provider', - example: { - other_known_names: 'John Doe', - }, - additionalProperties: true, - nullable: true, - }, - }, - required: ['query'], - }, DriveResult: { type: 'object', properties: { @@ -3714,6 +3629,12 @@ export const documentsSpec = { type: 'string', }, }, + default_download_format: { + type: 'string', + description: 'Default download format', + example: 'application/pdf', + nullable: true, + }, remote_owner_id: { type: 'string', description: "Provider's unique identifier of the owner of this file", @@ -3761,45 +3682,51 @@ export const documentsSpec = { nullable: true, }, has_content: { - type: 'boolean', description: 'Whether the file has content', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], nullable: true, }, has_children: { - type: 'boolean', description: 'Whether the file has children', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], nullable: true, }, - }, - }, - FilesPaginated: { - type: 'object', - properties: { - next: { - type: 'string', - nullable: true, - }, - data: { - type: 'array', - items: { - $ref: '#/components/schemas/Files', - }, - }, - raw: { + all_parent_folder_ids: { + description: 'List of containing parent Folder IDs in descending order', + example: ['0123456789'], nullable: true, type: 'array', items: { - $ref: '#/components/schemas/RawResponse', + type: 'string', }, }, }, - required: ['data'], }, - FilesSearchResponse: { + FilesPaginated: { type: 'object', properties: { + next: { + type: 'string', + nullable: true, + }, data: { type: 'array', items: { @@ -3930,22 +3857,55 @@ export const documentsSpec = { nullable: true, }, has_content: { - type: 'boolean', description: 'Whether the folder has content', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], nullable: true, }, has_children: { - type: 'boolean', description: 'Whether the folder has children', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], nullable: true, }, is_root: { - type: 'boolean', description: 'Whether the folder is at the root level of the drive', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], + nullable: true, + }, + all_parent_folder_ids: { + description: 'List of containing parent Folder IDs in descending order', + example: ['0123456789'], nullable: true, + type: 'array', + items: { + type: 'string', + }, }, }, }, @@ -4060,42 +4020,6 @@ export const documentsSpec = { }, required: ['statusCode', 'message', 'timestamp'], }, - OperationTypeEnumApiModel: { - type: 'object', - properties: { - value: { - type: 'string', - description: 'The operation type of the query', - enum: ['contains', 'equals', 'not_equals', 'unmapped_value', null], - example: 'contains', - default: 'contains', - 'x-speakeasy-unknown-values': 'allow', - nullable: true, - }, - source_value: { - oneOf: [ - { - type: 'string', - }, - { - type: 'number', - }, - { - type: 'boolean', - }, - { - type: 'object', - }, - { - type: 'array', - items: {}, - }, - ], - example: 'contains', - nullable: true, - }, - }, - }, PreconditionFailedResponse: { type: 'object', properties: { @@ -4322,62 +4246,6 @@ export const documentsSpec = { }, }, }, - UnifiedSearchParamsRequestDto: { - type: 'object', - properties: { - raw: { - type: 'boolean', - description: - 'Indicates that the raw request result should be returned in addition to the mapped result (default value is false)', - nullable: true, - }, - fields: { - type: 'string', - description: - 'The comma separated list of fields to return in the response (if empty, all fields are returned)', - nullable: true, - }, - filter: { - type: 'object', - description: 'Filter parameters that allow greater customisation of the list response', - 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, - }, - page: { - type: 'string', - description: 'The page number of the results to fetch', - deprecated: true, - nullable: true, - }, - page_size: { - type: 'string', - description: 'The number of results per page (default value is 25)', - nullable: true, - }, - next: { - type: 'string', - description: 'The unified cursor', - nullable: true, - }, - updated_after: { - type: 'string', - description: - 'Use a string with a date to only select results updated after that given date', - example: '2020-01-01T00:00:00.000Z', - deprecated: true, - nullable: true, - }, - }, - }, UnifiedUploadCategoryEnumApiModel: { type: 'object', properties: { diff --git a/src/openapi/generated/hris.ts b/src/openapi/generated/hris.ts index 732cda7..114781b 100644 --- a/src/openapi/generated/hris.ts +++ b/src/openapi/generated/hris.ts @@ -2230,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,time_off_policy_id,remote_time_off_policy_id,reason,duration,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,comment,duration,created_at,updated_at,policy', type: 'string', }, }, @@ -2737,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,time_off_policy_id,remote_time_off_policy_id,reason,duration,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,comment,duration,created_at,updated_at,policy', type: 'string', }, }, @@ -7770,9 +7770,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/locations': { + '/unified/hris/groups': { get: { - operationId: 'hris_list_locations', + operationId: 'hris_list_groups', parameters: [ { name: 'x-account-id', @@ -7817,7 +7817,7 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,employee_id,remote_employee_id,name,phone_number,street_1,street_2,city,state,zip_code,country,location_type,created_at,updated_at', + 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', type: 'string', }, }, @@ -7890,11 +7890,11 @@ export const hrisSpec = { ], responses: { '200': { - description: 'The list of work locations was retrieved.', + description: 'The list of groups was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISLocationsPaginated', + $ref: '#/components/schemas/HRISGroupsPaginated', }, }, }, @@ -8033,10 +8033,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Work Locations', - tags: ['Locations'], + summary: 'List Groups', + tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_locations', + 'x-speakeasy-name-override': 'list_groups', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -8056,9 +8056,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/locations/{id}': { + '/unified/hris/groups/departments': { get: { - operationId: 'hris_get_location', + operationId: 'hris_list_department_groups', parameters: [ { name: 'x-account-id', @@ -8069,14 +8069,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -8111,18 +8103,84 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,employee_id,remote_employee_id,name,phone_number,street_1,street_2,city,state,zip_code,country,location_type,created_at,updated_at', + 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_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 work location with the given identifier was retrieved.', + description: 'The list of department groups was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISLocationResult', + $ref: '#/components/schemas/HRISDepartmentsPaginated', }, }, }, @@ -8261,19 +8319,32 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Work Location', - tags: ['Locations'], + summary: 'List Department Groups', + tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_location', + '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/time_off': { + '/unified/hris/groups/cost_centers': { get: { - operationId: 'hris_list_time_off_requests', + operationId: 'hris_list_cost_center_groups', parameters: [ { name: 'x-account-id', @@ -8318,7 +8389,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,time_off_policy_id,remote_time_off_policy_id,reason,duration,created_at,updated_at,policy', + 'id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', type: 'string', }, }, @@ -8326,7 +8397,7 @@ export const hrisSpec = { name: 'filter', required: false, in: 'query', - description: 'HRIS Time Off filters', + description: 'Filter parameters that allow greater customisation of the list response', explode: true, style: 'deepObject', schema: { @@ -8339,14 +8410,6 @@ export const hrisSpec = { nullable: true, additionalProperties: false, }, - type_ids: { - description: 'List of time off type ids to filter by.', - nullable: true, - type: 'array', - items: { - type: 'string', - }, - }, }, nullable: true, type: 'object', @@ -8396,25 +8459,14 @@ 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: 'policy', - type: 'string', - }, - }, ], responses: { '200': { - description: 'The list of time off requests was retrieved.', + description: 'The list of cost center groups was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TimeOffPaginated', + $ref: '#/components/schemas/HRISCostCenterPaginated', }, }, }, @@ -8553,10 +8605,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List time off requests', - tags: ['Time Off'], + summary: 'List Cost Center Groups', + tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_time_off_requests', + 'x-speakeasy-name-override': 'list_cost_center_groups', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -8576,9 +8628,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/time_off/{id}': { + '/unified/hris/groups/teams': { get: { - operationId: 'hris_get_time_off_request', + operationId: 'hris_list_team_groups', parameters: [ { name: 'x-account-id', @@ -8589,14 +8641,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -8631,29 +8675,84 @@ 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,time_off_policy_id,remote_time_off_policy_id,reason,duration,created_at,updated_at,policy', + 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids', 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 team groups was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TimeOffResult', + $ref: '#/components/schemas/HRISTeamsPaginated', }, }, }, @@ -8792,20 +8891,32 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get time off request', - tags: ['Time Off'], + summary: 'List Team Groups', + tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_time_off_request', + 'x-speakeasy-name-override': 'list_team_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/time_off_types': { + '/unified/hris/groups/divisions': { get: { - deprecated: true, - operationId: 'hris_list_time_off_types', + operationId: 'hris_list_division_groups', parameters: [ { name: 'x-account-id', @@ -8849,7 +8960,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,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', type: 'string', }, }, @@ -8922,11 +9034,11 @@ export const hrisSpec = { ], responses: { '200': { - description: 'The list of time off types was retrieved.', + description: 'The list of division groups was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/ReferencePaginated', + $ref: '#/components/schemas/HRISDivisionsPaginated', }, }, }, @@ -9065,10 +9177,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List time off types', - tags: ['Time Off'], + summary: 'List Division Groups', + tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_time_off_types', + 'x-speakeasy-name-override': 'list_division_groups', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -9088,10 +9200,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/time_off_types/{id}': { + '/unified/hris/groups/companies': { get: { - deprecated: true, - operationId: 'hris_get_time_off_type', + operationId: 'hris_list_companies_groups', parameters: [ { name: 'x-account-id', @@ -9102,14 +9213,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -9143,18 +9246,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,active', + example: 'id,remote_id,name,full_name,display_name,created_at,updated_at', + type: 'string', + }, + }, + { + name: 'filter', + required: false, + in: 'query', + description: 'Filter parameters that allow greater customisation of the list response', + explode: true, + style: 'deepObject', + schema: { + properties: { + updated_after: { + description: + 'Use a string with a date to only select results updated after that given date', + example: '2020-01-01T00:00:00.000Z', + type: 'string', + 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 time off type with the given identifier was retrieved.', + description: 'The list of companies groups was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/ReferenceResult', + $ref: '#/components/schemas/CompaniesPaginated', }, }, }, @@ -9293,19 +9462,32 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get time off type', - tags: ['Time Off'], + summary: 'List Companies Groups', + tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_time_off_type', + 'x-speakeasy-name-override': 'list_companies_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/time_entries': { + '/unified/hris/groups/{id}': { get: { - operationId: 'hris_list_time_entries', + operationId: 'hris_get_group', parameters: [ { name: 'x-account-id', @@ -9316,6 +9498,14 @@ export const hrisSpec = { type: 'string', }, }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -9350,104 +9540,18 @@ export const hrisSpec = { 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', - type: 'string', - }, - }, - { - name: 'filter', - required: false, - in: 'query', - description: 'HRIS Time Entries 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, - }, - 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', - }, - }, - { - 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 time entries was retrieved.', + description: 'The group with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TimeEntriesPaginated', + $ref: '#/components/schemas/HRISGroupsResult', }, }, }, @@ -9586,32 +9690,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Time Entries', - tags: ['Time Entries'], + summary: 'Get Group', + tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_time_entries', - '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/time_entries/{id}': { + '/unified/hris/groups/departments/{id}': { get: { - operationId: 'hris_get_time_entries', + operationId: 'hris_get_department_group', parameters: [ { name: 'x-account-id', @@ -9664,18 +9755,18 @@ export const hrisSpec = { 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', + '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 time entry with the given identifier was retrieved.', + description: 'The department group with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TimeEntriesResult', + $ref: '#/components/schemas/HRISDepartmentsResult', }, }, }, @@ -9814,19 +9905,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Time Entry', - tags: ['Time Entries'], + summary: 'Get Department Group', + tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_time_entries', + 'x-speakeasy-name-override': 'get_department_group', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/benefits': { + '/unified/hris/groups/cost_centers/{id}': { get: { - operationId: 'hris_list_benefits', + operationId: 'hris_get_cost_center_group', parameters: [ { name: 'x-account-id', @@ -9838,116 +9929,59 @@ 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)', - 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, + name: 'id', + required: true, + in: 'path', schema: { - additionalProperties: true, - nullable: true, - type: 'object', + type: 'string', }, }, { - name: 'fields', + name: 'raw', required: false, in: 'query', description: - 'The comma separated list of fields that will be returned in the response (if empty, all fields are returned)', + 'Indicates that the raw request result should be returned in addition to the mapped result (default value is false)', schema: { nullable: true, - example: 'id,remote_id,name,benefit_type,provider,description,created_at,updated_at', - type: 'string', + type: 'boolean', }, }, { - name: 'filter', + name: 'proxy', required: false, in: 'query', - description: 'Filter parameters that allow greater customisation of the list response', - explode: true, + 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: { - 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, - }, - }, + additionalProperties: 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', + name: 'fields', required: false, in: 'query', description: - 'Use a string with a date to only select results updated after that given date', - deprecated: true, + 'The comma separated list of fields that will be returned in the response (if empty, all fields are returned)', schema: { nullable: true, - example: '2020-01-01T00:00:00.000Z', + 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', }, }, ], responses: { '200': { - description: 'The list of Benefits was retrieved.', + description: 'The cost center group with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISBenefitsPaginated', + $ref: '#/components/schemas/HRISCostCenterResult', }, }, }, @@ -10086,32 +10120,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List benefits', - tags: ['Benefits'], + summary: 'Get Cost Center Group', + tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_benefits', - 'x-speakeasy-pagination': { - type: 'cursor', - inputs: [ - { - name: 'next', - in: 'parameters', - type: 'cursor', - }, - ], - outputs: { - nextCursor: '$.next', - }, - }, + 'x-speakeasy-name-override': 'get_cost_center_group', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/benefits/{id}': { + '/unified/hris/groups/teams/{id}': { get: { - operationId: 'hris_get_benefit', + operationId: 'hris_get_team_group', parameters: [ { name: 'x-account-id', @@ -10163,18 +10184,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,benefit_type,provider,description,created_at,updated_at', + example: + 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids', type: 'string', }, }, ], responses: { '200': { - description: 'The Benefit with the given identifier was retrieved.', + description: 'The team group with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISBenefitResult', + $ref: '#/components/schemas/HRISTeamsResult', }, }, }, @@ -10313,19 +10335,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Benefit', - tags: ['Benefits'], + summary: 'Get Team Group', + tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_benefit', + 'x-speakeasy-name-override': 'get_team_group', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/groups': { + '/unified/hris/groups/divisions/{id}': { get: { - operationId: 'hris_list_groups', + operationId: 'hris_get_division_group', parameters: [ { name: 'x-account-id', @@ -10336,6 +10358,14 @@ export const hrisSpec = { type: 'string', }, }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -10374,80 +10404,14 @@ export const hrisSpec = { 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 groups was retrieved.', + description: 'The division group with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISGroupsPaginated', + $ref: '#/components/schemas/HRISDivisionsResult', }, }, }, @@ -10586,32 +10550,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Groups', + summary: 'Get Division Group', tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_groups', - 'x-speakeasy-pagination': { - type: 'cursor', - inputs: [ - { - name: 'next', - in: 'parameters', - type: 'cursor', - }, - ], - outputs: { - nextCursor: '$.next', - }, - }, + 'x-speakeasy-name-override': 'get_division_group', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/groups/departments': { + '/unified/hris/groups/companies/{id}': { get: { - operationId: 'hris_list_department_groups', + operationId: 'hris_get_company_group', parameters: [ { name: 'x-account-id', @@ -10622,6 +10573,14 @@ export const hrisSpec = { type: 'string', }, }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -10655,84 +10614,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', + example: 'id,remote_id,name,full_name,display_name,created_at,updated_at', type: 'string', }, }, - { - name: 'filter', - required: false, - in: 'query', - description: 'Filter parameters that allow greater customisation of the list response', - explode: true, - style: 'deepObject', - schema: { - properties: { - updated_after: { - description: - 'Use a string with a date to only select results updated after that given date', - example: '2020-01-01T00:00:00.000Z', - type: 'string', - 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 department groups was retrieved.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/HRISDepartmentsPaginated', + ], + responses: { + '200': { + description: 'The company group with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/CompanyResult', }, }, }, @@ -10871,32 +10764,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Department Groups', + summary: 'Get Company Group', tags: ['Groups'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_department_groups', - 'x-speakeasy-pagination': { - type: 'cursor', - inputs: [ - { - name: 'next', - in: 'parameters', - type: 'cursor', - }, - ], - outputs: { - nextCursor: '$.next', - }, - }, + 'x-speakeasy-name-override': 'get_company_group', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/groups/cost_centers': { + '/unified/hris/jobs': { get: { - operationId: 'hris_list_cost_center_groups', + operationId: 'hris_list_jobs', parameters: [ { name: 'x-account-id', @@ -10941,7 +10821,7 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,name,type,distribution_percentage,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', + 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', type: 'string', }, }, @@ -11014,11 +10894,11 @@ export const hrisSpec = { ], responses: { '200': { - description: 'The list of cost center groups was retrieved.', + description: 'The list of jobs was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISCostCenterPaginated', + $ref: '#/components/schemas/JobsPaginated', }, }, }, @@ -11157,10 +11037,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Cost Center Groups', - tags: ['Groups'], + summary: 'List Jobs', + tags: ['Jobs'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_cost_center_groups', + 'x-speakeasy-name-override': 'list_jobs', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -11180,9 +11060,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/groups/teams': { + '/unified/hris/jobs/{id}': { get: { - operationId: 'hris_list_team_groups', + operationId: 'hris_get_job', parameters: [ { name: 'x-account-id', @@ -11193,6 +11073,14 @@ export const hrisSpec = { type: 'string', }, }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -11227,84 +11115,18 @@ export const hrisSpec = { 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', + '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 team groups was retrieved.', + description: 'The job with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISTeamsPaginated', + $ref: '#/components/schemas/JobResult', }, }, }, @@ -11443,32 +11265,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Team Groups', - tags: ['Groups'], + summary: 'Get Job', + tags: ['Jobs'], '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_job', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/groups/{id}': { + '/unified/hris/locations': { get: { - operationId: 'hris_get_group', + operationId: 'hris_list_locations', parameters: [ { name: 'x-account-id', @@ -11479,14 +11288,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -11521,45 +11322,111 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', + 'id,remote_id,employee_id,remote_employee_id,name,phone_number,street_1,street_2,city,state,zip_code,country,location_type,created_at,updated_at', type: 'string', }, }, - ], - responses: { - '200': { - description: 'The group with the given identifier was retrieved.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/HRISGroupsResult', - }, - }, - }, - }, - '400': { - description: 'Invalid request.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/BadRequestResponse', + { + 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', }, }, - '401': { - description: 'Unauthorized access.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/UnauthorizedResponse', - }, - }, + { + name: 'page', + required: false, + in: 'query', + description: 'The page number of the results to fetch', + deprecated: true, + schema: { + nullable: true, + type: 'string', }, }, - '403': { - description: 'Forbidden.', - content: { + { + 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 work locations was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/HRISLocationsPaginated', + }, + }, + }, + }, + '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', @@ -11671,19 +11538,32 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Group', - tags: ['Groups'], + summary: 'List Work Locations', + tags: ['Locations'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_group', + 'x-speakeasy-name-override': 'list_locations', + '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/departments/{id}': { + '/unified/hris/locations/{id}': { get: { - operationId: 'hris_get_department_group', + operationId: 'hris_get_location', parameters: [ { name: 'x-account-id', @@ -11735,18 +11615,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,employee_id,remote_employee_id,name,phone_number,street_1,street_2,city,state,zip_code,country,location_type,created_at,updated_at', type: 'string', }, }, ], responses: { '200': { - description: 'The department group with the given identifier was retrieved.', + description: 'The work location with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISDepartmentsResult', + $ref: '#/components/schemas/HRISLocationResult', }, }, }, @@ -11885,19 +11766,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Department Group', - tags: ['Groups'], + summary: 'Get Work Location', + tags: ['Locations'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_department_group', + 'x-speakeasy-name-override': 'get_location', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/groups/cost_centers/{id}': { + '/unified/hris/positions': { get: { - operationId: 'hris_get_cost_center_group', + operationId: 'hris_list_positions', parameters: [ { name: 'x-account-id', @@ -11908,14 +11789,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -11946,22 +11819,99 @@ export const hrisSpec = { required: false, in: 'query', description: - 'The comma separated list of fields that will be returned in the response (if empty, all fields are returned)', + 'The comma separated list of fields to return in the response (if empty, all fields are returned)', schema: { nullable: true, - 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', }, }, + { + 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', + }, + }, + { + name: 'status', + required: false, + in: 'query', + description: 'Filter positions by status', + 'x-speakeasy-unknown-values': 'allow', + schema: { + nullable: true, + example: 'open', + type: 'string', + enum: ['open', 'closed', 'paused', 'unmapped_value', null], + }, + }, ], responses: { '200': { - description: 'The cost center group with the given identifier was retrieved.', + description: 'The list of positions was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISCostCenterResult', + $ref: '#/components/schemas/PositionsPaginated', }, }, }, @@ -12100,19 +12050,32 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Cost Center Group', - tags: ['Groups'], + summary: 'List Positions', + tags: ['Positions'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_cost_center_group', + 'x-speakeasy-name-override': 'list_positions', + '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/positions/{id}': { get: { - operationId: 'hris_get_team_group', + operationId: 'hris_get_position', parameters: [ { name: 'x-account-id', @@ -12161,22 +12124,20 @@ export const hrisSpec = { required: false, in: 'query', description: - 'The comma separated list of fields that will be returned in the response (if empty, all fields are returned)', + 'The comma separated list of fields to return 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', }, }, ], responses: { '200': { - description: 'The team group with the given identifier was retrieved.', + description: 'The position with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/HRISTeamsResult', + $ref: '#/components/schemas/PositionResult', }, }, }, @@ -12315,19 +12276,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Team Group', - tags: ['Groups'], + summary: 'Get Position', + tags: ['Positions'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_team_group', + 'x-speakeasy-name-override': 'get_position', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/jobs': { + '/unified/hris/time_entries': { get: { - operationId: 'hris_list_jobs', + operationId: 'hris_list_time_entries', parameters: [ { name: 'x-account-id', @@ -12372,7 +12333,7 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', + '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', }, }, @@ -12380,7 +12341,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: { @@ -12393,6 +12354,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', @@ -12445,11 +12426,11 @@ export const hrisSpec = { ], responses: { '200': { - description: 'The list of jobs was retrieved.', + description: 'The list of time entries was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/JobsPaginated', + $ref: '#/components/schemas/TimeEntriesPaginated', }, }, }, @@ -12588,10 +12569,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Jobs', - tags: ['Jobs'], + summary: 'List Time Entries', + tags: ['Time Entries'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_jobs', + 'x-speakeasy-name-override': 'list_time_entries', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -12611,9 +12592,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/jobs/{id}': { + '/unified/hris/time_entries/{id}': { get: { - operationId: 'hris_get_job', + operationId: 'hris_get_time_entries', parameters: [ { name: 'x-account-id', @@ -12666,18 +12647,18 @@ export const hrisSpec = { schema: { nullable: true, example: - 'id,remote_id,name,type,parent_ids,remote_parent_ids,owner_ids,remote_owner_ids,company_id,remote_company_id', + '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 job with the given identifier was retrieved.', + description: 'The time entry with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/JobResult', + $ref: '#/components/schemas/TimeEntriesResult', }, }, }, @@ -12816,19 +12797,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Job', - tags: ['Jobs'], + summary: 'Get Time Entry', + tags: ['Time Entries'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_job', + 'x-speakeasy-name-override': 'get_time_entries', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/employees/{id}/skills': { + '/unified/hris/time_off': { get: { - operationId: 'hris_list_employee_skills', + operationId: 'hris_list_time_off_requests', parameters: [ { name: 'x-account-id', @@ -12839,14 +12820,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -12880,7 +12853,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,employee_id,remote_employee_id,approver_id,remote_approver_id,status,type,start_date,end_date,start_half_day,end_half_day,time_off_policy_id,remote_time_off_policy_id,reason,comment,duration,created_at,updated_at,policy', type: 'string', }, }, @@ -12888,7 +12862,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 filters', explode: true, style: 'deepObject', schema: { @@ -12901,6 +12875,14 @@ export const hrisSpec = { nullable: true, additionalProperties: false, }, + type_ids: { + description: 'List of time off type ids to filter by.', + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, }, nullable: true, type: 'object', @@ -12950,15 +12932,25 @@ 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: 'policy', + type: 'string', + }, + }, ], responses: { '200': { - description: - 'The skills related to the employee with the given identifier were retrieved.', + description: 'The list of time off requests was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/EntitySkillsPaginated', + $ref: '#/components/schemas/TimeOffPaginated', }, }, }, @@ -13097,10 +13089,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Employee Skills', - tags: ['Employees', 'Skills'], + summary: 'List time off requests', + tags: ['Time Off'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_employee_skills', + 'x-speakeasy-name-override': 'list_time_off_requests', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -13119,8 +13111,10 @@ export const hrisSpec = { strategy: 'backoff', }, }, - post: { - operationId: 'hris_create_employee_skill', + }, + '/unified/hris/time_off/{id}': { + get: { + operationId: 'hris_get_time_off_request', parameters: [ { name: 'x-account-id', @@ -13139,24 +13133,63 @@ 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,employee_id,remote_employee_id,approver_id,remote_approver_id,status,type,start_date,end_date,start_half_day,end_half_day,time_off_policy_id,remote_time_off_policy_id,reason,comment,duration,created_at,updated_at,policy', + type: 'string', + }, + }, + { + name: '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: { - '201': { - description: 'The skill was created successfully.', + '200': { + description: 'The time off request with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/CreateResult', + $ref: '#/components/schemas/TimeOffResult', }, }, }, @@ -13295,19 +13328,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Create Employee Skill', - tags: ['Employees', 'Skills'], + summary: 'Get time off request', + tags: ['Time Off'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'create_employee_skill', + 'x-speakeasy-name-override': 'get_time_off_request', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/employees/{id}/skills/{subResourceId}': { + '/unified/hris/shifts': { get: { - operationId: 'hris_get_employee_skill', + operationId: 'hris_list_shifts', parameters: [ { name: 'x-account-id', @@ -13318,22 +13351,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, - { - name: 'subResourceId', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -13364,22 +13381,109 @@ export const hrisSpec = { required: false, in: 'query', description: - 'The comma separated list of fields that will be returned in the response (if empty, all fields are returned)', + 'The comma separated list of fields to return in the response (if empty, all fields are returned)', schema: { nullable: true, - example: 'id,remote_id,name,active,language,maximum_proficiency,minimum_proficiency', + type: 'string', + }, + }, + { + name: 'filter', + required: false, + in: 'query', + description: 'HRIS Shifts 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, + }, + employee_id: { + description: 'Filter to select shifts by employee ID', + type: 'string', + nullable: true, + }, + status: { + description: 'Filter to select shifts by status', + type: 'string', + nullable: true, + enum: ['draft', 'published', 'confirmed', 'cancelled', 'unmapped_value'], + }, + starts_after: { + description: 'Filter shifts that start after this date', + type: 'string', + nullable: true, + format: 'date-time', + }, + ends_before: { + description: 'Filter shifts that end before this date', + type: 'string', + nullable: true, + format: 'date-time', + }, + }, + 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 skill related to the employee with the given identifiers was retrieved.', + description: 'The list of shifts was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/EntitySkillResult', + $ref: '#/components/schemas/HrisShiftsPaginated', }, }, }, @@ -13518,19 +13622,32 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Employee Skill', - tags: ['Employees', 'Skills'], + summary: 'List Shifts', + tags: ['Shifts'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_employee_skill', + 'x-speakeasy-name-override': 'list_shifts', + '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/shifts/{id}': { get: { - operationId: 'hris_list_time_off_policies', + operationId: 'hris_get_shift', parameters: [ { name: 'x-account-id', @@ -13541,6 +13658,14 @@ export const hrisSpec = { type: 'string', }, }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -13571,118 +13696,20 @@ export const hrisSpec = { 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', - }, - }, - { - 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, + 'The comma separated list of fields to return in the response (if empty, all fields are returned)', schema: { nullable: true, - example: '2020-01-01T00:00:00.000Z', type: 'string', }, }, ], responses: { '200': { - description: 'The list of time off policies was retrieved.', + description: 'The shift with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TimeOffPoliciesPaginated', + $ref: '#/components/schemas/HrisShiftResult', }, }, }, @@ -13821,32 +13848,20 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Time Off Policies', - tags: ['Time Off Policies'], + summary: 'Get Shift', + tags: ['Shifts'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_time_off_policies', - 'x-speakeasy-pagination': { - type: 'cursor', - inputs: [ - { - name: 'next', - in: 'parameters', - type: 'cursor', - }, - ], - outputs: { - nextCursor: '$.next', - }, - }, + 'x-speakeasy-name-override': 'get_shift', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/hris/time_off_policies/{id}': { + '/unified/hris/time_off_types': { get: { - operationId: 'hris_get_time_off_policy', + deprecated: true, + operationId: 'hris_list_time_off_types', parameters: [ { name: 'x-account-id', @@ -13857,14 +13872,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -13898,19 +13905,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,description,type,duration_unit,reasons,updated_at,created_at', + example: 'id,remote_id,name,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 time off policy with the given identifier was retrieved.', + description: 'The list of time off types was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TimeOffPolicyResult', + $ref: '#/components/schemas/ReferencePaginated', }, }, }, @@ -14049,19 +14121,33 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Time Off Policy', - tags: ['Time Off Policies'], + summary: 'List time off types', + tags: ['Time Off'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_time_off_policy', + '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', }, }, }, - '/unified/hris/employees/{id}/time_off_policies': { + '/unified/hris/time_off_types/{id}': { get: { - operationId: 'hris_list_employee_time_off_policies', + deprecated: true, + operationId: 'hris_get_time_off_type', parameters: [ { name: 'x-account-id', @@ -14113,29 +14199,235 @@ 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,description,type,duration_unit,reasons,updated_at,created_at', + example: 'id,remote_id,name,active', 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: { + ], + responses: { + '200': { + description: 'The time off type with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/ReferenceResult', + }, + }, + }, + }, + '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 time off type', + tags: ['Time Off'], + 'x-speakeasy-group': 'hris', + 'x-speakeasy-name-override': 'get_time_off_type', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/hris/time_off_policies': { + get: { + operationId: 'hris_list_time_off_policies', + parameters: [ + { + name: 'x-account-id', + in: 'header', + description: 'The account identifier', + required: true, + schema: { + type: 'string', + }, + }, + { + name: 'raw', + required: false, + in: 'query', + description: + 'Indicates that the raw request result should be returned in addition to the mapped result (default value is false)', + schema: { + nullable: true, + type: 'boolean', + }, + }, + { + name: 'proxy', + required: false, + in: 'query', + description: + "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", + style: 'deepObject', + explode: true, + schema: { + additionalProperties: true, + nullable: true, + type: 'object', + }, + }, + { + name: 'fields', + required: false, + in: 'query', + description: + 'The comma separated list of fields that will be returned in the response (if empty, all fields are returned)', + schema: { + nullable: true, + example: + 'id,remote_id,name,description,type,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', @@ -14217,8 +14509,7 @@ export const hrisSpec = { ], responses: { '200': { - description: - 'The time off policies related to the employee with the given identifier were retrieved.', + description: 'The list of time off policies was retrieved.', content: { 'application/json': { schema: { @@ -14361,10 +14652,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Assigned Time Off Policies', - tags: ['Employees', 'Time Off Policies'], + summary: 'List Time Off Policies', + tags: ['Time Off Policies'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_employee_time_off_policies', + 'x-speakeasy-name-override': 'list_time_off_policies', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -14384,9 +14675,9 @@ export const hrisSpec = { }, }, }, - '/unified/hris/employees/{id}/tasks': { + '/unified/hris/time_off_policies/{id}': { get: { - operationId: 'hris_list_employee_tasks', + operationId: 'hris_get_time_off_policy', parameters: [ { name: 'x-account-id', @@ -14439,26 +14730,1767 @@ export const hrisSpec = { schema: { nullable: true, 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', + 'id,remote_id,name,description,type,duration_unit,reasons,updated_at,created_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, + ], + responses: { + '200': { + description: 'The time off policy with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TimeOffPolicyResult', + }, + }, + }, + }, + '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 Time Off Policy', + tags: ['Time Off Policies'], + 'x-speakeasy-group': 'hris', + 'x-speakeasy-name-override': 'get_time_off_policy', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/hris/employees/{id}/time_off_policies': { + get: { + operationId: 'hris_list_employee_time_off_policies', + parameters: [ + { + name: 'x-account-id', + in: 'header', + description: 'The account identifier', + required: true, + schema: { + type: 'string', + }, + }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, + { + name: 'raw', + required: false, + in: 'query', + description: + 'Indicates that the raw request result should be returned in addition to the mapped result (default value is false)', + schema: { + nullable: true, + type: 'boolean', + }, + }, + { + name: 'proxy', + required: false, + in: 'query', + description: + "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", + style: 'deepObject', + explode: true, + schema: { + additionalProperties: true, + nullable: true, + type: 'object', + }, + }, + { + name: 'fields', + required: false, + in: 'query', + description: + 'The comma separated list of fields that will be returned in the response (if empty, all fields are returned)', + schema: { + nullable: true, + example: + 'id,remote_id,name,description,type,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', + }, + }, + ], + responses: { + '200': { + description: + 'The time off policies related to the employee with the given identifier were retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TimeOffPoliciesPaginated', + }, + }, + }, + }, + '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 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/benefits': { + get: { + operationId: 'hris_list_benefits', + 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,benefit_type,provider,description,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 Benefits was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/HRISBenefitsPaginated', + }, + }, + }, + }, + '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 benefits', + tags: ['Benefits'], + 'x-speakeasy-group': 'hris', + 'x-speakeasy-name-override': 'list_benefits', + '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/benefits/{id}': { + get: { + operationId: 'hris_get_benefit', + 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,benefit_type,provider,description,created_at,updated_at', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The Benefit with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/HRISBenefitResult', + }, + }, + }, + }, + '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 Benefit', + tags: ['Benefits'], + 'x-speakeasy-group': 'hris', + 'x-speakeasy-name-override': 'get_benefit', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/hris/employees/{id}/skills': { + get: { + operationId: 'hris_list_employee_skills', + 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,active,language,maximum_proficiency,minimum_proficiency', + 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 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: { + '201': { + description: 'The skill was created successfully.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/CreateResult', + }, + }, + }, + }, + '400': { + description: 'Invalid request.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/BadRequestResponse', + }, + }, + }, + }, + '401': { + description: 'Unauthorized access.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/UnauthorizedResponse', + }, + }, + }, + }, + '403': { + description: 'Forbidden.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/ForbiddenResponse', + }, + }, + }, + }, + '404': { + description: 'Resource not found.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/NotFoundResponse', + }, + }, + }, + }, + '408': { + description: 'The request has timed out.', + headers: { + 'Retry-After': { + description: 'A time in seconds after which the request can be retried.', + schema: { + type: 'string', + }, + }, + }, + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/RequestTimedOutResponse', + }, + }, + }, + }, + '409': { + description: 'Conflict with current state.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/ConflictResponse', + }, + }, + }, + }, + '412': { + description: 'Precondition failed: linked account belongs to a disabled integration.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/PreconditionFailedResponse', + }, + }, + }, + }, + '422': { + description: 'Validation error.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/UnprocessableEntityResponse', + }, + }, + }, + }, + '429': { + description: 'Too many requests.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TooManyRequestsResponse', + }, + }, + }, + }, + '500': { + description: 'Server error while executing the request.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/InternalServerErrorResponse', + }, + }, + }, + }, + '501': { + description: 'This functionality is not implemented.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/NotImplementedResponse', + }, + }, + }, + }, + '502': { + description: 'Bad gateway error.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/BadGatewayResponse', + }, + }, + }, + }, + }, + security: [ + { + basic: [], + }, + ], + summary: 'Create Employee Skill', + tags: ['Employees', 'Skills'], + 'x-speakeasy-group': 'hris', + 'x-speakeasy-name-override': 'create_employee_skill', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/hris/employees/{id}/skills/{subResourceId}': { + get: { + operationId: 'hris_get_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', + }, + }, + { + 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,name,active,language,maximum_proficiency,minimum_proficiency', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: + 'The skill related to the employee with the given identifiers was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/EntitySkillResult', + }, + }, + }, + }, + '400': { + description: 'Invalid request.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/BadRequestResponse', + }, + }, + }, + }, + '401': { + description: 'Unauthorized access.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/UnauthorizedResponse', + }, + }, + }, + }, + '403': { + description: 'Forbidden.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/ForbiddenResponse', + }, + }, + }, + }, + '404': { + description: 'Resource not found.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/NotFoundResponse', + }, + }, + }, + }, + '408': { + description: 'The request has timed out.', + headers: { + 'Retry-After': { + description: 'A time in seconds after which the request can be retried.', + schema: { + type: 'string', + }, + }, + }, + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/RequestTimedOutResponse', + }, + }, + }, + }, + '409': { + description: 'Conflict with current state.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/ConflictResponse', + }, + }, + }, + }, + '412': { + description: 'Precondition failed: linked account belongs to a disabled integration.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/PreconditionFailedResponse', + }, + }, + }, + }, + '422': { + description: 'Validation error.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/UnprocessableEntityResponse', + }, + }, + }, + }, + '429': { + description: 'Too many requests.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TooManyRequestsResponse', + }, + }, + }, + }, + '500': { + description: 'Server error while executing the request.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/InternalServerErrorResponse', + }, + }, + }, + }, + '501': { + description: 'This functionality is not implemented.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/NotImplementedResponse', + }, + }, + }, + }, + '502': { + description: 'Bad gateway error.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/BadGatewayResponse', + }, + }, + }, + }, + }, + security: [ + { + basic: [], + }, + ], + summary: 'Get Employee Skill', + tags: ['Employees', 'Skills'], + 'x-speakeasy-group': 'hris', + 'x-speakeasy-name-override': 'get_employee_skill', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/hris/employees/{id}/tasks': { + get: { + operationId: 'hris_list_employee_tasks', + parameters: [ + { + name: 'x-account-id', + in: 'header', + description: 'The account identifier', + required: true, + schema: { + type: 'string', + }, + }, + { + name: 'id', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, + { + name: 'raw', + required: false, + in: 'query', + description: + 'Indicates that the raw request result should be returned in addition to the mapped result (default value is false)', + schema: { + nullable: true, + type: 'boolean', + }, + }, + { + name: 'proxy', + required: false, + in: 'query', + description: + "Query parameters that can be used to pass through parameters to the underlying provider request by surrounding them with 'proxy' key", + style: 'deepObject', + explode: true, + schema: { + additionalProperties: true, + nullable: true, + type: 'object', + }, + }, + { + name: 'fields', + required: false, + in: 'query', + description: + 'The comma separated list of fields that will be returned in the response (if empty, all fields are returned)', + schema: { + nullable: true, + example: + 'id,remote_id,employee_id,remote_employee_id,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: '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, @@ -14466,46 +16498,294 @@ export const hrisSpec = { }, }, { - name: 'page', - required: false, - in: 'query', - description: 'The page number of the results to fetch', - deprecated: true, + 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', + }, + }, + { + 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 tasks for the employee with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TasksPaginated', + }, + }, + }, + }, + '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 Tasks', + tags: ['Employees', 'Tasks'], + 'x-speakeasy-group': 'hris', + 'x-speakeasy-name-override': 'list_employee_tasks', + '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/employees/{id}/tasks/{subResourceId}': { + get: { + operationId: 'hris_get_employee_task', + parameters: [ + { + name: 'x-account-id', + in: 'header', + description: 'The account identifier', + required: true, + schema: { + type: 'string', + }, + }, + { + name: 'id', + required: true, + in: 'path', schema: { - nullable: true, type: 'string', }, }, { - name: 'page_size', + name: 'subResourceId', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, + { + name: 'raw', required: false, in: 'query', - description: 'The number of results per page (default value is 25)', + description: + 'Indicates that the raw request result should be returned in addition to the mapped result (default value is false)', schema: { nullable: true, - type: 'string', + type: 'boolean', }, }, { - name: 'next', + name: 'proxy', required: false, in: 'query', - description: 'The unified cursor', + 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: 'string', + type: 'object', }, }, { - name: 'updated_after', + name: 'fields', required: false, in: 'query', description: - 'Use a string with a date to only select results updated after that given date', - deprecated: true, + 'The comma separated list of fields that will be returned in the response (if empty, all fields are returned)', schema: { nullable: true, - example: '2020-01-01T00:00:00.000Z', + 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', }, }, @@ -14523,12 +16803,212 @@ export const hrisSpec = { ], responses: { '200': { - description: - 'The list of tasks for the employee 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/TaskResult', + }, + }, + }, + }, + '400': { + description: 'Invalid request.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/BadRequestResponse', + }, + }, + }, + }, + '401': { + description: 'Unauthorized access.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/UnauthorizedResponse', + }, + }, + }, + }, + '403': { + description: 'Forbidden.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/ForbiddenResponse', + }, + }, + }, + }, + '404': { + description: 'Resource not found.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/NotFoundResponse', + }, + }, + }, + }, + '408': { + description: 'The request has timed out.', + headers: { + 'Retry-After': { + description: 'A time in seconds after which the request can be retried.', + schema: { + type: 'string', + }, + }, + }, + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/RequestTimedOutResponse', + }, + }, + }, + }, + '409': { + description: 'Conflict with current state.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/ConflictResponse', + }, + }, + }, + }, + '412': { + description: 'Precondition failed: linked account belongs to a disabled integration.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/PreconditionFailedResponse', + }, + }, + }, + }, + '422': { + description: 'Validation error.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/UnprocessableEntityResponse', + }, + }, + }, + }, + '429': { + description: 'Too many requests.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TooManyRequestsResponse', + }, + }, + }, + }, + '500': { + description: 'Server error while executing the request.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/InternalServerErrorResponse', + }, + }, + }, + }, + '501': { + description: 'This functionality is not implemented.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/NotImplementedResponse', + }, + }, + }, + }, + '502': { + description: 'Bad gateway error.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/BadGatewayResponse', + }, + }, + }, + }, + }, + security: [ + { + basic: [], + }, + ], + summary: 'Get Employee Task', + tags: ['Employees', 'Tasks'], + 'x-speakeasy-group': 'hris', + 'x-speakeasy-name-override': 'get_employee_task', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + patch: { + operationId: 'hris_complete_employee_task', + 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: 'proxy', + required: false, + in: 'query', + style: 'deepObject', + explode: true, + schema: {}, + }, + ], + requestBody: { + required: true, + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/CompleteTaskRequestDto', + }, + }, + }, + }, + responses: { + '200': { + description: 'The task has been successfully completed', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TasksPaginated', + $ref: '#/components/schemas/TaskResult', }, }, }, @@ -14667,32 +17147,19 @@ export const hrisSpec = { basic: [], }, ], - summary: 'List Employee Tasks', + summary: 'Complete Employee Task', tags: ['Employees', 'Tasks'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'list_employee_tasks', - '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', }, }, }, - '/unified/hris/employees/{id}/tasks/{subResourceId}': { + '/unified/hris/tasks': { get: { - operationId: 'hris_get_employee_task', + operationId: 'hris_list_tasks', parameters: [ { name: 'x-account-id', @@ -14703,22 +17170,6 @@ export const hrisSpec = { type: 'string', }, }, - { - name: 'id', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, - { - name: 'subResourceId', - required: true, - in: 'path', - schema: { - type: 'string', - }, - }, { name: 'raw', required: false, @@ -14757,6 +17208,72 @@ export const hrisSpec = { 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', + }, + }, { name: 'expand', required: false, @@ -14771,11 +17288,11 @@ export const hrisSpec = { ], responses: { '200': { - description: 'The task with the given identifier for the employee was retrieved.', + description: 'The list of tasks was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TaskResult', + $ref: '#/components/schemas/TasksPaginated', }, }, }, @@ -14914,17 +17431,32 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Get Employee Task', - tags: ['Employees', 'Tasks'], + summary: 'List Tasks', + tags: ['Tasks'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'get_employee_task', + 'x-speakeasy-name-override': 'list_tasks', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, - patch: { - operationId: 'hris_complete_employee_task', + }, + '/unified/hris/tasks/{id}': { + get: { + operationId: 'hris_get_task', parameters: [ { name: 'x-account-id', @@ -14944,35 +17476,58 @@ export const hrisSpec = { }, }, { - name: 'subResourceId', - required: true, - in: 'path', + 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: { - type: 'string', + 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: {}, + schema: { + additionalProperties: true, + nullable: true, + type: 'object', + }, }, - ], - requestBody: { - required: true, - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/CompleteTaskRequestDto', - }, + { + 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,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 task has been successfully completed', + description: 'The task with the given identifier was retrieved.', content: { 'application/json': { schema: { @@ -15115,10 +17670,10 @@ export const hrisSpec = { basic: [], }, ], - summary: 'Complete Employee Task', - tags: ['Employees', 'Tasks'], + summary: 'Get Task', + tags: ['Tasks'], 'x-speakeasy-group': 'hris', - 'x-speakeasy-name-override': 'complete_employee_task', + 'x-speakeasy-name-override': 'get_task', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', @@ -15135,67 +17690,75 @@ export const hrisSpec = { tags: [ { name: 'Benefits', - description: '', + description: 'Employee benefits and entitlements.', }, { name: 'Companies', - description: '', + description: 'Organizations or legal entities.', }, { name: 'Custom Field Definitions', - description: '', + description: 'Definitions for custom fields.', }, { name: 'Documents', - description: '', + description: 'Employee related documents.', }, { name: 'Employees', - description: '', + description: 'People employed by the company.', }, { name: 'Employments', - description: '', + description: "Details of an employee's employment.", }, { name: 'Groups', - description: '', + description: 'Organizational groups or teams.', }, { name: 'Jobs', - description: '', + description: 'Job positions or roles.', }, { name: 'Locations', - description: '', + description: 'Physical or virtual work locations.', + }, + { + name: 'Positions', + description: 'Job positions available for hiring.', + }, + { + name: 'Shifts', + description: 'Employee work shifts and schedules.', }, { name: 'Skills', - description: '', + description: 'Skills and competencies tracked for employees.', }, { name: 'Tasks', - description: '', + description: 'Tasks or assignments for employees.', }, { name: 'Time Entries', - description: '', + description: 'Records of hours worked or activities performed.', }, { name: 'Time Off', - description: '', + description: 'Employee leave and time off records.', }, { name: 'Time Off Balances', - description: '', + description: 'Available leave balances for employees.', }, { name: 'Time Off Policies', - description: '', + description: 'Rules and policies for employee leave.', }, { name: 'Work Eligibility', - description: '', + description: 'Eligibility status for employment.', }, ], servers: [ @@ -16382,28 +18945,24 @@ export const hrisSpec = { }, options: { description: 'An array of possible options for the custom field.', - example: ['Not Started', 'In Progress', 'Completed', 'Overdue'], + example: [ + { + id: 'option_1', + value: 'Not Started', + }, + { + id: 'option_2', + value: 'In Progress', + }, + { + id: 'option_3', + value: 'Completed', + }, + ], nullable: true, type: 'array', items: { - oneOf: [ - { - type: 'string', - }, - { - type: 'number', - }, - { - type: 'boolean', - }, - { - type: 'object', - }, - { - type: 'array', - items: {}, - }, - ], + $ref: '#/components/schemas/CustomFieldOption', }, }, }, @@ -16452,6 +19011,23 @@ export const hrisSpec = { }, required: ['data'], }, + CustomFieldOption: { + type: 'object', + properties: { + id: { + type: 'string', + description: + 'The unique identifier for the option to be used when updating the custom field', + example: 'option_123', + }, + value: { + type: 'string', + description: 'The human readable value of the option', + example: 'Not Started', + }, + }, + required: ['id', 'value'], + }, CustomFields: { type: 'object', properties: { @@ -16573,9 +19149,51 @@ export const hrisSpec = { format: 'date-time', }, }, - required: ['statusCode', 'message', 'timestamp'], + required: ['statusCode', 'message', 'timestamp'], + }, + DepartmentTypeEnum: { + type: 'object', + properties: { + value: { + type: 'string', + enum: [ + 'department', + 'company', + 'division', + 'group', + 'project', + 'team', + 'unmapped_value', + null, + ], + example: 'department', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + source_value: { + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + nullable: true, + }, + }, }, - DepartmentTypeEnum: { + DivisionTypeEnum: { type: 'object', properties: { value: { @@ -16586,11 +19204,12 @@ export const hrisSpec = { 'division', 'group', 'project', + 'cost_center', 'team', 'unmapped_value', null, ], - example: 'department', + example: 'division', 'x-speakeasy-unknown-values': 'allow', nullable: true, }, @@ -20008,6 +22627,13 @@ export const hrisSpec = { }, ], }, + comment: { + type: 'string', + description: + 'Allows users to provide additional context or notes for their time off request', + example: 'Taking a day off for personal reasons', + nullable: true, + }, passthrough: { type: 'object', description: 'Value to pass through to the provider', @@ -20216,6 +22842,141 @@ export const hrisSpec = { }, required: ['data'], }, + HRISDivision: { + 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 group', + example: 'Engineering', + nullable: true, + }, + parent_ids: { + description: 'The list of parent group ids of the given group', + example: ['cxIQNjUyNDM0', 'cxIQNjQzNzI0MQ'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + remote_parent_ids: { + description: "Provider's list of parent group remote ids of the given group", + example: ['652434', '6437241'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + owner_ids: { + description: 'The list of group owner ids of the given group', + example: ['cxIQNjUyEDM0', 'cxIQNjQzNzA0MQ'], + nullable: true, + type: 'array', + items: { + type: 'string', + }, + }, + remote_owner_ids: { + description: 'The list of remote group owner ids of the given group', + example: ['475364', '4327652'], + nullable: true, + type: 'array', + items: { + 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 division group', + example: 'division', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/DivisionTypeEnum', + }, + ], + }, + }, + }, + HRISDivisionsPaginated: { + type: 'object', + properties: { + next_page: { + type: 'string', + deprecated: true, + nullable: true, + }, + next: { + type: 'string', + nullable: true, + }, + data: { + type: 'array', + items: { + $ref: '#/components/schemas/HRISDivision', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + required: ['data'], + }, + HRISDivisionsResult: { + type: 'object', + properties: { + data: { + $ref: '#/components/schemas/HRISDivision', + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + required: ['data'], + }, HrisDocumentApiModel: { type: 'object', properties: { @@ -20760,46 +23521,190 @@ export const hrisSpec = { example: 'NG33 5NR', nullable: true, }, - country: { - description: 'The country code', + country: { + description: 'The country code', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/CountryCodeEnum', + }, + ], + }, + location_type: { + description: 'The location type', + example: 'work', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/LocationTypeEnum', + }, + ], + }, + 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, + }, + }, + }, + HRISLocationResult: { + type: 'object', + properties: { + data: { + $ref: '#/components/schemas/HRISLocation', + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + required: ['data'], + }, + HRISLocationsPaginated: { + type: 'object', + properties: { + next_page: { + type: 'string', + deprecated: true, + nullable: true, + }, + next: { + type: 'string', + nullable: true, + }, + data: { + type: 'array', + items: { + $ref: '#/components/schemas/HRISLocation', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + required: ['data'], + }, + HrisShift: { + 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 shift', + example: 'emp_123456789', + nullable: true, + }, + location_id: { + type: 'string', + description: 'The location ID where this shift takes place', + example: 'loc_123456789', + nullable: true, + }, + company_id: { + type: 'string', + description: 'The company ID associated with this shift', + example: 'comp_123456789', + nullable: true, + }, + start_time: { + type: 'string', + description: 'The start time of the shift', + example: '2024-03-20T09:00:00Z', + format: 'date-time', + nullable: true, + }, + end_time: { + type: 'string', + description: 'The end time of the shift', + example: '2024-03-20T17:00:00Z', + format: 'date-time', + nullable: true, + }, + break_duration: { + type: 'string', + description: 'The total break duration for this shift in ISO 8601 duration format', + example: 'PT1H30M', + nullable: true, + }, + status: { + description: 'The status of the shift', nullable: true, allOf: [ { - $ref: '#/components/schemas/CountryCodeEnum', + $ref: '#/components/schemas/ShiftStatusEnum', }, ], }, - location_type: { - description: 'The location type', - example: 'work', + approval_status: { + description: 'The approval status of the shift', nullable: true, allOf: [ { - $ref: '#/components/schemas/LocationTypeEnum', + $ref: '#/components/schemas/ShiftApprovalStatusEnum', }, ], }, + breaks: { + description: 'The breaks taken during this shift', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/ShiftBreak', + }, + }, created_at: { type: 'string', - description: 'The created_at date', - example: '2021-01-01T01:01:01.000Z', + description: 'The date and time the shift was created', + example: '2024-03-20T08:00:00Z', format: 'date-time', nullable: true, }, updated_at: { type: 'string', - description: 'The updated_at date', - example: '2021-01-01T01:01:01.000Z', + description: 'The date and time the shift was last updated', + example: '2024-03-20T08:00:00Z', format: 'date-time', nullable: true, }, }, }, - HRISLocationResult: { + HrisShiftResult: { type: 'object', properties: { data: { - $ref: '#/components/schemas/HRISLocation', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/HrisShift', + }, + ], }, raw: { nullable: true, @@ -20809,24 +23714,19 @@ export const hrisSpec = { }, }, }, - required: ['data'], }, - HRISLocationsPaginated: { + HrisShiftsPaginated: { type: 'object', properties: { - next_page: { - type: 'string', - deprecated: true, - nullable: true, - }, next: { type: 'string', nullable: true, }, data: { + nullable: true, type: 'array', items: { - $ref: '#/components/schemas/HRISLocation', + $ref: '#/components/schemas/HrisShift', }, }, raw: { @@ -20837,7 +23737,6 @@ export const hrisSpec = { }, }, }, - required: ['data'], }, HRISTeam: { type: 'object', @@ -22560,6 +25459,154 @@ export const hrisSpec = { }, }, }, + Position: { + 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, + }, + job_id: { + type: 'string', + description: 'Job ID from the HRIS provider', + example: 'JOB-12345', + nullable: true, + }, + title: { + type: 'string', + description: 'Title of the position', + example: 'Senior Software Engineer', + nullable: true, + }, + description: { + type: 'string', + description: 'Description of the position', + example: 'Responsible for developing and maintaining software applications', + nullable: true, + }, + department_id: { + type: 'string', + description: 'Department ID associated with the position', + example: 'dept-123', + nullable: true, + }, + location_id: { + type: 'string', + description: 'Location ID associated with the position', + example: 'loc-456', + nullable: true, + }, + employment_type: { + type: 'string', + description: 'Employment type for the position', + example: 'full-time', + nullable: true, + }, + status: { + description: 'Status of the position', + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/PositionStatusEnum', + }, + ], + }, + posted_date: { + type: 'string', + description: 'Date when the position was posted', + example: '2024-01-15T10:00:00.000Z', + format: 'date-time', + nullable: true, + }, + }, + }, + PositionResult: { + type: 'object', + properties: { + data: { + $ref: '#/components/schemas/Position', + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + required: ['data'], + }, + PositionsPaginated: { + type: 'object', + properties: { + next_page: { + type: 'string', + deprecated: true, + nullable: true, + }, + next: { + type: 'string', + nullable: true, + }, + data: { + type: 'array', + items: { + $ref: '#/components/schemas/Position', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + required: ['data'], + }, + PositionStatusEnum: { + type: 'object', + properties: { + value: { + type: 'string', + enum: ['open', 'closed', 'paused', 'unmapped_value', null], + description: 'The status of the position.', + example: 'open', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + source_value: { + description: 'The source value of the position status.', + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + nullable: true, + }, + }, + }, PreconditionFailedResponse: { type: 'object', properties: { @@ -23065,6 +26112,127 @@ export const hrisSpec = { }, }, }, + ShiftApprovalStatusEnum: { + type: 'object', + properties: { + value: { + type: 'string', + description: 'The approval status of the shift', + enum: ['pending', 'approved', 'rejected', 'unmapped_value', null], + example: 'approved', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + source_value: { + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + example: 'Approved', + nullable: true, + }, + }, + }, + ShiftBreak: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'The unique identifier of the break', + example: 'break_123456789', + nullable: true, + }, + start_time: { + type: 'string', + description: 'The start time of the break', + example: '2024-03-20T12:00:00Z', + format: 'date-time', + nullable: true, + }, + end_time: { + type: 'string', + description: 'The end time of the break', + example: '2024-03-20T13:00:00Z', + format: 'date-time', + nullable: true, + }, + duration: { + type: 'string', + description: 'The duration of the break in ISO 8601 duration format', + example: 'PT1H', + nullable: true, + }, + is_paid: { + type: 'boolean', + description: 'Whether the break is paid', + example: true, + nullable: true, + }, + created_at: { + type: 'string', + description: 'The date and time the break was created', + example: '2024-03-20T10:00:00Z', + format: 'date-time', + nullable: true, + }, + updated_at: { + type: 'string', + description: 'The date and time the break was last updated', + example: '2024-03-20T10:00:00Z', + format: 'date-time', + nullable: true, + }, + }, + }, + ShiftStatusEnum: { + type: 'object', + properties: { + value: { + type: 'string', + description: 'The status of the shift', + enum: ['draft', 'published', 'confirmed', 'cancelled', 'unmapped_value', null], + example: 'confirmed', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + source_value: { + oneOf: [ + { + type: 'string', + }, + { + type: 'number', + }, + { + type: 'boolean', + }, + { + type: 'object', + }, + { + type: 'array', + items: {}, + }, + ], + example: 'Confirmed', + nullable: true, + }, + }, + }, Task: { type: 'object', properties: { @@ -23714,6 +26882,13 @@ export const hrisSpec = { }, ], }, + comment: { + type: 'string', + description: + 'Allows users to provide additional context or notes for their time off request', + example: 'Taking a day off for personal reasons', + nullable: true, + }, }, }, TimeOffBalanceResult: { diff --git a/src/openapi/generated/iam.ts b/src/openapi/generated/iam.ts index 35269a4..9679c81 100644 --- a/src/openapi/generated/iam.ts +++ b/src/openapi/generated/iam.ts @@ -2464,27 +2464,27 @@ export const iamSpec = { tags: [ { name: 'Users', - description: '', + description: 'People or accounts with access to the system.', }, { name: 'Roles', - description: '', + description: 'Roles assigned to users for access control.', }, { name: 'Groups', - description: '', + description: 'Groups for organizing users.', }, { name: 'Policies', - description: '', + description: 'Security and access policies.', }, { name: 'Permissions', - description: '', + description: 'Specific permissions granted to users or roles.', }, { name: 'Resources', - description: '', + description: 'Resources that can be accessed or managed.', }, ], servers: [ diff --git a/src/openapi/generated/lms.ts b/src/openapi/generated/lms.ts index 3907b90..1921497 100644 --- a/src/openapi/generated/lms.ts +++ b/src/openapi/generated/lms.ts @@ -3,185 +3,6 @@ export const lmsSpec = { openapi: '3.1.0', paths: { - '/unified/lms/courses/batch': { - post: { - operationId: 'lms_batch_upsert_course', - 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/LmsBatchUpsertCourseRequestDto', - }, - }, - }, - }, - responses: { - '202': { - description: 'Batch operation accepted', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/BatchResultApiModel', - }, - }, - }, - }, - '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: 'Batch Upsert Course', - tags: ['Courses'], - 'x-speakeasy-group': 'lms', - 'x-speakeasy-name-override': 'batch_upsert_course', - 'x-speakeasy-retries': { - statusCodes: [429, 408], - strategy: 'backoff', - }, - }, - }, '/unified/lms/courses': { get: { operationId: 'lms_list_courses', @@ -229,7 +50,7 @@ export const lmsSpec = { schema: { nullable: true, example: - 'id,remote_id,external_reference,content_ids,remote_content_ids,title,description,languages,cover_url,url,active,duration,categories,skills,updated_at,created_at,content,provider,localizations', + 'id,remote_id,external_reference,content_ids,remote_content_ids,title,description,languages,cover_url,url,active,duration,categories,skills,updated_at,created_at,content,provider,localizations,authors', type: 'string', }, }, @@ -472,8 +293,10 @@ export const lmsSpec = { strategy: 'backoff', }, }, - put: { - operationId: 'lms_upsert_course', + }, + '/unified/lms/courses/{id}': { + get: { + operationId: 'lms_get_course', parameters: [ { name: 'x-account-id', @@ -484,24 +307,58 @@ export const lmsSpec = { type: 'string', }, }, - ], - requestBody: { - required: true, - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/LmsUpsertCourseRequestDto', - }, + { + 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 that will be returned in the response (if empty, all fields are returned)', + schema: { + nullable: true, + example: + 'id,remote_id,external_reference,content_ids,remote_content_ids,title,description,languages,cover_url,url,active,duration,categories,skills,updated_at,created_at,content,provider,localizations,authors', + type: 'string', + }, + }, + ], responses: { - '201': { - description: 'The course was upserted successfully.', + '200': { + description: 'The course with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/UpsertResult', + $ref: '#/components/schemas/CourseResult', }, }, }, @@ -640,19 +497,19 @@ export const lmsSpec = { basic: [], }, ], - summary: 'Upsert Course', + summary: 'Get Course', tags: ['Courses'], 'x-speakeasy-group': 'lms', - 'x-speakeasy-name-override': 'upsert_course', + 'x-speakeasy-name-override': 'get_course', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/lms/courses/{id}': { + '/unified/lms/users/{id}/assignments': { get: { - operationId: 'lms_get_course', + operationId: 'lms_list_user_assignments', parameters: [ { name: 'x-account-id', @@ -703,220 +560,7 @@ export const lmsSpec = { schema: { nullable: true, example: - 'id,remote_id,external_reference,content_ids,remote_content_ids,title,description,languages,cover_url,url,active,duration,categories,skills,updated_at,created_at,content,provider,localizations', - type: 'string', - }, - }, - ], - responses: { - '200': { - description: 'The course with the given identifier was retrieved.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/CourseResult', - }, - }, - }, - }, - '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 Course', - tags: ['Courses'], - 'x-speakeasy-group': 'lms', - 'x-speakeasy-name-override': 'get_course', - 'x-speakeasy-retries': { - statusCodes: [429, 408], - strategy: 'backoff', - }, - }, - }, - '/unified/lms/users/{id}/assignments': { - get: { - operationId: 'lms_list_user_assignments', - 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 that will be returned in the response (if empty, all fields are returned)', - schema: { - nullable: true, - example: - 'id,remote_id,external_reference,user_id,remote_user_id,course_id,remote_course_id,updated_at,created_at,due_date,status,progress,learning_object_type,learning_object_id,remote_learning_object_id,learning_object_external_reference', + 'id,remote_id,external_reference,user_id,remote_user_id,course_id,remote_course_id,updated_at,created_at,due_date,status,progress,learning_object_type,learning_object_id,remote_learning_object_id,learning_object_external_reference', type: 'string', }, }, @@ -1814,7 +1458,7 @@ export const lmsSpec = { schema: { nullable: true, example: - 'id,remote_id,external_reference,course_ids,remote_course_ids,title,description,additional_data,languages,content_url,mobile_launch_content_url,content_type,cover_url,active,duration,order,categories,skills,updated_at,created_at,provider,localizations,tags', + 'id,remote_id,external_reference,course_ids,remote_course_ids,title,description,additional_data,languages,content_url,mobile_launch_content_url,content_type,cover_url,active,duration,order,categories,skills,updated_at,created_at,provider,localizations,tags,authors', type: 'string', }, }, @@ -2283,7 +1927,7 @@ export const lmsSpec = { schema: { nullable: true, example: - 'id,remote_id,external_reference,course_ids,remote_course_ids,title,description,additional_data,languages,content_url,mobile_launch_content_url,content_type,cover_url,active,duration,order,categories,skills,updated_at,created_at,provider,localizations,tags', + 'id,remote_id,external_reference,course_ids,remote_course_ids,title,description,additional_data,languages,content_url,mobile_launch_content_url,content_type,cover_url,active,duration,order,categories,skills,updated_at,created_at,provider,localizations,tags,authors', type: 'string', }, }, @@ -5597,470 +5241,65 @@ export const lmsSpec = { 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', - }, - }, - { - name: 'user_id', - required: false, - in: 'query', - description: 'The user ID associated with this assignment', - schema: { - nullable: true, - example: 'c28xyrc55866bvuv', - type: 'string', - }, - }, - { - name: 'remote_user_id', - required: false, - in: 'query', - description: "Provider's unique identifier of the user related to the assignment", - schema: { - nullable: true, - example: 'e3cb75bf-aa84-466e-a6c1-b8322b257a48', - type: 'string', - }, - }, - ], - responses: { - '200': { - description: 'The list of assignments was retrieved.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/AssignmentsPaginated', - }, - }, - }, - }, - '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 Assignments', - tags: ['Assignments'], - 'x-speakeasy-group': 'lms', - 'x-speakeasy-name-override': 'list_assignments', - 'x-speakeasy-pagination': { - type: 'cursor', - inputs: [ - { - name: 'next', - in: 'parameters', - type: 'cursor', - }, - ], - outputs: { - nextCursor: '$.next', - }, - }, - 'x-speakeasy-retries': { - statusCodes: [429, 408], - strategy: 'backoff', - }, - }, - }, - '/unified/lms/assignments/{id}': { - get: { - operationId: 'lms_get_assignment', - 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', - }, - }, - ], - responses: { - '200': { - description: 'The assignment with the given identifier was retrieved.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/AssignmentResult', - }, - }, - }, - }, - '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', - }, - }, + description: 'The number of results per page (default value is 25)', + schema: { + nullable: true, + type: 'string', }, }, - '502': { - description: 'Bad gateway error.', - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/BadGatewayResponse', - }, - }, + { + name: 'next', + required: false, + in: 'query', + description: 'The unified cursor', + schema: { + nullable: true, + type: 'string', }, }, - }, - security: [ { - basic: [], + 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', + }, }, - ], - summary: 'Get Assignment', - tags: ['Assignments'], - 'x-speakeasy-group': 'lms', - 'x-speakeasy-name-override': 'get_assignment', - 'x-speakeasy-retries': { - statusCodes: [429, 408], - strategy: 'backoff', - }, - }, - }, - '/unified/lms/collections': { - post: { - operationId: 'lms_create_collection', - parameters: [ { - name: 'x-account-id', - in: 'header', - description: 'The account identifier', - required: true, + name: 'user_id', + required: false, + in: 'query', + description: 'The user ID associated with this assignment', schema: { + nullable: true, + example: 'c28xyrc55866bvuv', type: 'string', }, }, - ], - requestBody: { - required: true, - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/LmsCreateCollectionRequestDto', - }, + { + name: 'remote_user_id', + required: false, + in: 'query', + description: "Provider's unique identifier of the user related to the assignment", + schema: { + nullable: true, + example: 'e3cb75bf-aa84-466e-a6c1-b8322b257a48', + type: 'string', }, }, - }, + ], responses: { - '201': { - description: 'The collection was created successfully.', + '200': { + description: 'The list of assignments was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/CreateResult', + $ref: '#/components/schemas/AssignmentsPaginated', }, }, }, @@ -6199,19 +5438,32 @@ export const lmsSpec = { basic: [], }, ], - summary: 'Create Collection', - tags: ['Collections'], + summary: 'List Assignments', + tags: ['Assignments'], 'x-speakeasy-group': 'lms', - 'x-speakeasy-name-override': 'create_collection', + 'x-speakeasy-name-override': 'list_assignments', + 'x-speakeasy-pagination': { + type: 'cursor', + inputs: [ + { + name: 'next', + in: 'parameters', + type: 'cursor', + }, + ], + outputs: { + nextCursor: '$.next', + }, + }, 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/lms/collections/{id}': { - patch: { - operationId: 'lms_update_collection', + '/unified/lms/assignments/{id}': { + get: { + operationId: 'lms_get_assignment', parameters: [ { name: 'x-account-id', @@ -6230,24 +5482,50 @@ export const lmsSpec = { type: 'string', }, }, - ], - requestBody: { - required: true, - content: { - 'application/json': { - schema: { - $ref: '#/components/schemas/LmsCreateCollectionRequestDto', - }, + { + 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', + }, + }, + ], responses: { - '201': { - description: 'The collection was updated successfully.', + '200': { + description: 'The assignment with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/UpdateResult', + $ref: '#/components/schemas/AssignmentResult', }, }, }, @@ -6386,10 +5664,10 @@ export const lmsSpec = { basic: [], }, ], - summary: 'Update Collection', - tags: ['Collections'], + summary: 'Get Assignment', + tags: ['Assignments'], 'x-speakeasy-group': 'lms', - 'x-speakeasy-name-override': 'update_collection', + 'x-speakeasy-name-override': 'get_assignment', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', @@ -6406,35 +5684,35 @@ export const lmsSpec = { tags: [ { name: 'Courses', - description: '', + description: 'Collections of learning materials or modules.', }, { name: 'Content', - description: '', + description: 'Learning content or materials.', }, { name: 'Categories', - description: '', + description: 'Categories for organizing learning content.', }, { name: 'Users', - description: '', + description: 'People enrolled in or using the LMS.', }, { name: 'Skills', - description: '', + description: 'Skills or competencies taught or tracked.', }, { name: 'Assignments', - description: '', + description: 'Tasks or assignments for learners.', }, { name: 'Completions', - description: '', + description: 'Records of completed assignments or courses.', }, { name: 'Collections', - description: '', + description: 'Groups of courses or learning resources.', }, ], servers: [ @@ -6679,6 +5957,23 @@ export const lmsSpec = { }, }, }, + AuthorModel: { + type: 'object', + properties: { + id: { + type: 'string', + description: 'The ID of the author', + example: '123', + nullable: true, + }, + name: { + type: 'string', + description: 'The name of the author', + example: 'John Doe', + nullable: true, + }, + }, + }, BadGatewayResponse: { type: 'object', properties: { @@ -6827,9 +6122,17 @@ export const lmsSpec = { nullable: true, }, active: { - type: 'boolean', description: 'Whether the category is active and therefore available for use', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], nullable: true, }, hierarchy: { @@ -7234,9 +6537,17 @@ export const lmsSpec = { nullable: true, }, active: { - type: 'boolean', description: 'Whether the content is active and available for users.', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], nullable: true, }, duration: { @@ -7323,6 +6634,20 @@ export const lmsSpec = { type: 'string', }, }, + authors: { + description: 'The authors of the content', + example: [ + { + id: '123', + name: 'John Doe', + }, + ], + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/AuthorModel', + }, + }, updated_at: { type: 'string', description: 'The date on which the content was last updated.', @@ -7501,9 +6826,17 @@ export const lmsSpec = { nullable: true, }, active: { - type: 'boolean', description: 'Whether the course is active and available for users.', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], nullable: true, }, duration: { @@ -7549,6 +6882,20 @@ export const lmsSpec = { format: 'string', nullable: true, }, + authors: { + description: 'The authors of the course', + example: [ + { + id: '123', + name: 'John Doe', + }, + ], + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/AuthorModel', + }, + }, updated_at: { type: 'string', description: 'The date on which the course was last updated.', @@ -7649,59 +6996,16 @@ export const lmsSpec = { { $ref: '#/components/schemas/CategoryLevelEnumModel', }, - ], - }, - language: { - description: 'The language associated with this category', - nullable: true, - allOf: [ - { - $ref: '#/components/schemas/LanguageEnum', - }, - ], - }, - }, - }, - CreateContentApiModel: { - type: 'object', - properties: { - external_reference: { - type: 'string', - description: 'The external ID associated with this content', - example: 'SOFTWARE-ENG-LV1-TRAINING-VIDEO-1', - nullable: true, - }, - title: { - type: 'string', - description: 'The title of the content', - example: 'Software Engineer Lv 1', - nullable: true, - }, - description: { - type: 'string', - description: 'The description of the content', - example: 'This video acts as learning content for software engineers.', - nullable: true, - }, - content_url: { - type: 'string', - description: 'The external URL of the content', - example: 'https://www.youtube.com/watch?v=16873', - nullable: true, - }, - mobile_launch_content_url: { - type: 'string', - description: 'The mobile friendly URL of the content', - example: 'https://www.mobile.youtube.com/watch?v=16873', - nullable: true, - }, - order: { - type: 'number', - description: - 'The order of the individual content within a content grouping. This is not applicable for pushing individual content.', - example: 1, - format: 'number', + ], + }, + language: { + description: 'The language associated with this category', nullable: true, + allOf: [ + { + $ref: '#/components/schemas/LanguageEnum', + }, + ], }, }, }, @@ -8345,20 +7649,6 @@ export const lmsSpec = { }, required: ['items'], }, - LmsBatchUpsertCourseRequestDto: { - type: 'object', - properties: { - items: { - description: 'The batch of items to upsert', - nullable: false, - type: 'array', - items: { - $ref: '#/components/schemas/LmsUpsertCourseRequestDto', - }, - }, - }, - required: ['items'], - }, LmsCreateAssignmentRequestDto: { type: 'object', properties: { @@ -8421,91 +7711,6 @@ export const lmsSpec = { }, }, }, - LmsCreateCollectionRequestDto: { - 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, - }, - external_reference: { - type: 'string', - description: 'The external ID associated with this collection', - example: 'SOFTWARE-ENG-LV1-TRAINING-collection-1', - nullable: true, - }, - learning_object_ids: { - description: 'The child ID/IDs associated with this collection', - example: ['16873-SOFTWARE-ENG-COURSE', '16874-SOFTWARE-ENG-COURSE'], - nullable: true, - type: 'array', - items: { - type: 'string', - }, - }, - remote_learning_object_ids: { - description: - "Provider's unique identifiers of the child ID/IDs associated with this collection", - example: [ - 'e3cb75bf-aa84-466e-a6c1-b8322b257a48', - 'e3cb75bf-aa84-466e-a6c1-b8322b257a49', - ], - nullable: true, - type: 'array', - items: { - type: 'string', - }, - }, - title: { - type: 'string', - description: 'The title of the collection', - example: 'Software Engineer Lv 1 Collection', - nullable: true, - }, - description: { - type: 'string', - description: 'The description of the collection', - example: 'This collection acts as learning pathway for software engineers.', - nullable: true, - }, - languages: { - description: 'The languages associated with this collection', - nullable: true, - type: 'array', - items: { - type: 'string', - }, - }, - cover_url: { - type: 'string', - description: 'The URL of the thumbnail image associated with the collection.', - example: 'https://www.googledrive.com/?v=16873', - nullable: true, - }, - categories: { - description: 'The categories associated with this content', - nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/CreateCategoriesApiModel', - }, - }, - skills: { - description: 'The skills associated with this content', - nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/CreateSkillsApiModel', - }, - }, - }, - }, LmsCreateCompletionRequestDto: { type: 'object', properties: { @@ -8638,9 +7843,17 @@ export const lmsSpec = { nullable: true, }, active: { - type: 'boolean', description: 'Whether the content is active and available for users.', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], nullable: true, }, duration: { @@ -8715,6 +7928,20 @@ export const lmsSpec = { type: 'string', }, }, + authors: { + description: 'The authors of the content', + example: [ + { + id: '123', + name: 'John Doe', + }, + ], + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/AuthorModel', + }, + }, updated_at: { type: 'string', description: 'The date on which the content was last updated.', @@ -8819,9 +8046,17 @@ export const lmsSpec = { nullable: true, }, active: { - type: 'boolean', description: 'Whether the content is active and available for users.', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], nullable: true, }, duration: { @@ -8896,6 +8131,20 @@ export const lmsSpec = { type: 'string', }, }, + authors: { + description: 'The authors of the content', + example: [ + { + id: '123', + name: 'John Doe', + }, + ], + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/AuthorModel', + }, + }, updated_at: { type: 'string', description: 'The date on which the content was last updated.', @@ -8928,123 +8177,6 @@ export const lmsSpec = { }, }, }, - LmsUpsertCourseRequestDto: { - 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, - }, - external_reference: { - type: 'string', - description: 'The external ID associated with this course', - example: 'SOFTWARE-ENG-LV1-TRAINING-VIDEO-1', - nullable: true, - }, - title: { - type: 'string', - description: 'The title of the course', - example: 'Software Engineer Lv 1', - nullable: true, - }, - description: { - type: 'string', - description: 'The description of the course', - example: 'This course acts as learning content for software engineers.', - nullable: true, - }, - languages: { - description: 'The languages associated with this course', - nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/LanguageEnum', - }, - }, - cover_url: { - type: 'string', - description: 'The URL of the thumbnail image associated with the course.', - example: 'https://www.googledrive.com/?v=16873', - nullable: true, - }, - url: { - type: 'string', - description: 'The redirect URL of the course.', - example: 'https://www.linkedinlearning.com/?v=16873', - nullable: true, - }, - active: { - type: 'boolean', - description: 'Whether the course is active and available for users.', - example: true, - nullable: true, - }, - duration: { - type: 'string', - description: - 'The duration of the course following the ISO8601 standard. If duration_unit is applicable we will derive this from the smallest unit given in the duration string', - example: 'P3Y6M4DT12H30M5S', - format: 'string', - nullable: true, - }, - categories: { - description: 'The categories associated with this content', - nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/CreateCategoriesApiModel', - }, - }, - skills: { - description: 'The skills associated with this content', - nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/CreateSkillsApiModel', - }, - }, - content: { - description: 'The content associated with this course', - nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/CreateContentApiModel', - }, - }, - localizations: { - description: 'The localization data for this course', - example: [ - { - title: 'Software Engineer Lv 1', - description: 'This course acts as learning resource for software engineers.', - languages: { - value: 'en-GB', - source_value: 'string', - }, - }, - { - title: 'Software Engineer: A comprehensive guide', - description: 'This course acts as learning resource for software engineers.', - languages: { - value: 'en-US', - source_value: 'string', - }, - }, - ], - nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/LocalizationModel', - }, - }, - }, - }, LmsUser: { type: 'object', properties: { @@ -9095,9 +8227,17 @@ export const lmsSpec = { nullable: true, }, active: { - type: 'boolean', description: 'The user active status', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], nullable: true, }, created_at: { @@ -9424,9 +8564,17 @@ export const lmsSpec = { nullable: true, }, active: { - type: 'boolean', description: 'Whether the skill is active and therefore available for use', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], nullable: true, }, hierarchy: { diff --git a/src/openapi/generated/marketing.ts b/src/openapi/generated/marketing.ts index 339dc7c..104579d 100644 --- a/src/openapi/generated/marketing.ts +++ b/src/openapi/generated/marketing.ts @@ -5684,35 +5684,35 @@ export const marketingSpec = { tags: [ { name: 'Campaigns', - description: '', + description: 'Marketing campaigns and initiatives.', }, { name: 'Content Blocks', - description: '', + description: 'Reusable content blocks for marketing.', }, { name: 'Email', - description: '', + description: 'Email marketing messages.', }, { name: 'In App', - description: '', + description: 'In-app marketing messages.', }, { name: 'Omni-Channel', - description: '', + description: 'Omni-channel marketing communications.', }, { name: 'Push', - description: '', + description: 'Push notifications for marketing.', }, { name: 'SMS', - description: '', + description: 'SMS marketing messages.', }, { name: 'Templates', - description: '', + description: 'Templates for marketing content or campaigns.', }, ], servers: [ diff --git a/src/openapi/generated/messaging.ts b/src/openapi/generated/messaging.ts index 1d19470..c5bfa0c 100644 --- a/src/openapi/generated/messaging.ts +++ b/src/openapi/generated/messaging.ts @@ -679,7 +679,7 @@ export const messagingSpec = { }, }, }, - '/unified/messaging/attachments/{id}/download': { + '/unified/messaging/messages/{id}/attachments/{subResourceId}/download': { get: { operationId: 'messaging_download_messaging_attachment', parameters: [ @@ -700,6 +700,14 @@ export const messagingSpec = { type: 'string', }, }, + { + name: 'subResourceId', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'format', required: false, @@ -2187,6 +2195,410 @@ export const messagingSpec = { }, }, }, + '/unified/messaging/messages/{id}': { + get: { + operationId: 'messaging_get_message', + 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', + explode: true, + style: 'deepObject', + schema: { + type: 'object', + }, + }, + ], + responses: { + '200': { + description: 'The message was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/MessagingMessageResult', + }, + }, + }, + }, + '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 Message', + tags: ['Messages'], + 'x-speakeasy-group': 'messaging', + 'x-speakeasy-name-override': 'get_message', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/messaging/messages': { + post: { + operationId: 'messaging_send_message', + 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/MessagingMessageSendRequestDto', + }, + }, + }, + }, + responses: { + '201': { + description: 'The message was sent 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: 'Send Message', + tags: ['Messages'], + 'x-speakeasy-group': 'messaging', + 'x-speakeasy-name-override': 'send_message', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, }, info: { title: 'Messaging', @@ -2197,19 +2609,19 @@ export const messagingSpec = { tags: [ { name: 'Conversations', - description: '', + description: 'Spaces for exchanging messages between users.', }, { name: 'Messages', - description: '', + description: 'Messages exchanged in conversations.', }, { name: 'Attachments', - description: '', + description: 'Files attached to messages.', }, { name: 'Users', - description: '', + description: 'Accounts that can participate in conversations.', }, ], servers: [ @@ -2441,9 +2853,17 @@ export const messagingSpec = { nullable: true, }, active: { - type: 'boolean', description: 'The user active status', example: true, + oneOf: [ + { + type: 'boolean', + }, + { + type: 'string', + enum: ['true', 'false'], + }, + ], nullable: true, }, created_at: { @@ -2745,6 +3165,49 @@ export const messagingSpec = { }, }, }, + MessagingMessageResult: { + type: 'object', + properties: { + data: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/MessagingMessage', + }, + ], + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + MessagingMessageSendRequestDto: { + type: 'object', + properties: { + content: { + type: 'string', + description: 'Content body of the message', + example: 'Hello, world!', + nullable: true, + }, + recipient: { + type: 'string', + description: 'Can be a conversation ID, user ID, email or phone number.', + example: 'c28xyrc55866bvuv', + nullable: true, + }, + sender: { + type: 'string', + description: 'The account_id or phone number of the message sender', + example: '+34820398402', + nullable: true, + }, + }, + }, MessagingMessagesPaginated: { type: 'object', properties: { diff --git a/src/openapi/generated/screening.ts b/src/openapi/generated/screening.ts index 5c6f2ed..99bce4f 100644 --- a/src/openapi/generated/screening.ts +++ b/src/openapi/generated/screening.ts @@ -44,9 +44,10 @@ export const screeningSpec = { required: false, in: 'query', description: - 'The comma separated list of fields to return in the response (if empty, all fields are returned)', + '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: 'string', }, }, @@ -332,9 +333,10 @@ export const screeningSpec = { required: false, in: 'query', description: - 'The comma separated list of fields to return in the response (if empty, all fields are returned)', + '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: 'string', }, }, @@ -862,15 +864,15 @@ export const screeningSpec = { tags: [ { name: 'Orders', - description: '', + description: 'Requests for screening services.', }, { name: 'Results', - description: '', + description: 'Outcomes of screening services.', }, { name: 'Packages', - description: '', + description: 'Collections of screening services.', }, ], servers: [ diff --git a/src/openapi/generated/stackone.ts b/src/openapi/generated/stackone.ts index 8d51164..56ee5f1 100644 --- a/src/openapi/generated/stackone.ts +++ b/src/openapi/generated/stackone.ts @@ -2010,6 +2010,322 @@ export const stackoneSpec = { }, }, }, + '/requests/platform-logs': { + get: { + operationId: 'stackone_list_platform_logs', + parameters: [ + { + name: 'order_by', + required: false, + in: 'query', + description: 'The field to order the results by.', + 'x-speakeasy-unknown-values': 'allow', + schema: { + additionalProperties: false, + nullable: true, + example: 'created_at', + type: 'string', + enum: ['provider', 'service', 'status', 'eventDatetime', 'duration', null], + }, + }, + { + name: 'order_direction', + required: false, + in: 'query', + description: 'The direction to order the results by.', + 'x-speakeasy-unknown-values': 'allow', + schema: { + additionalProperties: false, + nullable: true, + example: 'asc', + type: 'string', + enum: ['asc', 'desc', null], + }, + }, + { + name: 'page_size', + required: false, + in: 'query', + description: 'The number of results per page (default value is 25)', + schema: { + maximum: 100, + nullable: true, + type: 'number', + }, + }, + { + name: 'next', + required: false, + in: 'query', + description: 'The unified cursor', + schema: { + nullable: true, + type: 'string', + }, + }, + { + name: 'filter', + required: false, + in: 'query', + description: 'Filter parameters that allow greater customisation of the list response', + schema: { + properties: { + account_ids: { + description: 'A comma-separated list of account IDs to filter the results by.', + example: '45355976281015164504,45355976281015164505', + type: 'string', + nullable: true, + additionalProperties: false, + }, + start_date: { + description: 'A ISO8601 date string to filter the results by start_date.', + example: '2020-01-01T00:00:00.000Z', + type: 'string', + nullable: true, + additionalProperties: false, + }, + end_date: { + description: 'A ISO8601 date string to filter the results by end_date.', + example: '2020-01-01T00:00:00.000Z', + type: 'string', + nullable: true, + additionalProperties: false, + }, + request_ids: { + description: 'A comma-separated list of request IDs to filter the results by.', + example: + 'adbf752f-6457-4ddd-89b3-98ae2252b83b,adbf752f-6457-4ddd-89b3-98ae2252b83c', + type: 'string', + 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', + type: 'string', + nullable: true, + additionalProperties: false, + }, + categories: { + description: 'A comma-separated list of categories to filter the results by.', + example: 'hris,ats', + type: 'string', + nullable: true, + additionalProperties: false, + }, + resources: { + description: 'A comma-separated list of resources to filter the results by.', + example: 'employees,users', + type: 'string', + nullable: true, + additionalProperties: false, + }, + actions: { + description: 'A comma-separated list of actions to filter the results by.', + example: 'download,upload', + type: 'string', + nullable: true, + additionalProperties: false, + }, + status_codes: { + description: 'A comma-separated list of status codes to filter the results by.', + example: '200,400', + type: 'string', + nullable: true, + additionalProperties: false, + }, + success: { + description: 'A boolean value to filter the results by success or failure.', + example: true, + type: 'boolean', + nullable: true, + additionalProperties: false, + }, + order_by: { + description: 'The field to order the results by.', + example: 'created_at', + type: 'string', + nullable: true, + enum: ['provider', 'service', 'status', 'eventDatetime', 'duration', null], + additionalProperties: false, + }, + order_direction: { + description: 'The direction to order the results by.', + example: 'asc', + type: 'string', + nullable: true, + enum: ['asc', 'desc', null], + additionalProperties: false, + }, + }, + nullable: true, + type: 'object', + }, + }, + ], + responses: { + '200': { + description: 'The list of platform logs was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/PlatformLogsPaginated', + }, + }, + }, + }, + '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: 'List Platform Logs', + tags: ['Request Logs'], + 'x-speakeasy-name-override': 'list_platform_logs', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, '/connectors/meta': { get: { operationId: 'stackone_list_connectors_meta', @@ -2522,32 +2838,33 @@ export const stackoneSpec = { }, tags: [ { - name: 'AI', - description: '', + name: 'Accounts', + description: 'View and manage linked accounts.', }, { - name: 'Accounts', - description: '', + name: 'AI', + description: 'AI-powered features.', }, { name: 'Connect Sessions', - description: '', + description: + 'Generate connection session tokens or auth URLs to allow your customers to connect their accounts.', }, { name: 'Connectors', - description: '', + description: 'Retrieve metadata for connectors.', }, { name: 'Proxy', - description: '', + description: 'Routing API requests through StackOne directly to the underlying provider.', }, { name: 'Request Logs', - description: '', + description: 'API requests and response logs.', }, { name: 'Webhooks', - description: '', + description: 'Configure and manage webhooks.', }, ], servers: [ @@ -2836,6 +3153,7 @@ export const stackoneSpec = { 'ticketing', 'screening', 'messaging', + 'accounting', ], example: 'hris', description: 'The provider service category', @@ -2966,6 +3284,7 @@ export const stackoneSpec = { 'ticketing', 'screening', 'messaging', + 'accounting', ], 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -2984,6 +3303,7 @@ export const stackoneSpec = { 'ticketing', 'screening', 'messaging', + 'accounting', null, ], }, @@ -3026,6 +3346,14 @@ export const stackoneSpec = { example: 'f0bc3d88-2178-5423-8c81-b81d6c9da824', nullable: true, }, + type: { + type: 'string', + description: 'The connect session account type', + enum: ['production', 'test', 'unmapped_value', null], + example: ['PRODUCTION', 'TEST'], + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, }, required: [ 'id', @@ -3065,6 +3393,7 @@ export const stackoneSpec = { 'ticketing', 'screening', 'messaging', + 'accounting', ], 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -3083,6 +3412,7 @@ export const stackoneSpec = { 'ticketing', 'screening', 'messaging', + 'accounting', null, ], }, @@ -3140,6 +3470,15 @@ export const stackoneSpec = { 'The label to be applied to the account associated with this connect session.', nullable: true, }, + type: { + type: 'string', + description: 'The connect session account type', + enum: ['production', 'test', null], + example: ['PRODUCTION', 'TEST'], + default: 'production', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, }, required: ['origin_owner_id', 'origin_owner_name'], }, @@ -3170,6 +3509,7 @@ export const stackoneSpec = { 'ticketing', 'screening', 'messaging', + 'accounting', ], 'x-speakeasy-unknown-values': 'allow', nullable: true, @@ -3188,6 +3528,7 @@ export const stackoneSpec = { 'ticketing', 'screening', 'messaging', + 'accounting', null, ], }, @@ -3230,6 +3571,14 @@ export const stackoneSpec = { example: 'f0bc3d88-2178-5423-8c81-b81d6c9da824', nullable: true, }, + type: { + type: 'string', + description: 'The connect session account type', + enum: ['production', 'test', 'unmapped_value', null], + example: ['PRODUCTION', 'TEST'], + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, token: { type: 'string', }, @@ -3370,6 +3719,14 @@ export const stackoneSpec = { format: 'date-time', type: 'string', }, + type: { + type: 'string', + description: 'The account type', + enum: ['production', 'test', 'unmapped_value', null], + example: ['PRODUCTION', 'TEST'], + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, }, required: [ 'id', @@ -3402,6 +3759,7 @@ export const stackoneSpec = { 'ticketing', 'screening', 'messaging', + 'accounting', ], 'x-speakeasy-unknown-values': 'allow', }, @@ -3507,7 +3865,166 @@ export const stackoneSpec = { additionalProperties: false, nullable: true, }, + type: { + type: 'string', + description: 'The account type', + enum: ['production', 'test', null], + example: ['PRODUCTION', 'TEST'], + default: 'production', + 'x-speakeasy-unknown-values': 'allow', + nullable: true, + }, + }, + }, + PlatformLog: { + 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, + }, + 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, + }, + 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, + }, + source_ip: { + type: 'string', + description: 'The requests source IPV4 ip address', + example: '192.168.1.1', + nullable: true, + }, + category: { + type: 'string', + description: 'The requested category', + example: 'hris', + nullable: true, + }, + }, + }, + PlatformLogsPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + type: 'array', + items: { + $ref: '#/components/schemas/PlatformLog', + }, + }, }, + required: ['data'], }, PreconditionFailedResponse: { type: 'object', @@ -3758,6 +4275,12 @@ export const stackoneSpec = { example: false, nullable: true, }, + source_ip: { + type: 'string', + description: 'The requests source IPV4 ip address', + example: '192.168.1.1', + nullable: true, + }, id: { type: 'string', description: 'The provider request ID', @@ -4156,6 +4679,12 @@ export const stackoneSpec = { }, ], }, + source_ip: { + type: 'string', + description: 'The requests source IPV4 ip address', + example: '192.168.1.1', + nullable: true, + }, step_requests: { type: 'array', description: 'The list of provider requests', @@ -4320,6 +4849,12 @@ export const stackoneSpec = { example: '1234567890', nullable: true, }, + source_ip: { + type: 'string', + description: 'The requests source IPV4 ip address', + example: '192.168.1.1', + nullable: true, + }, step_requests: { type: 'array', description: 'The list of provider requests', diff --git a/src/openapi/generated/ticketing.ts b/src/openapi/generated/ticketing.ts index 7e71820..9529a34 100644 --- a/src/openapi/generated/ticketing.ts +++ b/src/openapi/generated/ticketing.ts @@ -5,6 +5,7 @@ export const ticketingSpec = { paths: { '/unified/ticketing/tickets': { get: { + description: 'Retrieve a paginated list of tickets.', operationId: 'ticketing_list_tickets', parameters: [ { @@ -50,7 +51,7 @@ export const ticketingSpec = { 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', + '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,projects,components,organization,created_at,updated_at', type: 'string', }, }, @@ -289,6 +290,7 @@ export const ticketingSpec = { }, }, post: { + description: 'Create a new ticket record.', operationId: 'ticketing_create_ticket', parameters: [ { @@ -468,6 +470,7 @@ export const ticketingSpec = { }, '/unified/ticketing/tickets/{id}': { get: { + description: 'Retrieve a single ticket by its identifier.', operationId: 'ticketing_get_ticket', parameters: [ { @@ -521,7 +524,7 @@ export const ticketingSpec = { 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', + '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,projects,components,organization,created_at,updated_at', type: 'string', }, }, @@ -681,6 +684,7 @@ export const ticketingSpec = { }, }, patch: { + description: 'Update an existing ticket record by its identifier.', operationId: 'ticketing_update_ticket', parameters: [ { @@ -868,6 +872,7 @@ export const ticketingSpec = { }, '/unified/ticketing/users': { get: { + description: 'Retrieve a paginated list of users.', operationId: 'ticketing_list_users', parameters: [ { @@ -1154,6 +1159,7 @@ export const ticketingSpec = { }, '/unified/ticketing/users/{id}': { get: { + description: 'Retrieve a single user by their identifier.', operationId: 'ticketing_get_user', parameters: [ { @@ -1369,6 +1375,7 @@ export const ticketingSpec = { }, '/unified/ticketing/tickets/{id}/comments': { get: { + description: 'Retrieve a paginated list of comments for a ticket.', operationId: 'ticketing_list_comments', parameters: [ { @@ -1663,6 +1670,7 @@ export const ticketingSpec = { }, '/unified/ticketing/tickets/{id}/comments/{subResourceId}': { get: { + description: 'Retrieve a single comment by its identifier for a ticket.', operationId: 'ticketing_get_comment', parameters: [ { @@ -1886,6 +1894,7 @@ export const ticketingSpec = { }, '/unified/ticketing/tickets/{id}/attachments/{subResourceId}/download': { get: { + description: 'Download the attachment file from a ticket.', operationId: 'ticketing_download_ticketing_attachment', parameters: [ { @@ -2095,6 +2104,7 @@ export const ticketingSpec = { }, '/unified/ticketing/tickets/{id}/attachments': { get: { + description: 'Retrieve a paginated list of attachment details for a ticket.', operationId: 'ticketing_list_attachments', parameters: [ { @@ -2389,6 +2399,7 @@ export const ticketingSpec = { }, '/unified/ticketing/tickets/{id}/attachments/{subResourceId}': { get: { + description: 'Retrieve the details of a single attachment for a ticket.', operationId: 'ticketing_get_attachment', parameters: [ { @@ -2612,6 +2623,7 @@ export const ticketingSpec = { }, '/unified/ticketing/ticket_types': { get: { + description: 'Retrieve a paginated list of all ticket types.', operationId: 'ticketing_list_ticket_types', parameters: [ { @@ -2656,7 +2668,7 @@ export const ticketingSpec = { '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', + example: 'id,remote_id,name,project_id,remote_project_id', type: 'string', }, }, @@ -2897,6 +2909,7 @@ export const ticketingSpec = { }, '/unified/ticketing/ticket_types/{id}': { get: { + description: 'Retrieve a single ticket type by its identifier.', operationId: 'ticketing_get_ticket_type', parameters: [ { @@ -2949,7 +2962,7 @@ export const ticketingSpec = { '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', + example: 'id,remote_id,name,project_id,remote_project_id', type: 'string', }, }, @@ -3109,9 +3122,10 @@ export const ticketingSpec = { }, }, }, - '/unified/ticketing/collections': { + '/unified/ticketing/projects': { get: { - operationId: 'ticketing_list_collections', + description: 'Retrieve a paginated list of projects.', + operationId: 'ticketing_list_projects', parameters: [ { name: 'x-account-id', @@ -3156,7 +3170,7 @@ export const ticketingSpec = { 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', + 'id,remote_id,organization_id,remote_organization_id,name,description,created_at,updated_at', type: 'string', }, }, @@ -3164,7 +3178,518 @@ export const ticketingSpec = { name: 'filter', required: false, in: 'query', - description: 'Ticketing Collections filters', + 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 projects was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingProjectsPaginated', + }, + }, + }, + }, + '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 Projects', + tags: ['Projects'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'list_projects', + '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/projects/{id}': { + get: { + description: 'Retrieve a single project by its identifier.', + operationId: 'ticketing_get_project', + 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,name,description,created_at,updated_at', + type: 'string', + }, + }, + ], + responses: { + '200': { + description: 'The project with the given identifier was retrieved.', + content: { + 'application/json': { + schema: { + $ref: '#/components/schemas/TicketingProjectResult', + }, + }, + }, + }, + '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 Project', + tags: ['Projects'], + 'x-speakeasy-group': 'ticketing', + 'x-speakeasy-name-override': 'get_project', + 'x-speakeasy-retries': { + statusCodes: [429, 408], + strategy: 'backoff', + }, + }, + }, + '/unified/ticketing/projects/{id}/components': { + get: { + description: 'Retrieve a paginated list of project components.', + operationId: 'ticketing_list_project_components', + 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,project_id,remote_project_id,name,description,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: { @@ -3177,12 +3702,6 @@ export const ticketingSpec = { nullable: true, additionalProperties: false, }, - type: { - description: 'Filter collections by type', - enum: ['project', 'component', null], - type: 'string', - nullable: true, - }, }, nullable: true, type: 'object', @@ -3235,11 +3754,11 @@ export const ticketingSpec = { ], responses: { '200': { - description: 'The list of collections was retrieved.', + description: 'The list of project components was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TicketingCollectionsPaginated', + $ref: '#/components/schemas/TicketingComponentsPaginated', }, }, }, @@ -3378,10 +3897,10 @@ export const ticketingSpec = { basic: [], }, ], - summary: 'List Collections', - tags: ['Collections'], + summary: 'List Project Components', + tags: ['Projects', 'Components'], 'x-speakeasy-group': 'ticketing', - 'x-speakeasy-name-override': 'list_collections', + 'x-speakeasy-name-override': 'list_project_components', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -3401,9 +3920,10 @@ export const ticketingSpec = { }, }, }, - '/unified/ticketing/collections/{id}': { + '/unified/ticketing/projects/{id}/components/{subResourceId}': { get: { - operationId: 'ticketing_get_collection', + description: 'Retrieve a single project component by its identifier.', + operationId: 'ticketing_get_project_component', parameters: [ { name: 'x-account-id', @@ -3422,6 +3942,14 @@ export const ticketingSpec = { type: 'string', }, }, + { + name: 'subResourceId', + required: true, + in: 'path', + schema: { + type: 'string', + }, + }, { name: 'raw', required: false, @@ -3456,18 +3984,18 @@ export const ticketingSpec = { 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', + 'id,remote_id,organization_id,remote_organization_id,project_id,remote_project_id,name,description,created_at,updated_at', type: 'string', }, }, ], responses: { '200': { - description: 'The collection with the given identifier was retrieved.', + description: 'The project component with the given identifier was retrieved.', content: { 'application/json': { schema: { - $ref: '#/components/schemas/TicketingCollectionResult', + $ref: '#/components/schemas/TicketingComponentResult', }, }, }, @@ -3606,19 +4134,20 @@ export const ticketingSpec = { basic: [], }, ], - summary: 'Get Collection', - tags: ['Collections'], + summary: 'Get Project Component', + tags: ['Projects', 'Components'], 'x-speakeasy-group': 'ticketing', - 'x-speakeasy-name-override': 'get_collection', + 'x-speakeasy-name-override': 'get_project_component', 'x-speakeasy-retries': { statusCodes: [429, 408], strategy: 'backoff', }, }, }, - '/unified/ticketing/collections/{id}/ticket_types': { + '/unified/ticketing/projects/{id}/ticket_types': { get: { - operationId: 'ticketing_list_collection_ticket_types', + description: 'Retrieve a paginated list of ticket types for a project.', + operationId: 'ticketing_list_project_ticket_types', parameters: [ { name: 'x-account-id', @@ -3670,7 +4199,7 @@ export const ticketingSpec = { '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', + example: 'id,remote_id,name,project_id,remote_project_id', type: 'string', }, }, @@ -3743,7 +4272,7 @@ export const ticketingSpec = { ], responses: { '200': { - description: 'The list of collection ticket types was retrieved.', + description: 'The list of project ticket types was retrieved.', content: { 'application/json': { schema: { @@ -3886,10 +4415,10 @@ export const ticketingSpec = { basic: [], }, ], - summary: 'List Collection Ticket Types', - tags: ['Collections', 'Ticket Types'], + summary: 'List Project Ticket Types', + tags: ['Projects', 'Ticket Types'], 'x-speakeasy-group': 'ticketing', - 'x-speakeasy-name-override': 'list_collection_ticket_types', + 'x-speakeasy-name-override': 'list_project_ticket_types', 'x-speakeasy-pagination': { type: 'cursor', inputs: [ @@ -3911,6 +4440,7 @@ export const ticketingSpec = { }, '/unified/ticketing/tickets/{id}/statuses': { get: { + description: 'Retrieve a paginated list of statuses for a ticket.', operationId: 'ticketing_list_ticket_statuses', parameters: [ { @@ -4211,31 +4741,40 @@ export const ticketingSpec = { tags: [ { name: 'Tickets', - description: '', + description: 'Requests for support, assistance, or resolution.', }, { name: 'Users', - description: '', + description: 'Accounts that can create or work on tickets.', }, { name: 'Comments', - description: '', + description: 'Notes or messages added to tickets.', }, { name: 'Attachments', - description: '', + description: 'Files attached to tickets.', }, { name: 'Ticket Types', - description: '', + description: 'Types or categories of tickets.', }, { name: 'Collections', - description: '', + description: 'Groupings in which related tickets can be classified under.', + }, + { + name: 'Projects', + description: 'The top level grouping of tickets.', + }, + { + name: 'Components', + description: + 'A sub grouping under projects in which related tickets can be classified together.', }, { name: 'Ticket Statuses', - description: '', + description: 'Statuses representing ticket progress.', }, ], servers: [ @@ -5949,7 +6488,7 @@ export const ticketingSpec = { }, }, }, - TicketingCollection: { + TicketingComment: { type: 'object', properties: { id: { @@ -5964,43 +6503,30 @@ export const ticketingSpec = { 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: { + ticket_id: { type: 'string', - description: 'The description of the collection', - example: 'Description of the project', - nullable: true, + description: 'The ticket ID associated with the comment', + example: 'ticket-001', }, - key: { + user_id: { type: 'string', - description: 'The user-friendly key of the collection', - example: 'project-falcon', + description: 'The user who created the comment', + example: 'user-001', nullable: true, }, - type: { - type: 'string', - enum: ['project', 'component', 'unmapped_value', null], - description: 'The type of the collection.', - example: 'project', - 'x-speakeasy-unknown-values': 'allow', + internal: { + type: 'boolean', + description: 'Whether the comment is internal', + example: false, nullable: true, }, - organization_id: { - type: 'string', - description: 'The organization id related to the collection', - example: 'organization-001', + content: { + description: 'Array of content associated with the comment', nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingContent', + }, }, created_at: { type: 'string', @@ -6017,15 +6543,16 @@ export const ticketingSpec = { nullable: true, }, }, + required: ['ticket_id'], }, - TicketingCollectionResult: { + TicketingCommentResult: { type: 'object', properties: { data: { nullable: true, allOf: [ { - $ref: '#/components/schemas/TicketingCollection', + $ref: '#/components/schemas/TicketingComment', }, ], }, @@ -6038,7 +6565,7 @@ export const ticketingSpec = { }, }, }, - TicketingCollectionsPaginated: { + TicketingCommentsPaginated: { type: 'object', properties: { next: { @@ -6049,7 +6576,7 @@ export const ticketingSpec = { nullable: true, type: 'array', items: { - $ref: '#/components/schemas/TicketingCollection', + $ref: '#/components/schemas/TicketingComment', }, }, raw: { @@ -6061,7 +6588,7 @@ export const ticketingSpec = { }, }, }, - TicketingComment: { + TicketingComponent: { type: 'object', properties: { id: { @@ -6076,30 +6603,29 @@ export const ticketingSpec = { example: '8187e5da-dc77-475e-9949-af0f1fa4e4e3', nullable: true, }, - ticket_id: { + organization_id: { type: 'string', - description: 'The ticket ID associated with the comment', - example: 'ticket-001', + description: 'The organization id related to the component', + example: 'organization-001', + nullable: true, }, - user_id: { + project_id: { type: 'string', - description: 'The user who created the comment', - example: 'user-001', + description: 'The project id related to the component', + example: 'project-001', nullable: true, }, - internal: { - type: 'boolean', - description: 'Whether the comment is internal', - example: false, + name: { + type: 'string', + description: 'The name of the component', + example: 'Component Falcon', nullable: true, }, - content: { - description: 'Array of content associated with the comment', + description: { + type: 'string', + description: 'The description of the component', + example: 'Description of the component', nullable: true, - type: 'array', - items: { - $ref: '#/components/schemas/TicketingContent', - }, }, created_at: { type: 'string', @@ -6116,16 +6642,15 @@ export const ticketingSpec = { nullable: true, }, }, - required: ['ticket_id'], }, - TicketingCommentResult: { + TicketingComponentResult: { type: 'object', properties: { data: { nullable: true, allOf: [ { - $ref: '#/components/schemas/TicketingComment', + $ref: '#/components/schemas/TicketingComponent', }, ], }, @@ -6138,7 +6663,7 @@ export const ticketingSpec = { }, }, }, - TicketingCommentsPaginated: { + TicketingComponentsPaginated: { type: 'object', properties: { next: { @@ -6149,7 +6674,7 @@ export const ticketingSpec = { nullable: true, type: 'array', items: { - $ref: '#/components/schemas/TicketingComment', + $ref: '#/components/schemas/TicketingComponent', }, }, raw: { @@ -6207,6 +6732,98 @@ export const ticketingSpec = { }, }, }, + TicketingProject: { + 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', + description: 'The name of the project', + example: 'Project Falcon', + nullable: true, + }, + description: { + type: 'string', + description: 'The description of the project', + example: 'Description of the project', + nullable: true, + }, + organization_id: { + type: 'string', + description: 'The organization id related to the project', + 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, + }, + }, + }, + TicketingProjectResult: { + type: 'object', + properties: { + data: { + nullable: true, + allOf: [ + { + $ref: '#/components/schemas/TicketingProject', + }, + ], + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, + TicketingProjectsPaginated: { + type: 'object', + properties: { + next: { + type: 'string', + nullable: true, + }, + data: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingProject', + }, + }, + raw: { + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/RawResponse', + }, + }, + }, + }, TicketingReadTicket: { type: 'object', properties: { @@ -6294,12 +6911,12 @@ export const ticketingSpec = { type: 'string', }, }, - collections: { - description: 'Collections the ticket belongs to', + projects: { + description: 'Projects the ticket belongs to', nullable: true, type: 'array', items: { - $ref: '#/components/schemas/TicketingCollection', + $ref: '#/components/schemas/TicketingProject', }, }, ticket_number: { @@ -6348,6 +6965,14 @@ export const ticketingSpec = { }, ], }, + components: { + description: 'Components associated with the ticket', + nullable: true, + type: 'array', + items: { + $ref: '#/components/schemas/TicketingComponent', + }, + }, created_at: { type: 'string', description: 'The timestamp when the record was created', @@ -6439,25 +7064,28 @@ export const ticketingSpec = { type: 'string', }, }, - collection_ids: { - description: 'Collections the ticket belongs to', - example: ['collection-001', 'collection-002'], + organization_id: { + type: 'string', + description: 'Organization associated with the ticket', + example: 'organization-001', nullable: true, - type: 'array', - items: { - type: 'string', - }, }, - type: { + project_id: { type: 'string', - description: 'The type of the ticket', - example: 'ticket-type-001', + description: 'Project the ticket belongs to', + example: 'project-001', nullable: true, }, - organization_id: { + component_ids: { type: 'string', - description: 'Organization associated with the ticket', - example: 'organization-001', + description: 'Components to associate with the ticket', + example: ['component-001', 'component-002'], + nullable: true, + }, + type: { + type: 'string', + description: 'The type of the ticket', + example: 'ticket-type-001', nullable: true, }, }, @@ -6647,10 +7275,10 @@ export const ticketingSpec = { example: 'Task', nullable: true, }, - parent_collection_id: { + project_id: { type: 'string', - description: 'The collection the ticket type belongs to.', - example: 'collection-001', + description: 'The project the ticket type belongs to.', + example: 'project-001', nullable: true, }, }, @@ -6767,14 +7395,17 @@ export const ticketingSpec = { type: 'string', }, }, - collection_ids: { - description: 'Collections the ticket belongs to', - example: ['collection-001', 'collection-002'], + project_id: { + type: 'string', + description: 'Project the ticket belongs to', + example: 'project-001', + nullable: true, + }, + component_ids: { + type: 'string', + description: 'Components to associate with the ticket', + example: ['component-001', 'component-002'], nullable: true, - type: 'array', - items: { - type: 'string', - }, }, status: { description: 'Current status of the ticket',